Commit b4e300b7 authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #9236 from dkurt:fix_json_bool

parents 402a77e7 583b3275
......@@ -3665,7 +3665,6 @@ static char* icvJSONParseValue( CvFileStorage* fs, char* ptr, CvFileNode* node )
{
CV_PARSE_ERROR( "Unrecognized value" );
}
ptr++;
}
return ptr;
......
......@@ -1318,3 +1318,30 @@ TEST(Core_InputOutput, FileStorage_json_named_nodes)
ASSERT_EQ(fs["array"].name(), "array");
fs.release();
}
TEST(Core_InputOutput, FileStorage_json_bool)
{
std::string test =
"{ "
"\"str_true\": \"true\","
"\"map_value\": {"
"\"int_value\": -33333,\n"
"\"bool_true\": true,"
"\"str_false\": \"false\","
"},"
"\"bool_false\": false, \n"
"\"array\": [0.1, 0.2]"
"}";
FileStorage fs(test, FileStorage::READ | FileStorage::MEMORY);
ASSERT_TRUE(fs["str_true"].isString());
ASSERT_TRUE(fs["map_value"]["bool_true"].isInt());
ASSERT_TRUE(fs["map_value"]["str_false"].isString());
ASSERT_TRUE(fs["bool_false"].isInt());
ASSERT_EQ((std::string)fs["str_true"], "true");
ASSERT_EQ((int)fs["map_value"]["bool_true"], 1);
ASSERT_EQ((std::string)fs["map_value"]["str_false"], "false");
ASSERT_EQ((int)fs["bool_false"], 0);
fs.release();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment