diff options
-rw-r--r-- | lib/pure/json.nim | 35 | ||||
-rw-r--r-- | lib/pure/strutils.nim | 9 | ||||
-rw-r--r-- | tests/gc/cyclecollector.nim | 1 | ||||
-rw-r--r-- | tests/js/tvarargs.nim | 3 | ||||
-rw-r--r-- | tests/testament/tester.nim | 2 |
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 |