Supplement test cases for 2.19 ~ 2.22 schema tags. (#857)

Add test cases for the event handler for schema tags; does not include test cases for Node because specialized tag handling is not implemented yet.
This commit is contained in:
Chen
2020-05-13 02:20:45 +08:00
committed by GitHub
parent a98b8af448
commit 4b98aedc16
2 changed files with 89 additions and 2 deletions

View File

@@ -347,7 +347,72 @@ TEST_F(HandlerSpecTest, Ex2_18_MultiLineFlowScalars) {
Parse(ex2_18);
}
// TODO: 2.19 - 2.22 schema tags
TEST_F(HandlerSpecTest, Ex2_19_Integers) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "canonical"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "12345"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "decimal"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "+12345"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "octal"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0o14"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "hexadecimal"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "0xC"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex2_19);
}
TEST_F(HandlerSpecTest, Ex2_20_FloatingPoint) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "canonical"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "1.23015e+3"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "exponential"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "12.3015e+02"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "fixed"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "1230.15"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "negative infinity"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "-.inf"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "not a number"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, ".NaN"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex2_20);
}
TEST_F(HandlerSpecTest, Ex2_21_Miscellaneous) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnNull(_, 0));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "booleans"));
EXPECT_CALL(handler, OnSequenceStart(_, "?", 0, EmitterStyle::Flow));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "true"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "false"));
EXPECT_CALL(handler, OnSequenceEnd());
EXPECT_CALL(handler, OnScalar(_, "?", 0, "string"));
EXPECT_CALL(handler, OnScalar(_, "!", 0, "012345"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex2_21);
}
TEST_F(HandlerSpecTest, Ex2_22_Timestamps) {
EXPECT_CALL(handler, OnDocumentStart(_));
EXPECT_CALL(handler, OnMapStart(_, "?", 0, EmitterStyle::Block));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "canonical"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-12-15T02:59:43.1Z"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "iso8601"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-12-14t21:59:43.10-05:00"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "spaced"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2001-12-14 21:59:43.10 -5"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "date"));
EXPECT_CALL(handler, OnScalar(_, "?", 0, "2002-12-14"));
EXPECT_CALL(handler, OnMapEnd());
EXPECT_CALL(handler, OnDocumentEnd());
Parse(ex2_22);
}
TEST_F(HandlerSpecTest, Ex2_23_VariousExplicitTags) {
EXPECT_CALL(handler, OnDocumentStart(_));

View File

@@ -154,7 +154,29 @@ const char *ex2_18 =
"quoted: \"So does this\n"
" quoted scalar.\\n\"";
// TODO: 2.19 - 2.22 schema tags
const char *ex2_19 =
"canonical: 12345\n"
"decimal: +12345\n"
"octal: 0o14\n"
"hexadecimal: 0xC\n";
const char *ex2_20 =
"canonical: 1.23015e+3\n"
"exponential: 12.3015e+02\n"
"fixed: 1230.15\n"
"negative infinity: -.inf\n"
"not a number: .NaN\n";
const char *ex2_21 =
"null:\n"
"booleans: [ true, false ]\n"
"string: '012345'\n";
const char *ex2_22 =
"canonical: 2001-12-15T02:59:43.1Z\n"
"iso8601: 2001-12-14t21:59:43.10-05:00\n"
"spaced: 2001-12-14 21:59:43.10 -5\n"
"date: 2002-12-14\n";
const char *ex2_23 =
"---\n"