Skip to content

Commit 8ba9875

Browse files
committed
IteratorTest
1 parent 9c91b99 commit 8ba9875

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/test_lib_json/main.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1861,6 +1861,23 @@ JSONTEST_FIXTURE(CharReaderFailIfExtraTest, commentAfterBool) {
18611861
JSONTEST_ASSERT_EQUAL(true, root.asBool());
18621862
delete reader;
18631863
}
1864+
1865+
struct IteratorTest : JsonTest::TestCase {};
1866+
1867+
JSONTEST_FIXTURE(IteratorTest, distance) {
1868+
Json::Value json;
1869+
json["k1"] = "a";
1870+
json["k2"] = "b";
1871+
int dist;
1872+
std::string str;
1873+
for (Json::ValueIterator it = json.begin(); it != json.end(); ++it) {
1874+
dist = it - json.begin();
1875+
str = it->asString().c_str();
1876+
}
1877+
JSONTEST_ASSERT_EQUAL(1, dist);
1878+
JSONTEST_ASSERT_STRING_EQUAL("b", str);
1879+
}
1880+
18641881
int main(int argc, const char* argv[]) {
18651882
JsonTest::Runner runner;
18661883
JSONTEST_REGISTER_FIXTURE(runner, ValueTest, checkNormalizeFloatingPointStr);
@@ -1905,6 +1922,8 @@ int main(int argc, const char* argv[]) {
19051922
JSONTEST_REGISTER_FIXTURE(runner, CharReaderFailIfExtraTest, commentAfterArray);
19061923
JSONTEST_REGISTER_FIXTURE(runner, CharReaderFailIfExtraTest, commentAfterBool);
19071924

1925+
JSONTEST_REGISTER_FIXTURE(runner, IteratorTest, distance);
1926+
19081927
JSONTEST_REGISTER_FIXTURE(runner, WriterTest, dropNullPlaceholders);
19091928
JSONTEST_REGISTER_FIXTURE(runner, StreamWriterTest, dropNullPlaceholders);
19101929

0 commit comments

Comments
 (0)