| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/strings/stringprintf.h" | 5 #include "base/strings/stringprintf.h" |
| 6 #include "chrome/test/base/module_system_test.h" | 6 #include "chrome/test/base/module_system_test.h" |
| 7 #include "grit/extensions_renderer_resources.h" | 7 #include "grit/extensions_renderer_resources.h" |
| 8 | 8 |
| 9 namespace extensions { | 9 namespace extensions { |
| 10 namespace { | 10 namespace { |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 112 "AssertTrue(subsub.superFunc() == 'superFunc');\n" | 112 "AssertTrue(subsub.superFunc() == 'superFunc');\n" |
| 113 "AssertTrue(subsub.subFunc() == 'subFunc');\n" | 113 "AssertTrue(subsub.subFunc() == 'subFunc');\n" |
| 114 "AssertTrue(subsub.subSubFunc() == 'subsub');\n" | 114 "AssertTrue(subsub.subSubFunc() == 'subsub');\n" |
| 115 "AssertTrue(subsub instanceof SuperClass);\n" | 115 "AssertTrue(subsub instanceof SuperClass);\n" |
| 116 "AssertTrue(subsub instanceof SubClass);\n" | 116 "AssertTrue(subsub instanceof SubClass);\n" |
| 117 "AssertTrue(subsub instanceof SubSubClass);\n"); | 117 "AssertTrue(subsub instanceof SubSubClass);\n"); |
| 118 | 118 |
| 119 context_->module_system()->Require("test"); | 119 context_->module_system()->Require("test"); |
| 120 } | 120 } |
| 121 | 121 |
| 122 TEST_F(UtilsUnittest, DeepCopy) { |
| 123 ModuleSystem::NativesEnabledScope natives_enabled_scope( |
| 124 context_->module_system()); |
| 125 RegisterTestModule( |
| 126 "var nested = {\n" |
| 127 " string: 'abc',\n" |
| 128 " _null: null\n" |
| 129 "};\n" |
| 130 "var top = {\n" |
| 131 " array: [1, 'abc', nested],\n" |
| 132 " uint8array: new Uint8Array([1,2,3])\n" |
| 133 "};\n" |
| 134 "\n" |
| 135 "var copy = utils.deepCopy(top);\n" |
| 136 "// Ensure that the copy is not referencing to the original.\n" |
| 137 "AssertTrue(copy !== top);\n" |
| 138 "AssertTrue(copy.array !== top.array);\n" |
| 139 "AssertTrue(copy.array[2] !== top.array[2]);\n" |
| 140 "AssertTrue(copy.uint8array !== top.uint8array);\n" |
| 141 "AssertTrue(copy.uint8array.buffer !== top.uint8array.buffer);\n" |
| 142 "\n" |
| 143 "// Check |copy|.\n" |
| 144 "AssertTrue(Object.keys(copy) == 'array,uint8array');\n" |
| 145 "\n" |
| 146 "// Check |copy.array|.\n" |
| 147 "AssertTrue(Array.isArray(copy.array));\n" |
| 148 "AssertTrue(copy.array.length === 3);\n" |
| 149 "AssertTrue(copy.array[0] === 1);\n" |
| 150 "AssertTrue(copy.array[1] === 'abc');\n" |
| 151 "\n" |
| 152 "// Check |copy.array[2]|.\n" |
| 153 "var copyNested = copy.array[2];\n" |
| 154 "AssertTrue(Object.keys(copyNested) == 'string,_null');\n" |
| 155 "AssertTrue(copyNested.string === 'abc');\n" |
| 156 "AssertTrue(copyNested._null === null);\n"); |
| 157 |
| 158 context_->module_system()->Require("test"); |
| 159 } |
| 160 |
| 122 } // namespace | 161 } // namespace |
| 123 } // namespace extensions | 162 } // namespace extensions |
| OLD | NEW |