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
41533a8c
"docs/vscode:/vscode.git/clone" did not exist on "780b3a4f8ce7ad67e802a63b3e609c1c57af6358"
Commit
41533a8c
authored
Sep 12, 2011
by
Jesse Beder
Browse files
Added failing self-reference tests
parent
a6e1d4cf
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
0 deletions
+50
-0
test/new-api/nodetests.cpp
test/new-api/nodetests.cpp
+50
-0
No files found.
test/new-api/nodetests.cpp
View file @
41533a8c
...
@@ -188,6 +188,52 @@ namespace Test
...
@@ -188,6 +188,52 @@ namespace Test
YAML_ASSERT
(
node
.
size
()
==
2
);
YAML_ASSERT
(
node
.
size
()
==
2
);
return
true
;
return
true
;
}
}
TEST
SelfReferenceSequence
()
{
YAML
::
Node
node
;
node
[
0
]
=
node
;
YAML_ASSERT
(
node
.
Type
()
==
YAML
::
NodeType
::
Sequence
);
YAML_ASSERT
(
node
.
size
()
==
1
);
YAML_ASSERT
(
node
[
0
]
==
node
);
YAML_ASSERT
(
node
[
0
][
0
]
==
node
);
YAML_ASSERT
(
node
[
0
][
0
]
==
node
[
0
]);
return
true
;
}
TEST
ValueSelfReferenceMap
()
{
YAML
::
Node
node
;
node
[
"key"
]
=
node
;
YAML_ASSERT
(
node
.
Type
()
==
YAML
::
NodeType
::
Map
);
YAML_ASSERT
(
node
.
size
()
==
1
);
YAML_ASSERT
(
node
[
"key"
]
==
node
);
YAML_ASSERT
(
node
[
"key"
][
"key"
]
==
node
);
YAML_ASSERT
(
node
[
"key"
][
"key"
]
==
node
[
"key"
]);
return
true
;
}
TEST
KeySelfReferenceMap
()
{
YAML
::
Node
node
;
node
[
node
]
=
"value"
;
YAML_ASSERT
(
node
.
Type
()
==
YAML
::
NodeType
::
Map
);
YAML_ASSERT
(
node
.
size
()
==
1
);
YAML_ASSERT
(
node
[
node
].
as
<
std
::
string
>
()
==
"value"
);
return
true
;
}
TEST
SelfReferenceMap
()
{
YAML
::
Node
node
;
node
[
node
]
=
node
;
YAML_ASSERT
(
node
.
Type
()
==
YAML
::
NodeType
::
Map
);
YAML_ASSERT
(
node
.
size
()
==
1
);
YAML_ASSERT
(
node
[
node
]
==
node
);
YAML_ASSERT
(
node
[
node
][
node
]
==
node
);
YAML_ASSERT
(
node
[
node
][
node
]
==
node
[
node
]);
return
true
;
}
}
}
void
RunNodeTest
(
TEST
(
*
test
)(),
const
std
::
string
&
name
,
int
&
passed
,
int
&
total
)
{
void
RunNodeTest
(
TEST
(
*
test
)(),
const
std
::
string
&
name
,
int
&
passed
,
int
&
total
)
{
...
@@ -225,6 +271,10 @@ namespace Test
...
@@ -225,6 +271,10 @@ namespace Test
RunNodeTest
(
&
Node
::
StdMap
,
"std::map"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
StdMap
,
"std::map"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
SimpleAlias
,
"simple alias"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
SimpleAlias
,
"simple alias"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
AliasAsKey
,
"alias as key"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
AliasAsKey
,
"alias as key"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
SelfReferenceSequence
,
"self reference sequence"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
ValueSelfReferenceMap
,
"value self reference map"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
KeySelfReferenceMap
,
"key self reference map"
,
passed
,
total
);
RunNodeTest
(
&
Node
::
SelfReferenceMap
,
"self reference map"
,
passed
,
total
);
std
::
cout
<<
"Node tests: "
<<
passed
<<
"/"
<<
total
<<
" passed
\n
"
;
std
::
cout
<<
"Node tests: "
<<
passed
<<
"/"
<<
total
<<
" passed
\n
"
;
return
passed
==
total
;
return
passed
==
total
;
...
...
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