summaryrefslogtreecommitdiff
path: root/std/_util/deep_assign_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/_util/deep_assign_test.ts')
-rw-r--r--std/_util/deep_assign_test.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/std/_util/deep_assign_test.ts b/std/_util/deep_assign_test.ts
new file mode 100644
index 000000000..f1a56e1ad
--- /dev/null
+++ b/std/_util/deep_assign_test.ts
@@ -0,0 +1,24 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+const { test } = Deno;
+import { assertEquals, assert } from "../testing/asserts.ts";
+import { deepAssign } from "./deep_assign.ts";
+
+test("deepAssignTest", function (): void {
+ const date = new Date("1979-05-27T07:32:00Z");
+ const reg = RegExp(/DENOWOWO/);
+ const obj1 = { deno: { bar: { deno: ["is", "not", "node"] } } };
+ const obj2 = { foo: { deno: date } };
+ const obj3 = { foo: { bar: "deno" }, reg: reg };
+ const actual = deepAssign(obj1, obj2, obj3);
+ const expected = {
+ foo: {
+ deno: new Date("1979-05-27T07:32:00Z"),
+ bar: "deno",
+ },
+ deno: { bar: { deno: ["is", "not", "node"] } },
+ reg: RegExp(/DENOWOWO/),
+ };
+ assert(date !== expected.foo.deno);
+ assert(reg !== expected.reg);
+ assertEquals(actual, expected);
+});