| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // A JSON parser. Converts strings of JSON into a Value object (see | 5 // A JSON parser. Converts strings of JSON into a Value object (see |
| 6 // base/values.h). | 6 // base/values.h). |
| 7 // http://www.ietf.org/rfc/rfc4627.txt?number=4627 | 7 // http://www.ietf.org/rfc/rfc4627.txt?number=4627 |
| 8 // | 8 // |
| 9 // Known limitations/deviations from the RFC: | 9 // Known limitations/deviations from the RFC: |
| 10 // - Only knows how to parse ints within the range of a signed 32 bit int and | 10 // - Only knows how to parse ints within the range of a signed 32 bit int and |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 #pragma once | 30 #pragma once |
| 31 | 31 |
| 32 #include <string> | 32 #include <string> |
| 33 | 33 |
| 34 #include "base/base_export.h" | 34 #include "base/base_export.h" |
| 35 #include "base/basictypes.h" | 35 #include "base/basictypes.h" |
| 36 | 36 |
| 37 // Chromium and Chromium OS check out gtest to different places, so we're | 37 // Chromium and Chromium OS check out gtest to different places, so we're |
| 38 // unable to compile on both if we include gtest_prod.h here. Instead, include | 38 // unable to compile on both if we include gtest_prod.h here. Instead, include |
| 39 // its only contents -- this will need to be updated if the macro ever changes. | 39 // its only contents -- this will need to be updated if the macro ever changes. |
| 40 #if defined(GOOGLE_CHROME_BUILD) | 40 #define FRIEND_TEST(test_case_name, test_name)\ |
| 41 | 41 friend class test_case_name##_##test_name##_Test |
| 42 // Provide a no-op that can live in a class definition. | |
| 43 // We can't use an expression, so we define a useless local class name. | |
| 44 #define FRIEND_TEST(test_case_name, test_name) \ | |
| 45 class test_case_name##_##test_name##_Test {int garbage;} | |
| 46 | |
| 47 #else | |
| 48 | |
| 49 #define FRIEND_TEST(test_case_name, test_name) \ | |
| 50 friend class test_case_name##_##test_name##_Test | |
| 51 | |
| 52 #endif | |
| 53 | 42 |
| 54 #define FRIEND_TEST_ALL_PREFIXES(test_case_name, test_name) \ | 43 #define FRIEND_TEST_ALL_PREFIXES(test_case_name, test_name) \ |
| 55 FRIEND_TEST(test_case_name, test_name); \ | 44 FRIEND_TEST(test_case_name, test_name); \ |
| 56 FRIEND_TEST(test_case_name, DISABLED_##test_name); \ | 45 FRIEND_TEST(test_case_name, DISABLED_##test_name); \ |
| 57 FRIEND_TEST(test_case_name, FLAKY_##test_name); \ | 46 FRIEND_TEST(test_case_name, FLAKY_##test_name); \ |
| 58 FRIEND_TEST(test_case_name, FAILS_##test_name) | 47 FRIEND_TEST(test_case_name, FAILS_##test_name) |
| 59 | 48 |
| 60 namespace base { | 49 namespace base { |
| 61 | 50 |
| 62 class Value; | 51 class Value; |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 JsonParseError error_code_; | 220 JsonParseError error_code_; |
| 232 int error_line_; | 221 int error_line_; |
| 233 int error_col_; | 222 int error_col_; |
| 234 | 223 |
| 235 DISALLOW_COPY_AND_ASSIGN(JSONReader); | 224 DISALLOW_COPY_AND_ASSIGN(JSONReader); |
| 236 }; | 225 }; |
| 237 | 226 |
| 238 } // namespace base | 227 } // namespace base |
| 239 | 228 |
| 240 #endif // BASE_JSON_JSON_READER_H_ | 229 #endif // BASE_JSON_JSON_READER_H_ |
| OLD | NEW |