summary refs log tree commit diff stats
path: root/tests/int/tunsignedconv.nim
diff options
context:
space:
mode:
authorkonsumlamm <44230978+konsumlamm@users.noreply.github.com>2023-08-06 14:24:35 +0200
committerGitHub <noreply@github.com>2023-08-06 14:24:35 +0200
commit53586d1f32dfe4f2e859178a3e43a6614520763f (patch)
treed8d96d8148feef252d860cd8f3e0afbf5731e2fd /tests/int/tunsignedconv.nim
parent67122a9cb6be78b070a71941e74cbcc812633fa6 (diff)
downloadNim-53586d1f32dfe4f2e859178a3e43a6614520763f.tar.gz
Fix some jsgen bugs (#22330)
Fix `succ`, `pred`
Fix `genRangeChck` for unsigned ints
Fix typo in `dec`
Diffstat (limited to 'tests/int/tunsignedconv.nim')
-rw-r--r--tests/int/tunsignedconv.nim36
1 files changed, 27 insertions, 9 deletions
diff --git a/tests/int/tunsignedconv.nim b/tests/int/tunsignedconv.nim
index c32f85b4d..6c73521d3 100644
--- a/tests/int/tunsignedconv.nim
+++ b/tests/int/tunsignedconv.nim
@@ -1,15 +1,19 @@
+discard """
+  targets: "c cpp js"
+"""
+
 # Tests unsigned literals and implicit conversion between uints and ints
 
-var h8:uint8 = 128
-var h16:uint16 = 32768
-var h32:uint32 = 2147483648'u32
-var h64:uint64 = 9223372036854775808'u64
-var foobar:uint64 = 9223372036854775813'u64 # Issue 728
+var h8: uint8 = 128
+var h16: uint16 = 32768
+var h32: uint32 = 2147483648'u32
+var h64: uint64 = 9223372036854775808'u64
+var foobar: uint64 = 9223372036854775813'u64 # Issue 728
 
-var v8:uint8 = 10
-var v16:uint16 = 10
-var v32:uint32 = 10
-var v64:uint64 = 10
+var v8: uint8 = 10
+var v16: uint16 = 10
+var v32: uint32 = 10
+var v64: uint64 = 10
 
 # u8 + literal produces u8:
 var a8: uint8 = v8 + 10
@@ -95,3 +99,17 @@ template main() =
 
 static: main()
 main()
+
+block:
+  let a = uint64.high
+  let b = uint32.high
+
+  doAssert a.uint64 == a
+  doAssert a.uint32 == uint32.high
+  doAssert a.uint16 == uint16.high
+  doAssert a.uint8 == uint8.high
+
+  doAssert b.uint64 == b
+  doAssert b.uint32 == b
+  doAssert b.uint16 == uint16.high
+  doAssert b.uint8 == uint8.high