summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/json.nim35
-rw-r--r--lib/pure/strutils.nim9
-rw-r--r--tests/gc/cyclecollector.nim1
-rw-r--r--tests/js/tvarargs.nim3
-rw-r--r--tests/testament/tester.nim2
5 files changed, 28 insertions, 22 deletions
diff --git a/lib/pure/json.nim b/lib/pure/json.nim
index 1bd53edb7..67f92dffe 100644
--- a/lib/pure/json.nim
+++ b/lib/pure/json.nim
@@ -1496,22 +1496,23 @@ when isMainModule:
   doAssert parsedAgain["abc"].num == 5
 
   # Bounds checking
-  try:
-    let a = testJson["a"][9]
-    doAssert(false, "IndexError not thrown")
-  except IndexError:
-    discard
-  try:
-    let a = testJson["a"][-1]
-    doAssert(false, "IndexError not thrown")
-  except IndexError:
-    discard
-  try:
-    doAssert(testJson["a"][0].num == 1, "Index doesn't correspond to its value")
-  except:
-    doAssert(false, "IndexError thrown for valid index")
-
-  doAssert(testJson{"b"}.str=="asd", "Couldn't fetch a singly nested key with {}")
+  when compileOption("boundChecks"):
+    try:
+      let a = testJson["a"][9]
+      doAssert(false, "IndexError not thrown")
+    except IndexError:
+      discard
+    try:
+      let a = testJson["a"][-1]
+      doAssert(false, "IndexError not thrown")
+    except IndexError:
+      discard
+    try:
+      doAssert(testJson["a"][0].num == 1, "Index doesn't correspond to its value")
+    except:
+      doAssert(false, "IndexError thrown for valid index")
+
+  doAssert(testJson{"b"}.getStr()=="asd", "Couldn't fetch a singly nested key with {}")
   doAssert(isNil(testJson{"nonexistent"}), "Non-existent keys should return nil")
   doAssert(isNil(testJson{"a", "b"}), "Indexing through a list should return nil")
   doAssert(isNil(testJson{"a", "b"}), "Indexing through a list should return nil")
@@ -1602,5 +1603,3 @@ when isMainModule:
   # bug #6438
   doAssert($ %*[] == "[]")
   doAssert($ %*{} == "{}")
-
-  echo("Tests succeeded!")
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim
index ab34a0b2d..f8c5f9a91 100644
--- a/lib/pure/strutils.nim
+++ b/lib/pure/strutils.nim
@@ -2389,19 +2389,22 @@ proc removePrefix*(s: var string, prefix: string) {.
 when isMainModule:
   proc nonStaticTests =
     doAssert formatBiggestFloat(1234.567, ffDecimal, -1) == "1234.567000"
-    doAssert formatBiggestFloat(1234.567, ffDecimal, 0) == "1235."
+    when not defined(js):
+      doAssert formatBiggestFloat(1234.567, ffDecimal, 0) == "1235."           # <=== bug 8242
     doAssert formatBiggestFloat(1234.567, ffDecimal, 1) == "1234.6"
     doAssert formatBiggestFloat(0.00000000001, ffDecimal, 11) == "0.00000000001"
     doAssert formatBiggestFloat(0.00000000001, ffScientific, 1, ',') in
                                                      ["1,0e-11", "1,0e-011"]
     # bug #6589
-    doAssert formatFloat(123.456, ffScientific, precision = -1) == "1.234560e+02"
+    when not defined(js):
+      doAssert formatFloat(123.456, ffScientific, precision = -1) == "1.234560e+02"
 
     doAssert "$# $3 $# $#" % ["a", "b", "c"] == "a c b c"
     doAssert "${1}12 ${-1}$2" % ["a", "b"] == "a12 bb"
 
     block: # formatSize tests
-      doAssert formatSize((1'i64 shl 31) + (300'i64 shl 20)) == "2.293GiB"
+      when not defined(js):
+        doAssert formatSize((1'i64 shl 31) + (300'i64 shl 20)) == "2.293GiB"   # <=== bug #8231
       doAssert formatSize((2.234*1024*1024).int) == "2.234MiB"
       doAssert formatSize(4096) == "4KiB"
       doAssert formatSize(4096, prefix=bpColloquial, includeSpace=true) == "4 kB"
diff --git a/tests/gc/cyclecollector.nim b/tests/gc/cyclecollector.nim
index 46fed6c45..7b47758f2 100644
--- a/tests/gc/cyclecollector.nim
+++ b/tests/gc/cyclecollector.nim
@@ -16,6 +16,5 @@ proc main =
     var leaf = "this is the leaf. it allocates"
     let x = createCycle(leaf)
     let y = createCycle(leaf)
-  echo "done ", getOccupiedMem()
 
 main()
diff --git a/tests/js/tvarargs.nim b/tests/js/tvarargs.nim
index 2ddb421f8..b8c532767 100644
--- a/tests/js/tvarargs.nim
+++ b/tests/js/tvarargs.nim
@@ -1,3 +1,6 @@
+discard """
+  output: "Hello, world"
+"""
 
 # bug #3584
 
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index 0764b6363..136a509e4 100644
--- a/tests/testament/tester.nim
+++ b/tests/testament/tester.nim
@@ -297,6 +297,8 @@ proc testSpec(r: var TResults, test: TTest, target = targetC) =
   var expected: TSpec
   if test.action != actionRunNoSpec:
     expected = parseSpec(tname)
+    if test.action == actionRun and expected.action == actionCompile:
+      expected.action = actionRun
   else:
     specDefaults expected
     expected.action = actionRunNoSpec