From f52778f04ddd0899374ce24bc36964181f67cbaa Mon Sep 17 00:00:00 2001 From: ipknHama Date: Sun, 9 Nov 2014 08:47:45 +0900 Subject: Fixes a bug that crow::json failed to parse double value starting with 0 --- tests/unittest.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'tests') diff --git a/tests/unittest.cpp b/tests/unittest.cpp index 4dec727..0e23ffd 100644 --- a/tests/unittest.cpp +++ b/tests/unittest.cpp @@ -455,6 +455,32 @@ TEST(json_read) } +TEST(json_read_real) +{ + vector v{"0.036303908355795146", "0.18320417789757412", + "0.05319940476190476", "0.15224702380952382", "0", "0.3296201145552561", + "0.47921580188679247", "0.05873511904761905", "0.1577827380952381", + "0.4996841307277628", "0.6425412735849056", "0.052113095238095236", + "0.12830357142857143", "0.7871041105121294", "0.954220013477089", + "0.05869047619047619", "0.1625", "0.8144794474393531", + "0.9721613881401617", "0.1399404761904762", "0.24470238095238095", + "0.04527459568733154", "0.2096950808625337", "0.35267857142857145", + "0.42791666666666667", "0.855731974393531", "0.9352467991913747", + "0.3816220238095238", "0.4282886904761905", "0.39414167789757415", + "0.5316079851752021", "0.3809375", "0.4571279761904762", + "0.03522995283018868", "0.1915641846361186", "0.6164136904761904", + "0.7192708333333333", "0.05675117924528302", "0.21308541105121293", + "0.7045386904761904", "0.8016815476190476"}; + for(auto x:v) + { + CROW_LOG_DEBUG << x; + ASSERT_EQUAL(json::load(x).d(), boost::lexical_cast(x)); + } + + auto ret = json::load(R"---({"balloons":[{"mode":"ellipse","left":0.036303908355795146,"right":0.18320417789757412,"top":0.05319940476190476,"bottom":0.15224702380952382,"index":"0"},{"mode":"ellipse","left":0.3296201145552561,"right":0.47921580188679247,"top":0.05873511904761905,"bottom":0.1577827380952381,"index":"1"},{"mode":"ellipse","left":0.4996841307277628,"right":0.6425412735849056,"top":0.052113095238095236,"bottom":0.12830357142857143,"index":"2"},{"mode":"ellipse","left":0.7871041105121294,"right":0.954220013477089,"top":0.05869047619047619,"bottom":0.1625,"index":"3"},{"mode":"ellipse","left":0.8144794474393531,"right":0.9721613881401617,"top":0.1399404761904762,"bottom":0.24470238095238095,"index":"4"},{"mode":"ellipse","left":0.04527459568733154,"right":0.2096950808625337,"top":0.35267857142857145,"bottom":0.42791666666666667,"index":"5"},{"mode":"ellipse","left":0.855731974393531,"right":0.9352467991913747,"top":0.3816220238095238,"bottom":0.4282886904761905,"index":"6"},{"mode":"ellipse","left":0.39414167789757415,"right":0.5316079851752021,"top":0.3809375,"bottom":0.4571279761904762,"index":"7"},{"mode":"ellipse","left":0.03522995283018868,"right":0.1915641846361186,"top":0.6164136904761904,"bottom":0.7192708333333333,"index":"8"},{"mode":"ellipse","left":0.05675117924528302,"right":0.21308541105121293,"top":0.7045386904761904,"bottom":0.8016815476190476,"index":"9"}]})---"); + ASSERT_TRUE(ret); +} + TEST(json_read_unescaping) { { -- cgit v1.2.3-54-g00ecf