summary refs log tree commit diff stats
path: root/tests/js/trefbyvar.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/js/trefbyvar.nim')
-rw-r--r--tests/js/trefbyvar.nim36
1 files changed, 35 insertions, 1 deletions
diff --git a/tests/js/trefbyvar.nim b/tests/js/trefbyvar.nim
index 68dd36543..5b168044e 100644
--- a/tests/js/trefbyvar.nim
+++ b/tests/js/trefbyvar.nim
@@ -2,7 +2,9 @@ discard """
   output: '''0
 5
 0
-5'''
+5
+@[1, 2]
+~'''
 """
 
 # bug #2476
@@ -33,3 +35,35 @@ proc main =
   echo t.m
 
 main()
+
+# bug #5974
+type
+  View* = object
+    data: ref seq[int]
+
+let a = View(data: new(seq[int]))
+a.data[] = @[1, 2]
+
+echo a.data[]
+
+# bug #5379
+var input = newSeq[ref string]()
+input.add(nil)
+input.add(new string)
+input[1][] = "~"
+echo input[1][]
+
+# bug #5517
+type
+  TypeA1 = object of RootObj
+    a_impl: int
+    b_impl: string
+    c_impl: pointer
+
+proc initTypeA1(a: int; b: string; c: pointer = nil): TypeA1 =
+  result.a_impl = a
+  result.b_impl = b
+  result.c_impl = c
+
+let x = initTypeA1(1, "a")
+doAssert($x == "(a_impl: 1, b_impl: \"a\", c_impl: ...)")