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

Unified Diff: chrome/renderer/extensions/utils_unittest.cc

Issue 332233002: enterprise.platformKeys: Copy-on-read the 'algorithm' member of Key objects. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ensure that crx is up-to-date. Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/extensions/utils_unittest.cc
diff --git a/chrome/renderer/extensions/utils_unittest.cc b/chrome/renderer/extensions/utils_unittest.cc
index 3a718ddccd14a4477469f25e7566a2054f5a8f7c..7145d431aaa6d1ac31a6b5d9fb3d966b9bd98836 100644
--- a/chrome/renderer/extensions/utils_unittest.cc
+++ b/chrome/renderer/extensions/utils_unittest.cc
@@ -119,5 +119,44 @@ TEST_F(UtilsUnittest, SuperClass) {
context_->module_system()->Require("test");
}
+TEST_F(UtilsUnittest, DeepCopy) {
+ ModuleSystem::NativesEnabledScope natives_enabled_scope(
+ context_->module_system());
+ RegisterTestModule(
+ "var nested = {\n"
+ " string: 'abc',\n"
+ " _null: null\n"
+ "};\n"
+ "var top = {\n"
+ " array: [1, 'abc', nested],\n"
+ " uint8array: new Uint8Array([1,2,3])\n"
+ "};\n"
+ "\n"
+ "var copy = utils.deepCopy(top);\n"
+ "// Ensure that the copy is not referencing to the original.\n"
+ "AssertTrue(copy !== top);\n"
+ "AssertTrue(copy.array !== top.array);\n"
+ "AssertTrue(copy.array[2] !== top.array[2]);\n"
+ "AssertTrue(copy.uint8array !== top.uint8array);\n"
+ "AssertTrue(copy.uint8array.buffer !== top.uint8array.buffer);\n"
+ "\n"
+ "// Check |copy|.\n"
+ "AssertTrue(Object.keys(copy) == 'array,uint8array');\n"
+ "\n"
+ "// Check |copy.array|.\n"
+ "AssertTrue(Array.isArray(copy.array));\n"
+ "AssertTrue(copy.array.length === 3);\n"
+ "AssertTrue(copy.array[0] === 1);\n"
+ "AssertTrue(copy.array[1] === 'abc');\n"
+ "\n"
+ "// Check |copy.array[2]|.\n"
+ "var copyNested = copy.array[2];\n"
+ "AssertTrue(Object.keys(copyNested) == 'string,_null');\n"
+ "AssertTrue(copyNested.string === 'abc');\n"
+ "AssertTrue(copyNested._null === null);\n");
+
+ context_->module_system()->Require("test");
+}
+
} // namespace
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698