OLD | NEW |
| (Empty) |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "base/values.h" | |
6 #include "chrome/common/json_schema_validator.h" | |
7 #include "chrome/common/json_schema_validator_unittest_base.h" | |
8 #include "testing/gtest/include/gtest/gtest.h" | |
9 | |
10 class JSONSchemaValidatorCPPTest : public JSONSchemaValidatorTestBase { | |
11 public: | |
12 JSONSchemaValidatorCPPTest() | |
13 : JSONSchemaValidatorTestBase(JSONSchemaValidatorTestBase::CPP) { | |
14 } | |
15 | |
16 protected: | |
17 virtual void ExpectValid(const std::string& test_source, | |
18 Value* instance, DictionaryValue* schema, | |
19 ListValue* types) OVERRIDE { | |
20 JSONSchemaValidator validator(schema, types); | |
21 if (validator.Validate(instance)) | |
22 return; | |
23 | |
24 for (size_t i = 0; i < validator.errors().size(); ++i) { | |
25 ADD_FAILURE() << test_source << ": " | |
26 << validator.errors()[i].path << ": " | |
27 << validator.errors()[i].message; | |
28 } | |
29 } | |
30 | |
31 virtual void ExpectNotValid( | |
32 const std::string& test_source, | |
33 Value* instance, DictionaryValue* schema, | |
34 ListValue* types, | |
35 const std::string& expected_error_path, | |
36 const std::string& expected_error_message) OVERRIDE { | |
37 JSONSchemaValidator validator(schema, types); | |
38 if (validator.Validate(instance)) { | |
39 ADD_FAILURE() << test_source; | |
40 return; | |
41 } | |
42 | |
43 ASSERT_EQ(1u, validator.errors().size()) << test_source; | |
44 EXPECT_EQ(expected_error_path, validator.errors()[0].path) << test_source; | |
45 EXPECT_EQ(expected_error_message, validator.errors()[0].message) | |
46 << test_source; | |
47 } | |
48 }; | |
49 | |
50 TEST_F(JSONSchemaValidatorCPPTest, Test) { | |
51 RunTests(); | |
52 } | |
OLD | NEW |