diff options
Diffstat (limited to 'tests/js/taddr.nim')
-rw-r--r-- | tests/js/taddr.nim | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/tests/js/taddr.nim b/tests/js/taddr.nim deleted file mode 100644 index 1fba30d55..000000000 --- a/tests/js/taddr.nim +++ /dev/null @@ -1,72 +0,0 @@ -discard """ - action: run -""" - -type T = object - x: int - s: string - -var obj: T -var fieldAddr = addr(obj.x) -var objAddr = addr(obj) - -# Integer tests -var field = fieldAddr[] -doAssert field == 0 - -var objDeref = objAddr[] -doAssert objDeref.x == 0 - -# Change value -obj.x = 42 - -doAssert field == 0 -doAssert objDeref.x == 0 - -field = fieldAddr[] -objDeref = objAddr[] - -doAssert field == 42 -doAssert objDeref.x == 42 - -# String tests -obj.s = "lorem ipsum dolor sit amet" -var indexAddr = addr(obj.s[2]) - -doAssert indexAddr[] == 'r' - -indexAddr[] = 'd' - -doAssert indexAddr[] == 'd' - -doAssert obj.s == "lodem ipsum dolor sit amet" - -# Bug #2148 -var x: array[2, int] -var y = addr x[1] - -y[] = 12 -doAssert(x[1] == 12) - -type - Foo = object - bar: int - -var foo: array[2, Foo] -var z = addr foo[1] - -z[].bar = 12345 -doAssert(foo[1].bar == 12345) - -var t : tuple[a, b: int] -var pt = addr t[1] -pt[] = 123 -doAssert(t.b == 123) - -#block: # Test "untyped" pointer. -proc testPtr(p: pointer, a: int) = - doAssert(a == 5) - (cast[ptr int](p))[] = 124 -var i = 123 -testPtr(addr i, 5) -doAssert(i == 124) |