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

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

Issue 375243002: Move ModuleSystemTest and the tests that use it into extensions/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: namespace extensions 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/test/base/module_system_test.h"
6
7 namespace extensions {
8 namespace {
9
10 class SafeBuiltinsUnittest : public ModuleSystemTest {
11 };
12
13 TEST_F(SafeBuiltinsUnittest, TestNotOriginalObject) {
14 ModuleSystem::NativesEnabledScope natives_enabled_scope(
15 env()->module_system());
16 env()->RegisterModule("test",
17 "var assert = requireNative('assert');\n"
18 "Array.foo = 10;\n"
19 "assert.AssertTrue(!$Array.hasOwnProperty('foo'));\n");
20 env()->module_system()->Require("test");
21 }
22
23 TEST_F(SafeBuiltinsUnittest, TestSelf) {
24 ModuleSystem::NativesEnabledScope natives_enabled_scope(
25 env()->module_system());
26 env()->RegisterModule("test",
27 "var assert = requireNative('assert');\n"
28 "Array.foo = 10;\n"
29 "assert.AssertTrue($Array.self.foo == 10);\n"
30 "var arr = $Array.self(1);\n"
31 "assert.AssertTrue(arr.length == 1);\n"
32 "assert.AssertTrue(arr[0] === undefined);\n");
33 env()->module_system()->Require("test");
34 }
35
36 TEST_F(SafeBuiltinsUnittest, TestStaticFunction) {
37 ModuleSystem::NativesEnabledScope natives_enabled_scope(
38 env()->module_system());
39 env()->RegisterModule("test",
40 "var assert = requireNative('assert');\n"
41 "Object.keys = function() {throw new Error()};\n"
42 "var obj = {a: 10};\n"
43 "var keys = $Object.keys(obj);\n"
44 "assert.AssertTrue(keys.length == 1);\n"
45 "assert.AssertTrue(keys[0] == 'a');\n");
46 env()->module_system()->Require("test");
47 }
48
49 TEST_F(SafeBuiltinsUnittest, TestInstanceMethod) {
50 ModuleSystem::NativesEnabledScope natives_enabled_scope(
51 env()->module_system());
52 env()->RegisterModule(
53 "test",
54 "var assert = requireNative('assert');\n"
55 "Array.prototype.push = function() {throw new Error();}\n"
56 "var arr = []\n"
57 "$Array.push(arr, 1);\n"
58 "assert.AssertTrue(arr.length == 1);\n"
59 "assert.AssertTrue(arr[0] == 1);\n");
60 env()->module_system()->Require("test");
61 }
62
63 // NOTE: JSON is already tested in ExtensionApiTest.Messaging, via
64 // chrome/test/data/extensions/api_test/messaging/connect/page.js.
65
66 } // namespace
67 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698