Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Unified Diff: components/policy/core/common/policy_schema_unittest.cc

Issue 24367003: Refactored users of PolicySchema to use the new policy::Schema class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed comments Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/policy/core/common/policy_schema.cc ('k') | components/policy/core/common/schema.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/policy/core/common/policy_schema_unittest.cc
diff --git a/components/policy/core/common/policy_schema_unittest.cc b/components/policy/core/common/policy_schema_unittest.cc
deleted file mode 100644
index bfbdd6521599a5f6a896f41eec1ad6e512e5e7ee..0000000000000000000000000000000000000000
--- a/components/policy/core/common/policy_schema_unittest.cc
+++ /dev/null
@@ -1,193 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/policy/core/common/policy_schema.h"
-
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace policy {
-
-namespace {
-
-#define SCHEMA_VERSION "\"$schema\":\"http://json-schema.org/draft-03/schema#\""
-#define OBJECT_TYPE "\"type\":\"object\""
-
-bool ParseFails(const std::string& content) {
- std::string error;
- scoped_ptr<PolicySchema> schema = PolicySchema::Parse(content, &error);
- EXPECT_TRUE(schema || !error.empty());
- return !schema;
-}
-
-} // namespace
-
-TEST(PolicySchemaTest, MinimalSchema) {
- EXPECT_FALSE(ParseFails(
- "{"
- SCHEMA_VERSION ","
- OBJECT_TYPE
- "}"));
-}
-
-TEST(PolicySchemaTest, InvalidSchemas) {
- EXPECT_TRUE(ParseFails(""));
- EXPECT_TRUE(ParseFails("omg"));
- EXPECT_TRUE(ParseFails("\"omg\""));
- EXPECT_TRUE(ParseFails("123"));
- EXPECT_TRUE(ParseFails("[]"));
- EXPECT_TRUE(ParseFails("null"));
- EXPECT_TRUE(ParseFails("{}"));
- EXPECT_TRUE(ParseFails("{" SCHEMA_VERSION "}"));
- EXPECT_TRUE(ParseFails("{" OBJECT_TYPE "}"));
-
- EXPECT_TRUE(ParseFails(
- "{"
- SCHEMA_VERSION ","
- OBJECT_TYPE ","
- "\"additionalProperties\": { \"type\":\"object\" }"
- "}"));
-
- EXPECT_TRUE(ParseFails(
- "{"
- SCHEMA_VERSION ","
- OBJECT_TYPE ","
- "\"patternProperties\": { \"a+b*\": { \"type\": \"object\" } }"
- "}"));
-
- EXPECT_TRUE(ParseFails(
- "{"
- SCHEMA_VERSION ","
- OBJECT_TYPE ","
- "\"properties\": { \"Policy\": { \"type\": \"bogus\" } }"
- "}"));
-
- EXPECT_TRUE(ParseFails(
- "{"
- SCHEMA_VERSION ","
- OBJECT_TYPE ","
- "\"properties\": { \"Policy\": { \"type\": [\"string\", \"number\"] } }"
- "}"));
-
- EXPECT_TRUE(ParseFails(
- "{"
- SCHEMA_VERSION ","
- OBJECT_TYPE ","
- "\"properties\": { \"Policy\": { \"type\": \"any\" } }"
- "}"));
-}
-
-TEST(PolicySchemaTest, ValidSchema) {
- std::string error;
- scoped_ptr<PolicySchema> schema = PolicySchema::Parse(
- "{"
- SCHEMA_VERSION ","
- OBJECT_TYPE ","
- "\"properties\": {"
- " \"Boolean\": { \"type\": \"boolean\" },"
- " \"Integer\": { \"type\": \"integer\" },"
- " \"Null\": { \"type\": \"null\" },"
- " \"Number\": { \"type\": \"number\" },"
- " \"String\": { \"type\": \"string\" },"
- " \"Array\": {"
- " \"type\": \"array\","
- " \"items\": { \"type\": \"string\" }"
- " },"
- " \"ArrayOfObjects\": {"
- " \"type\": \"array\","
- " \"items\": {"
- " \"type\": \"object\","
- " \"properties\": {"
- " \"one\": { \"type\": \"string\" },"
- " \"two\": { \"type\": \"integer\" }"
- " }"
- " }"
- " },"
- " \"ArrayOfArray\": {"
- " \"type\": \"array\","
- " \"items\": {"
- " \"type\": \"array\","
- " \"items\": { \"type\": \"string\" }"
- " }"
- " },"
- " \"Object\": {"
- " \"type\": \"object\","
- " \"properties\": {"
- " \"one\": { \"type\": \"boolean\" },"
- " \"two\": { \"type\": \"integer\" }"
- " },"
- " \"additionalProperties\": { \"type\": \"string\" }"
- " }"
- "}"
- "}", &error);
- ASSERT_TRUE(schema) << error;
-
- ASSERT_EQ(base::Value::TYPE_DICTIONARY, schema->type());
- EXPECT_FALSE(schema->GetSchemaForProperty("invalid"));
-
- const PolicySchema* sub = schema->GetSchemaForProperty("Boolean");
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_BOOLEAN, sub->type());
-
- sub = schema->GetSchemaForProperty("Integer");
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_INTEGER, sub->type());
-
- sub = schema->GetSchemaForProperty("Null");
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_NULL, sub->type());
-
- sub = schema->GetSchemaForProperty("Number");
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_DOUBLE, sub->type());
- sub = schema->GetSchemaForProperty("String");
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_STRING, sub->type());
-
- sub = schema->GetSchemaForProperty("Array");
- ASSERT_TRUE(sub);
- ASSERT_EQ(base::Value::TYPE_LIST, sub->type());
- sub = sub->GetSchemaForItems();
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_STRING, sub->type());
-
- sub = schema->GetSchemaForProperty("ArrayOfObjects");
- ASSERT_TRUE(sub);
- ASSERT_EQ(base::Value::TYPE_LIST, sub->type());
- sub = sub->GetSchemaForItems();
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_DICTIONARY, sub->type());
- const PolicySchema* subsub = sub->GetSchemaForProperty("one");
- ASSERT_TRUE(subsub);
- EXPECT_EQ(base::Value::TYPE_STRING, subsub->type());
- subsub = sub->GetSchemaForProperty("two");
- ASSERT_TRUE(subsub);
- EXPECT_EQ(base::Value::TYPE_INTEGER, subsub->type());
- subsub = sub->GetSchemaForProperty("invalid");
- EXPECT_FALSE(subsub);
-
- sub = schema->GetSchemaForProperty("ArrayOfArray");
- ASSERT_TRUE(sub);
- ASSERT_EQ(base::Value::TYPE_LIST, sub->type());
- sub = sub->GetSchemaForItems();
- ASSERT_TRUE(sub);
- ASSERT_EQ(base::Value::TYPE_LIST, sub->type());
- sub = sub->GetSchemaForItems();
- ASSERT_TRUE(sub);
- EXPECT_EQ(base::Value::TYPE_STRING, sub->type());
-
- sub = schema->GetSchemaForProperty("Object");
- ASSERT_TRUE(sub);
- ASSERT_EQ(base::Value::TYPE_DICTIONARY, sub->type());
- subsub = sub->GetSchemaForProperty("one");
- ASSERT_TRUE(subsub);
- EXPECT_EQ(base::Value::TYPE_BOOLEAN, subsub->type());
- subsub = sub->GetSchemaForProperty("two");
- ASSERT_TRUE(subsub);
- EXPECT_EQ(base::Value::TYPE_INTEGER, subsub->type());
- subsub = sub->GetSchemaForProperty("undeclared");
- ASSERT_TRUE(subsub);
- EXPECT_EQ(base::Value::TYPE_STRING, subsub->type());
-}
-
-} // namespace policy
« no previous file with comments | « components/policy/core/common/policy_schema.cc ('k') | components/policy/core/common/schema.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698