@@ -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+
18641881int 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