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

Side by Side Diff: chrome/common/extensions/api/extension_api_unittest.cc

Issue 10367002: Make all extension api types fully qualified. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix webrequest tests Created 8 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "chrome/common/extensions/api/extension_api.h" 5 #include "chrome/common/extensions/api/extension_api.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 409
410 ExtensionAPI api; 410 ExtensionAPI api;
411 api.RegisterSchema("test", base::StringPiece(schema_source)); 411 api.RegisterSchema("test", base::StringPiece(schema_source));
412 api.LoadAllSchemas(); 412 api.LoadAllSchemas();
413 413
414 Feature* feature = api.GetFeature("test"); 414 Feature* feature = api.GetFeature("test");
415 EXPECT_EQ(test_data[i].expect_success, feature != NULL) << i; 415 EXPECT_EQ(test_data[i].expect_success, feature != NULL) << i;
416 } 416 }
417 } 417 }
418 418
419 static void GetDictionaryFromList(const DictionaryValue* schema,
420 const std::string& list_name,
421 const int list_index,
422 DictionaryValue** out) {
423 ListValue* list;
424 EXPECT_TRUE(schema->GetList(list_name, &list));
425 EXPECT_TRUE(list->GetDictionary(list_index, out));
426 }
427
428 TEST(ExtensionAPI, TypesHaveNamespace) {
429 FilePath manifest_path;
430 PathService::Get(chrome::DIR_TEST_DATA, &manifest_path);
431 manifest_path = manifest_path.AppendASCII("extensions")
432 .AppendASCII("extension_api_unittest")
433 .AppendASCII("types_have_namespace.json");
434
435 std::string manifest_str;
436 ASSERT_TRUE(file_util::ReadFileToString(manifest_path, &manifest_str))
437 << "Failed to load: " << manifest_path.value();
438
439 ExtensionAPI api;
440 api.RegisterSchema("test.foo", manifest_str);
441 api.LoadAllSchemas();
442
443 const DictionaryValue* schema = api.GetSchema("test.foo");
444
445 DictionaryValue* dict;
446 DictionaryValue* sub_dict;
447 std::string type;
448
449 GetDictionaryFromList(schema, "types", 0, &dict);
450 EXPECT_TRUE(dict->GetString("id", &type));
451 EXPECT_EQ("test.foo.TestType", type);
452 EXPECT_TRUE(dict->GetString("customBindings", &type));
453 EXPECT_EQ("test.foo.TestType", type);
454 EXPECT_TRUE(dict->GetDictionary("properties", &sub_dict));
455 DictionaryValue* property;
456 EXPECT_TRUE(sub_dict->GetDictionary("foo", &property));
457 EXPECT_TRUE(property->GetString("$ref", &type));
458 EXPECT_EQ("test.foo.OtherType", type);
459 EXPECT_TRUE(sub_dict->GetDictionary("bar", &property));
460 EXPECT_TRUE(property->GetString("$ref", &type));
461 EXPECT_EQ("fully.qualified.Type", type);
462
463 GetDictionaryFromList(schema, "functions", 0, &dict);
464 GetDictionaryFromList(dict, "parameters", 0, &sub_dict);
465 EXPECT_TRUE(sub_dict->GetString("$ref", &type));
466 EXPECT_EQ("test.foo.TestType", type);
467 EXPECT_TRUE(dict->GetDictionary("returns", &sub_dict));
468 EXPECT_TRUE(sub_dict->GetString("$ref", &type));
469 EXPECT_EQ("fully.qualified.Type", type);
470
471 GetDictionaryFromList(schema, "functions", 1, &dict);
472 GetDictionaryFromList(dict, "parameters", 0, &sub_dict);
473 EXPECT_TRUE(sub_dict->GetString("$ref", &type));
474 EXPECT_EQ("fully.qualified.Type", type);
475 EXPECT_TRUE(dict->GetDictionary("returns", &sub_dict));
476 EXPECT_TRUE(sub_dict->GetString("$ref", &type));
477 EXPECT_EQ("test.foo.TestType", type);
478
479 GetDictionaryFromList(schema, "events", 0, &dict);
480 GetDictionaryFromList(dict, "parameters", 0, &sub_dict);
481 EXPECT_TRUE(sub_dict->GetString("$ref", &type));
482 EXPECT_EQ("test.foo.TestType", type);
483 GetDictionaryFromList(dict, "parameters", 1, &sub_dict);
484 EXPECT_TRUE(sub_dict->GetString("$ref", &type));
485 EXPECT_EQ("fully.qualified.Type", type);
486 }
487
419 } // namespace 488 } // namespace
420 } // namespace extensions 489 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/common/extensions/api/extension_api.cc ('k') | chrome/common/extensions/api/pageAction.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698