| Index: chrome/renderer/module_system_unittest.cc
|
| diff --git a/chrome/renderer/module_system_unittest.cc b/chrome/renderer/module_system_unittest.cc
|
| deleted file mode 100644
|
| index 03fc17c4c88af3abf0c6ba083e9f9de477db9b75..0000000000000000000000000000000000000000
|
| --- a/chrome/renderer/module_system_unittest.cc
|
| +++ /dev/null
|
| @@ -1,227 +0,0 @@
|
| -// Copyright (c) 2012 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 "chrome/test/base/module_system_test.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "chrome/renderer/module_system.h"
|
| -
|
| -class CounterNatives : public NativeHandler {
|
| - public:
|
| - CounterNatives() : counter_(0) {
|
| - RouteFunction("Get", base::Bind(&CounterNatives::Get,
|
| - base::Unretained(this)));
|
| - RouteFunction("Increment", base::Bind(&CounterNatives::Increment,
|
| - base::Unretained(this)));
|
| - }
|
| -
|
| - v8::Handle<v8::Value> Get(const v8::Arguments& args) {
|
| - return v8::Integer::New(counter_);
|
| - }
|
| -
|
| - v8::Handle<v8::Value> Increment(const v8::Arguments& args) {
|
| - counter_++;
|
| - return v8::Undefined();
|
| - }
|
| -
|
| - private:
|
| - int counter_;
|
| -};
|
| -
|
| -TEST_F(ModuleSystemTest, TestRequire) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - RegisterModule("add", "exports.Add = function(x, y) { return x + y; };");
|
| - RegisterModule("test",
|
| - "var Add = require('add').Add;"
|
| - "requireNative('assert').AssertTrue(Add(3, 5) == 8);");
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestNestedRequire) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - RegisterModule("add", "exports.Add = function(x, y) { return x + y; };");
|
| - RegisterModule("double",
|
| - "var Add = require('add').Add;"
|
| - "exports.Double = function(x) { return Add(x, x); };");
|
| - RegisterModule("test",
|
| - "var Double = require('double').Double;"
|
| - "requireNative('assert').AssertTrue(Double(3) == 6);");
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestModuleInsulation) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - RegisterModule("x",
|
| - "var x = 10;"
|
| - "exports.X = function() { return x; };");
|
| - RegisterModule("y",
|
| - "var x = 15;"
|
| - "require('x');"
|
| - "exports.Y = function() { return x; };");
|
| - RegisterModule("test",
|
| - "var Y = require('y').Y;"
|
| - "var X = require('x').X;"
|
| - "var assert = requireNative('assert');"
|
| - "assert.AssertTrue(!this.hasOwnProperty('x'));"
|
| - "assert.AssertTrue(Y() == 15);"
|
| - "assert.AssertTrue(X() == 10);");
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestNativesAreDisabledOutsideANativesEnabledScope) {
|
| - RegisterModule("test",
|
| - "var assert;"
|
| - "try {"
|
| - " assert = requireNative('assert');"
|
| - "} catch (e) {"
|
| - " caught = true;"
|
| - "}"
|
| - "if (assert) {"
|
| - " assert.AssertTrue(true);"
|
| - "}");
|
| - module_system_->Require("test");
|
| - ExpectNoAssertionsMade();
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestNativesAreEnabledWithinANativesEnabledScope) {
|
| - RegisterModule("test",
|
| - "var assert = requireNative('assert');"
|
| - "assert.AssertTrue(true);");
|
| -
|
| - {
|
| - ModuleSystem::NativesEnabledScope natives_enabled(module_system_.get());
|
| - {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_inner(
|
| - module_system_.get());
|
| - }
|
| - module_system_->Require("test");
|
| - }
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestLazyField) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - RegisterModule("lazy",
|
| - "exports.x = 5;");
|
| -
|
| - v8::Handle<v8::Object> object = CreateGlobal("object");
|
| -
|
| - module_system_->SetLazyField(object, "blah", "lazy", "x");
|
| -
|
| - RegisterModule("test",
|
| - "var assert = requireNative('assert');"
|
| - "assert.AssertTrue(object.blah == 5);");
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestLazyFieldYieldingObject) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - RegisterModule("lazy",
|
| - "var object = {};"
|
| - "object.__defineGetter__('z', function() { return 1; });"
|
| - "object.x = 5;"
|
| - "object.y = function() { return 10; };"
|
| - "exports.object = object;");
|
| -
|
| - v8::Handle<v8::Object> object = CreateGlobal("object");
|
| -
|
| - module_system_->SetLazyField(object, "thing", "lazy", "object");
|
| -
|
| - RegisterModule("test",
|
| - "var assert = requireNative('assert');"
|
| - "assert.AssertTrue(object.thing.x == 5);"
|
| - "assert.AssertTrue(object.thing.y() == 10);"
|
| - "assert.AssertTrue(object.thing.z == 1);"
|
| - );
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestLazyFieldIsOnlyEvaledOnce) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - module_system_->RegisterNativeHandler(
|
| - "counter",
|
| - scoped_ptr<NativeHandler>(new CounterNatives()));
|
| - RegisterModule("lazy",
|
| - "requireNative('counter').Increment();"
|
| - "exports.x = 5;");
|
| -
|
| - v8::Handle<v8::Object> object = CreateGlobal("object");
|
| -
|
| - module_system_->SetLazyField(object, "x", "lazy", "x");
|
| -
|
| - RegisterModule("test",
|
| - "var assert = requireNative('assert');"
|
| - "var counter = requireNative('counter');"
|
| - "assert.AssertTrue(counter.Get() == 0);"
|
| - "object.x;"
|
| - "assert.AssertTrue(counter.Get() == 1);"
|
| - "object.x;"
|
| - "assert.AssertTrue(counter.Get() == 1);");
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestRequireNativesAfterLazyEvaluation) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - RegisterModule("lazy",
|
| - "exports.x = 5;");
|
| - v8::Handle<v8::Object> object = CreateGlobal("object");
|
| -
|
| - module_system_->SetLazyField(object, "x", "lazy", "x");
|
| - RegisterModule("test",
|
| - "object.x;"
|
| - "requireNative('assert').AssertTrue(true);");
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestTransitiveRequire) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - RegisterModule("dependency",
|
| - "exports.x = 5;");
|
| - RegisterModule("lazy",
|
| - "exports.output = require('dependency');");
|
| -
|
| - v8::Handle<v8::Object> object = CreateGlobal("object");
|
| -
|
| - module_system_->SetLazyField(object, "thing", "lazy", "output");
|
| -
|
| - RegisterModule("test",
|
| - "var assert = requireNative('assert');"
|
| - "assert.AssertTrue(object.thing.x == 5);");
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestModulesOnlyGetEvaledOnce) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - module_system_->RegisterNativeHandler(
|
| - "counter",
|
| - scoped_ptr<NativeHandler>(new CounterNatives()));
|
| -
|
| - RegisterModule("incrementsWhenEvaled",
|
| - "requireNative('counter').Increment();");
|
| - RegisterModule("test",
|
| - "var assert = requireNative('assert');"
|
| - "var counter = requireNative('counter');"
|
| - "assert.AssertTrue(counter.Get() == 0);"
|
| - "require('incrementsWhenEvaled');"
|
| - "assert.AssertTrue(counter.Get() == 1);"
|
| - "require('incrementsWhenEvaled');"
|
| - "assert.AssertTrue(counter.Get() == 1);");
|
| -
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestOverrideNativeHandler) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - OverrideNativeHandler("assert", "exports.AssertTrue = function() {};");
|
| - RegisterModule("test", "requireNative('assert').AssertTrue(true);");
|
| - ExpectNoAssertionsMade();
|
| - module_system_->Require("test");
|
| -}
|
| -
|
| -TEST_F(ModuleSystemTest, TestOverrideNonExistentNativeHandler) {
|
| - ModuleSystem::NativesEnabledScope natives_enabled_scope(module_system_.get());
|
| - OverrideNativeHandler("thing", "exports.x = 5;");
|
| - RegisterModule("test",
|
| - "var assert = requireNative('assert');"
|
| - "assert.AssertTrue(requireNative('thing').x == 5);");
|
| - module_system_->Require("test");
|
| -}
|
|
|