Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
yaml-cpp
Commits
7d572090
Commit
7d572090
authored
May 19, 2012
by
Jesse Beder
Browse files
Added 7.x tests
parent
4086c285
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
286 additions
and
24 deletions
+286
-24
test/core/spectests.cpp
test/core/spectests.cpp
+286
-24
No files found.
test/core/spectests.cpp
View file @
7d572090
...
...
@@ -1354,145 +1354,407 @@ namespace Test {
// 7.1
TEST
AliasNodes
()
{
return
" not written yet"
;
HANDLE
(
ex7_1
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"First occurrence"
);
EXPECT_SCALAR
(
"?"
,
1
,
"Foo"
);
EXPECT_SCALAR
(
"?"
,
0
,
"Second occurrence"
);
EXPECT_ALIAS
(
1
);
EXPECT_SCALAR
(
"?"
,
0
,
"Override anchor"
);
EXPECT_SCALAR
(
"?"
,
2
,
"Bar"
);
EXPECT_SCALAR
(
"?"
,
0
,
"Reuse anchor"
);
EXPECT_ALIAS
(
2
);
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.2
TEST
EmptyNodes
()
{
return
" not written yet"
;
HANDLE
(
ex7_2
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"foo"
);
EXPECT_SCALAR
(
"tag:yaml.org,2002:str"
,
0
,
""
);
EXPECT_SCALAR
(
"tag:yaml.org,2002:str"
,
0
,
""
);
EXPECT_SCALAR
(
"?"
,
0
,
"bar"
);
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.3
TEST
CompletelyEmptyNodes
()
{
return
" not written yet"
;
HANDLE
(
ex7_3
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"foo"
);
EXPECT_NULL
(
0
);
EXPECT_NULL
(
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"bar"
);
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.4
TEST
DoubleQuotedImplicitKeys
()
{
return
" not written yet"
;
HANDLE
(
ex7_4
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"!"
,
0
,
"implicit block key"
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"!"
,
0
,
"implicit flow key"
);
EXPECT_SCALAR
(
"?"
,
0
,
"value"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.5
TEST
DoubleQuotedLineBreaks
()
{
return
" not written yet"
;
HANDLE
(
ex7_5
);
EXPECT_DOC_START
();
EXPECT_SCALAR
(
"!"
,
0
,
"folded to a space,
\n
to a line feed, or
\t
\t
non-content"
);
EXPECT_DOC_END
();
DONE
();
}
// 7.6
TEST
DoubleQuotedLines
()
{
return
" not written yet"
;
HANDLE
(
ex7_6
);
EXPECT_DOC_START
();
EXPECT_SCALAR
(
"!"
,
0
,
" 1st non-empty
\n
2nd non-empty 3rd non-empty "
);
EXPECT_DOC_END
();
DONE
();
}
// 7.7
TEST
SingleQuotedCharacters
()
{
return
" not written yet"
;
HANDLE
(
ex7_7
);
EXPECT_DOC_START
();
EXPECT_SCALAR
(
"!"
,
0
,
"here's to
\"
quotes
\"
"
);
EXPECT_DOC_END
();
DONE
();
}
// 7.8
TEST
SingleQuotedImplicitKeys
()
{
return
" not written yet"
;
HANDLE
(
ex7_8
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"!"
,
0
,
"implicit block key"
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"!"
,
0
,
"implicit flow key"
);
EXPECT_SCALAR
(
"?"
,
0
,
"value"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.9
TEST
SingleQuotedLines
()
{
return
" not written yet"
;
HANDLE
(
ex7_9
);
EXPECT_DOC_START
();
EXPECT_SCALAR
(
"!"
,
0
,
" 1st non-empty
\n
2nd non-empty 3rd non-empty "
);
EXPECT_DOC_END
();
DONE
();
}
// 7.10
TEST
PlainCharacters
()
{
return
" not written yet"
;
HANDLE
(
ex7_10
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"::vector"
);
EXPECT_SCALAR
(
"!"
,
0
,
": - ()"
);
EXPECT_SCALAR
(
"?"
,
0
,
"Up, up, and away!"
);
EXPECT_SCALAR
(
"?"
,
0
,
"-123"
);
EXPECT_SCALAR
(
"?"
,
0
,
"http://example.com/foo#bar"
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"::vector"
);
EXPECT_SCALAR
(
"!"
,
0
,
": - ()"
);
EXPECT_SCALAR
(
"!"
,
0
,
"Up, up, and away!"
);
EXPECT_SCALAR
(
"?"
,
0
,
"-123"
);
EXPECT_SCALAR
(
"?"
,
0
,
"http://example.com/foo#bar"
);
EXPECT_SEQ_END
();
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.11
TEST
PlainImplicitKeys
()
{
return
" not written yet"
;
HANDLE
(
ex7_11
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"implicit block key"
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"implicit flow key"
);
EXPECT_SCALAR
(
"?"
,
0
,
"value"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.12
TEST
PlainLines
()
{
return
" not written yet"
;
HANDLE
(
ex7_12
);
EXPECT_DOC_START
();
EXPECT_SCALAR
(
"?"
,
0
,
"1st non-empty
\n
2nd non-empty 3rd non-empty"
);
EXPECT_DOC_END
();
DONE
();
}
// 7.13
TEST
FlowSequence
()
{
return
" not written yet"
;
HANDLE
(
ex7_13
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"one"
);
EXPECT_SCALAR
(
"?"
,
0
,
"two"
);
EXPECT_SEQ_END
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"three"
);
EXPECT_SCALAR
(
"?"
,
0
,
"four"
);
EXPECT_SEQ_END
();
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.14
TEST
FlowSequenceEntries
()
{
return
" not written yet"
;
HANDLE
(
ex7_14
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"!"
,
0
,
"double quoted"
);
EXPECT_SCALAR
(
"!"
,
0
,
"single quoted"
);
EXPECT_SCALAR
(
"?"
,
0
,
"plain text"
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"nested"
);
EXPECT_SEQ_END
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"single"
);
EXPECT_SCALAR
(
"?"
,
0
,
"pair"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.15
TEST
FlowMappings
()
{
return
" not written yet"
;
HANDLE
(
ex7_15
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"one"
);
EXPECT_SCALAR
(
"?"
,
0
,
"two"
);
EXPECT_SCALAR
(
"?"
,
0
,
"three"
);
EXPECT_SCALAR
(
"?"
,
0
,
"four"
);
EXPECT_MAP_END
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"five"
);
EXPECT_SCALAR
(
"?"
,
0
,
"six"
);
EXPECT_SCALAR
(
"?"
,
0
,
"seven"
);
EXPECT_SCALAR
(
"?"
,
0
,
"eight"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.16
TEST
FlowMappingEntries
()
{
return
" not written yet"
;
HANDLE
(
ex7_16
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"explicit"
);
EXPECT_SCALAR
(
"?"
,
0
,
"entry"
);
EXPECT_SCALAR
(
"?"
,
0
,
"implicit"
);
EXPECT_SCALAR
(
"?"
,
0
,
"entry"
);
EXPECT_NULL
(
0
);
EXPECT_NULL
(
0
);
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.17
TEST
FlowMappingSeparateValues
()
{
return
" not written yet"
;
HANDLE
(
ex7_17
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"unquoted"
);
EXPECT_SCALAR
(
"!"
,
0
,
"separate"
);
EXPECT_SCALAR
(
"?"
,
0
,
"http://foo.com"
);
EXPECT_NULL
(
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"omitted value"
);
EXPECT_NULL
(
0
);
EXPECT_NULL
(
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"omitted key"
);
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.18
TEST
FlowMappingAdjacentValues
()
{
return
" not written yet"
;
HANDLE
(
ex7_18
);
EXPECT_DOC_START
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"!"
,
0
,
"adjacent"
);
EXPECT_SCALAR
(
"?"
,
0
,
"value"
);
EXPECT_SCALAR
(
"!"
,
0
,
"readable"
);
EXPECT_SCALAR
(
"?"
,
0
,
"value"
);
EXPECT_SCALAR
(
"!"
,
0
,
"empty"
);
EXPECT_NULL
(
0
);
EXPECT_MAP_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.19
TEST
SinglePairFlowMappings
()
{
return
" not written yet"
;
HANDLE
(
ex7_19
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"foo"
);
EXPECT_SCALAR
(
"?"
,
0
,
"bar"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.20
TEST
SinglePairExplicitEntry
()
{
return
" not written yet"
;
HANDLE
(
ex7_20
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"foo bar"
);
EXPECT_SCALAR
(
"?"
,
0
,
"baz"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.21
TEST
SinglePairImplicitEntries
()
{
return
" not written yet"
;
HANDLE
(
ex7_21
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"YAML"
);
EXPECT_SCALAR
(
"?"
,
0
,
"separate"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_NULL
(
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"empty key entry"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"JSON"
);
EXPECT_SCALAR
(
"?"
,
0
,
"like"
);
EXPECT_MAP_END
();
EXPECT_SCALAR
(
"?"
,
0
,
"adjacent"
);
EXPECT_MAP_END
();
EXPECT_SEQ_END
();
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.22
TEST
InvalidImplicitKeys
()
{
return
" not written yet"
;
try
{
HANDLE
(
ex7_22
);
}
catch
(
const
YAML
::
Exception
&
e
)
{
if
(
e
.
msg
==
YAML
::
ErrorMsg
::
END_OF_SEQ_FLOW
)
return
true
;
throw
;
}
return
" no exception thrown"
;
}
// 7.23
TEST
FlowContent
()
{
return
" not written yet"
;
HANDLE
(
ex7_23
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"a"
);
EXPECT_SCALAR
(
"?"
,
0
,
"b"
);
EXPECT_SEQ_END
();
EXPECT_MAP_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"?"
,
0
,
"a"
);
EXPECT_SCALAR
(
"?"
,
0
,
"b"
);
EXPECT_MAP_END
();
EXPECT_SCALAR
(
"!"
,
0
,
"a"
);
EXPECT_SCALAR
(
"!"
,
0
,
"b"
);
EXPECT_SCALAR
(
"?"
,
0
,
"c"
);
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 7.24
TEST
FlowNodes
()
{
return
" not written yet"
;
HANDLE
(
ex7_24
);
EXPECT_DOC_START
();
EXPECT_SEQ_START
(
"?"
,
0
);
EXPECT_SCALAR
(
"tag:yaml.org,2002:str"
,
0
,
"a"
);
EXPECT_SCALAR
(
"!"
,
0
,
"b"
);
EXPECT_SCALAR
(
"!"
,
1
,
"c"
);
EXPECT_ALIAS
(
1
);
EXPECT_SCALAR
(
"tag:yaml.org,2002:str"
,
0
,
""
);
EXPECT_SEQ_END
();
EXPECT_DOC_END
();
DONE
();
}
// 8.1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment