@@ -1861,6 +1861,23 @@ JSONTEST_FIXTURE(CharReaderFailIfExtraTest, commentAfterBool) {
1861
1861
JSONTEST_ASSERT_EQUAL (true , root.asBool ());
1862
1862
delete reader;
1863
1863
}
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
+
1864
1881
int main (int argc, const char * argv[]) {
1865
1882
JsonTest::Runner runner;
1866
1883
JSONTEST_REGISTER_FIXTURE (runner, ValueTest, checkNormalizeFloatingPointStr);
@@ -1905,6 +1922,8 @@ int main(int argc, const char* argv[]) {
1905
1922
JSONTEST_REGISTER_FIXTURE (runner, CharReaderFailIfExtraTest, commentAfterArray);
1906
1923
JSONTEST_REGISTER_FIXTURE (runner, CharReaderFailIfExtraTest, commentAfterBool);
1907
1924
1925
+ JSONTEST_REGISTER_FIXTURE (runner, IteratorTest, distance);
1926
+
1908
1927
JSONTEST_REGISTER_FIXTURE (runner, WriterTest, dropNullPlaceholders);
1909
1928
JSONTEST_REGISTER_FIXTURE (runner, StreamWriterTest, dropNullPlaceholders);
1910
1929
0 commit comments