You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by jo...@apache.org on 2015/09/22 20:20:15 UTC
mesos git commit: Fixed printing of numbers to be valid JSON for web
browsers.
Repository: mesos
Updated Branches:
refs/heads/master 8d53a932b -> 62f7a27fe
Fixed printing of numbers to be valid JSON for web browsers.
Printing an integer as a double looked like "1." which is an
"unterminated fractional number".
Instead, the printed value should be "1.0".
Review: https://reviews.apache.org/r/38632
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/62f7a27f
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/62f7a27f
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/62f7a27f
Branch: refs/heads/master
Commit: 62f7a27fe618c67950c7a651529ff809d4a7222d
Parents: 8d53a93
Author: Joseph Wu <jo...@mesosphere.io>
Authored: Tue Sep 22 13:50:47 2015 -0400
Committer: Joris Van Remoortere <jo...@gmail.com>
Committed: Tue Sep 22 14:18:07 2015 -0400
----------------------------------------------------------------------
.../3rdparty/stout/include/stout/json.hpp | 6 ++++--
.../libprocess/3rdparty/stout/tests/json_tests.cpp | 6 +++---
.../3rdparty/stout/tests/protobuf_tests.cpp | 16 ++++++++--------
3 files changed, 15 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/62f7a27f/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
index e36f4b9..0870300 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/json.hpp
@@ -633,9 +633,11 @@ inline std::ostream& operator<<(std::ostream& out, const Number& number)
std::numeric_limits<double>::digits10,
number.value);
- // Get rid of trailing zeroes before outputting.
+ // Get rid of excess trailing zeroes before outputting.
// Otherwise, printing 1.0 would result in "1.00000000000000".
- return out << strings::trim(buffer, strings::SUFFIX, "0");
+ // NOTE: valid JSON numbers cannot end with a '.'.
+ std::string trimmed = strings::trim(buffer, strings::SUFFIX, "0");
+ return out << trimmed << (trimmed.back() == '.' ? "0" : "");
}
case Number::SIGNED_INTEGER:
return out << number.signed_integer;
http://git-wip-us.apache.org/repos/asf/mesos/blob/62f7a27f/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp b/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
index 88b6147..131d39b 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/json_tests.cpp
@@ -51,11 +51,11 @@ TEST(JsonTest, BinaryData)
TEST(JsonTest, NumberFormat)
{
// Test whole numbers (as doubles).
- EXPECT_EQ("0.", stringify(JSON::Number(0.0)));
- EXPECT_EQ("1.", stringify(JSON::Number(1.0)));
+ EXPECT_EQ("0.0", stringify(JSON::Number(0.0)));
+ EXPECT_EQ("1.0", stringify(JSON::Number(1.0)));
// Negative.
- EXPECT_EQ("-1.", stringify(JSON::Number(-1.0)));
+ EXPECT_EQ("-1.0", stringify(JSON::Number(-1.0)));
// Test integers.
EXPECT_EQ("0", stringify(JSON::Number(0)));
http://git-wip-us.apache.org/repos/asf/mesos/blob/62f7a27f/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp b/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
index 6f154cd..68328a2 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/protobuf_tests.cpp
@@ -108,18 +108,18 @@ TEST(ProtobufTest, JSON)
"{"
" \"b\": true,"
" \"bytes\": \"Ynl0ZXM=\","
- " \"d\": 1.,"
+ " \"d\": 1.0,"
" \"e\": \"ONE\","
- " \"f\": 1.,"
+ " \"f\": 1.0,"
" \"int32\": -1,"
" \"int64\": -1,"
" \"nested\": { \"str\": \"nested\"},"
- " \"optional_default\": 42.,"
+ " \"optional_default\": 42.0,"
" \"repeated_bool\": [true],"
" \"repeated_bytes\": [\"cmVwZWF0ZWRfYnl0ZXM=\"],"
- " \"repeated_double\": [1., 2.],"
+ " \"repeated_double\": [1.0, 2.0],"
" \"repeated_enum\": [\"TWO\"],"
- " \"repeated_float\": [1.],"
+ " \"repeated_float\": [1.0],"
" \"repeated_int32\": [-2],"
" \"repeated_int64\": [-2],"
" \"repeated_nested\": [ { \"str\": \"repeated_nested\" } ],"
@@ -196,13 +196,13 @@ TEST(ProtobufTest, JsonLargeIntegers)
"{"
" \"b\": true,"
" \"bytes\": \"Ynl0ZXM=\","
- " \"d\": 1.,"
+ " \"d\": 1.0,"
" \"e\": \"ONE\","
- " \"f\": 1.,"
+ " \"f\": 1.0,"
" \"int32\": -2147483647,"
" \"int64\": -9223372036854775807,"
" \"nested\": {\"str\": \"nested\"},"
- " \"optional_default\": 42.,"
+ " \"optional_default\": 42.0,"
" \"repeated_int32\": [-2000000000],"
" \"repeated_int64\": [-9000000000000000000],"
" \"repeated_sint32\": [-1000000000],"