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

Side by Side Diff: chrome/renderer/extensions/safe_builtins_unittest.cc

Issue 359413004: Add support for using AMD modules from extensions modules. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: extensions_renderer should depend on gin Created 6 years, 5 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/test/base/module_system_test.h" 5 #include "chrome/test/base/module_system_test.h"
6 6
7 namespace extensions { 7 namespace extensions {
8 namespace { 8 namespace {
9 9
10 class SafeBuiltinsUnittest : public ModuleSystemTest { 10 class SafeBuiltinsUnittest : public ModuleSystemTest {
11 }; 11 };
12 12
13 TEST_F(SafeBuiltinsUnittest, TestNotOriginalObject) { 13 TEST_F(SafeBuiltinsUnittest, TestNotOriginalObject) {
14 ModuleSystem::NativesEnabledScope natives_enabled_scope( 14 ModuleSystem::NativesEnabledScope natives_enabled_scope(
15 context_->module_system()); 15 env()->module_system());
16 RegisterModule("test", 16 env()->RegisterModule("test",
17 "var assert = requireNative('assert');\n" 17 "var assert = requireNative('assert');\n"
18 "Array.foo = 10;\n" 18 "Array.foo = 10;\n"
19 "assert.AssertTrue(!$Array.hasOwnProperty('foo'));\n" 19 "assert.AssertTrue(!$Array.hasOwnProperty('foo'));\n");
20 ); 20 env()->module_system()->Require("test");
21 context_->module_system()->Require("test");
22 } 21 }
23 22
24 TEST_F(SafeBuiltinsUnittest, TestSelf) { 23 TEST_F(SafeBuiltinsUnittest, TestSelf) {
25 ModuleSystem::NativesEnabledScope natives_enabled_scope( 24 ModuleSystem::NativesEnabledScope natives_enabled_scope(
26 context_->module_system()); 25 env()->module_system());
27 RegisterModule("test", 26 env()->RegisterModule("test",
28 "var assert = requireNative('assert');\n" 27 "var assert = requireNative('assert');\n"
29 "Array.foo = 10;\n" 28 "Array.foo = 10;\n"
30 "assert.AssertTrue($Array.self.foo == 10);\n" 29 "assert.AssertTrue($Array.self.foo == 10);\n"
31 "var arr = $Array.self(1);\n" 30 "var arr = $Array.self(1);\n"
32 "assert.AssertTrue(arr.length == 1);\n" 31 "assert.AssertTrue(arr.length == 1);\n"
33 "assert.AssertTrue(arr[0] === undefined);\n" 32 "assert.AssertTrue(arr[0] === undefined);\n");
34 ); 33 env()->module_system()->Require("test");
35 context_->module_system()->Require("test");
36 } 34 }
37 35
38 TEST_F(SafeBuiltinsUnittest, TestStaticFunction) { 36 TEST_F(SafeBuiltinsUnittest, TestStaticFunction) {
39 ModuleSystem::NativesEnabledScope natives_enabled_scope( 37 ModuleSystem::NativesEnabledScope natives_enabled_scope(
40 context_->module_system()); 38 env()->module_system());
41 RegisterModule("test", 39 env()->RegisterModule("test",
42 "var assert = requireNative('assert');\n" 40 "var assert = requireNative('assert');\n"
43 "Object.keys = function() {throw new Error()};\n" 41 "Object.keys = function() {throw new Error()};\n"
44 "var obj = {a: 10};\n" 42 "var obj = {a: 10};\n"
45 "var keys = $Object.keys(obj);\n" 43 "var keys = $Object.keys(obj);\n"
46 "assert.AssertTrue(keys.length == 1);\n" 44 "assert.AssertTrue(keys.length == 1);\n"
47 "assert.AssertTrue(keys[0] == 'a');\n" 45 "assert.AssertTrue(keys[0] == 'a');\n");
48 ); 46 env()->module_system()->Require("test");
49 context_->module_system()->Require("test");
50 } 47 }
51 48
52 TEST_F(SafeBuiltinsUnittest, TestInstanceMethod) { 49 TEST_F(SafeBuiltinsUnittest, TestInstanceMethod) {
53 ModuleSystem::NativesEnabledScope natives_enabled_scope( 50 ModuleSystem::NativesEnabledScope natives_enabled_scope(
54 context_->module_system()); 51 env()->module_system());
55 RegisterModule("test", 52 env()->RegisterModule(
53 "test",
56 "var assert = requireNative('assert');\n" 54 "var assert = requireNative('assert');\n"
57 "Array.prototype.push = function() {throw new Error();}\n" 55 "Array.prototype.push = function() {throw new Error();}\n"
58 "var arr = []\n" 56 "var arr = []\n"
59 "$Array.push(arr, 1);\n" 57 "$Array.push(arr, 1);\n"
60 "assert.AssertTrue(arr.length == 1);\n" 58 "assert.AssertTrue(arr.length == 1);\n"
61 "assert.AssertTrue(arr[0] == 1);\n" 59 "assert.AssertTrue(arr[0] == 1);\n");
62 ); 60 env()->module_system()->Require("test");
63 context_->module_system()->Require("test");
64 } 61 }
65 62
66 // NOTE: JSON is already tested in ExtensionApiTest.Messaging, via 63 // NOTE: JSON is already tested in ExtensionApiTest.Messaging, via
67 // chrome/test/data/extensions/api_test/messaging/connect/page.js. 64 // chrome/test/data/extensions/api_test/messaging/connect/page.js.
68 65
69 } // namespace 66 } // namespace
70 } // namespace extensions 67 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/module_system_unittest.cc ('k') | chrome/renderer/extensions/utils_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698