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
64e381f2
Commit
64e381f2
authored
Sep 13, 2011
by
Jesse Beder
Browse files
Copied over the 6.x tests that don't have tags
parent
f6b728d5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
118 additions
and
16 deletions
+118
-16
test/new-api/spectests.cpp
test/new-api/spectests.cpp
+118
-16
No files found.
test/new-api/spectests.cpp
View file @
64e381f2
...
...
@@ -351,49 +351,145 @@ namespace Test
}
// 6.1
TEST
IndentationSpaces
()
{
return
" not written yet"
;
}
TEST
IndentationSpaces
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_1
);
YAML_ASSERT
(
doc
.
size
()
==
1
);
YAML_ASSERT
(
doc
[
"Not indented"
].
size
()
==
2
);
YAML_ASSERT
(
doc
[
"Not indented"
][
"By one space"
].
as
<
std
::
string
>
()
==
"By four
\n
spaces
\n
"
);
YAML_ASSERT
(
doc
[
"Not indented"
][
"Flow style"
].
size
()
==
3
);
YAML_ASSERT
(
doc
[
"Not indented"
][
"Flow style"
][
0
].
as
<
std
::
string
>
()
==
"By two"
);
YAML_ASSERT
(
doc
[
"Not indented"
][
"Flow style"
][
1
].
as
<
std
::
string
>
()
==
"Also by two"
);
YAML_ASSERT
(
doc
[
"Not indented"
][
"Flow style"
][
2
].
as
<
std
::
string
>
()
==
"Still by two"
);
return
true
;
}
// 6.2
TEST
IndentationIndicators
()
{
return
" not written yet"
;
}
TEST
IndentationIndicators
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_2
);
YAML_ASSERT
(
doc
.
size
()
==
1
);
YAML_ASSERT
(
doc
[
"a"
].
size
()
==
2
);
YAML_ASSERT
(
doc
[
"a"
][
0
].
as
<
std
::
string
>
()
==
"b"
);
YAML_ASSERT
(
doc
[
"a"
][
1
].
size
()
==
2
);
YAML_ASSERT
(
doc
[
"a"
][
1
][
0
].
as
<
std
::
string
>
()
==
"c"
);
YAML_ASSERT
(
doc
[
"a"
][
1
][
1
].
as
<
std
::
string
>
()
==
"d"
);
return
true
;
}
// 6.3
TEST
SeparationSpaces
()
{
return
" not written yet"
;
}
TEST
SeparationSpaces
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_3
);
YAML_ASSERT
(
doc
.
size
()
==
2
);
YAML_ASSERT
(
doc
[
0
].
size
()
==
1
);
YAML_ASSERT
(
doc
[
0
][
"foo"
].
as
<
std
::
string
>
()
==
"bar"
);
YAML_ASSERT
(
doc
[
1
].
size
()
==
2
);
YAML_ASSERT
(
doc
[
1
][
0
].
as
<
std
::
string
>
()
==
"baz"
);
YAML_ASSERT
(
doc
[
1
][
1
].
as
<
std
::
string
>
()
==
"baz"
);
return
true
;
}
// 6.4
TEST
LinePrefixes
()
{
return
" not written yet"
;
}
TEST
LinePrefixes
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_4
);
YAML_ASSERT
(
doc
.
size
()
==
3
);
YAML_ASSERT
(
doc
[
"plain"
].
as
<
std
::
string
>
()
==
"text lines"
);
YAML_ASSERT
(
doc
[
"quoted"
].
as
<
std
::
string
>
()
==
"text lines"
);
YAML_ASSERT
(
doc
[
"block"
].
as
<
std
::
string
>
()
==
"text
\n
\t
lines
\n
"
);
return
true
;
}
// 6.5
TEST
EmptyLines
()
{
return
" not written yet"
;
}
TEST
EmptyLines
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_5
);
YAML_ASSERT
(
doc
.
size
()
==
2
);
YAML_ASSERT
(
doc
[
"Folding"
].
as
<
std
::
string
>
()
==
"Empty line
\n
as a line feed"
);
YAML_ASSERT
(
doc
[
"Chomping"
].
as
<
std
::
string
>
()
==
"Clipped empty lines
\n
"
);
return
true
;
}
// 6.6
TEST
LineFolding
()
{
return
" not written yet"
;
}
TEST
LineFolding
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_6
);
YAML_ASSERT
(
doc
.
as
<
std
::
string
>
()
==
"trimmed
\n\n\n
as space"
);
return
true
;
}
// 6.7
TEST
BlockFolding
()
{
return
" not written yet"
;
}
TEST
BlockFolding
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_7
);
YAML_ASSERT
(
doc
.
as
<
std
::
string
>
()
==
"foo
\n\n\t
bar
\n\n
baz
\n
"
);
return
true
;
}
// 6.8
TEST
FlowFolding
()
{
return
" not written yet"
;
}
TEST
FlowFolding
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_8
);
YAML_ASSERT
(
doc
.
as
<
std
::
string
>
()
==
" foo
\n
bar
\n
baz "
);
return
true
;
}
// 6.9
TEST
SeparatedComment
()
{
return
" not written yet"
;
}
TEST
SeparatedComment
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_9
);
YAML_ASSERT
(
doc
.
size
()
==
1
);
YAML_ASSERT
(
doc
[
"key"
].
as
<
std
::
string
>
()
==
"value"
);
return
true
;
}
// 6.10
TEST
CommentLines
()
{
return
" not written yet"
;
}
TEST
CommentLines
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_10
);
YAML_ASSERT
(
doc
.
Type
()
==
YAML
::
NodeType
::
Null
);
return
true
;
}
// 6.11
TEST
MultiLineComments
()
{
return
" not written yet"
;
}
TEST
MultiLineComments
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_11
);
YAML_ASSERT
(
doc
.
size
()
==
1
);
YAML_ASSERT
(
doc
[
"key"
].
as
<
std
::
string
>
()
==
"value"
);
return
true
;
}
// 6.12
TEST
SeparationSpacesII
()
{
return
" not written yet"
;
}
TEST
SeparationSpacesII
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_12
);
std
::
map
<
std
::
string
,
std
::
string
>
sammy
;
sammy
[
"first"
]
=
"Sammy"
;
sammy
[
"last"
]
=
"Sosa"
;
YAML_ASSERT
(
doc
.
size
()
==
1
);
YAML_ASSERT
(
doc
[
sammy
].
size
()
==
2
);
YAML_ASSERT
(
doc
[
sammy
][
"hr"
].
as
<
int
>
()
==
65
);
YAML_ASSERT
(
doc
[
sammy
][
"avg"
].
as
<
std
::
string
>
()
==
"0.278"
);
return
true
;
}
// 6.13
TEST
ReservedDirectives
()
{
return
" not written yet"
;
}
TEST
ReservedDirectives
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_13
);
YAML_ASSERT
(
doc
.
as
<
std
::
string
>
()
==
"foo"
);
return
true
;
}
// 6.14
TEST
YAMLDirective
()
{
return
" not written yet"
;
}
TEST
YAMLDirective
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_14
);
YAML_ASSERT
(
doc
.
as
<
std
::
string
>
()
==
"foo"
);
return
true
;
}
// 6.15
TEST
InvalidRepeatedYAMLDirective
()
{
return
" not written yet"
;
}
TEST
InvalidRepeatedYAMLDirective
()
{
try
{
YAML
::
Parse
(
ex6_15
);
}
catch
(
const
YAML
::
ParserException
&
e
)
{
YAML_ASSERT
(
e
.
msg
==
YAML
::
ErrorMsg
::
REPEATED_YAML_DIRECTIVE
);
return
true
;
}
return
" No exception was thrown"
;
}
// 6.16
TEST
TagDirective
()
{
return
" not written yet"
;
}
...
...
@@ -435,7 +531,13 @@ namespace Test
TEST
NonSpecificTags
()
{
return
" not written yet"
;
}
// 6.29
TEST
NodeAnchors
()
{
return
" not written yet"
;
}
TEST
NodeAnchors
()
{
YAML
::
Node
doc
=
YAML
::
Parse
(
ex6_29
);
YAML_ASSERT
(
doc
.
size
()
==
2
);
YAML_ASSERT
(
doc
[
"First occurrence"
].
as
<
std
::
string
>
()
==
"Value"
);
YAML_ASSERT
(
doc
[
"Second occurrence"
].
as
<
std
::
string
>
()
==
"Value"
);
return
true
;
}
// 7.1
TEST
AliasNodes
()
{
return
" not written yet"
;
}
...
...
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