diff options
author | Araq <rumpf_a@web.de> | 2018-09-03 11:13:59 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2018-09-03 11:13:59 +0200 |
commit | e0fd1cdb5fda1dd3e2e38d7741dcb899c9c5d5bb (patch) | |
tree | ec6c2ecff3604d8d9b041c623dea18cb124fab4c | |
parent | b3c3a463177ebb0aeb6e9eb11788230ab91c3f08 (diff) | |
download | Nim-e0fd1cdb5fda1dd3e2e38d7741dcb899c9c5d5bb.tar.gz |
fix items for cstring for the JS target; makes tests green again
-rw-r--r-- | lib/system.nim | 15 | ||||
-rw-r--r-- | tests/js/tseqops.nim | 4 |
2 files changed, 13 insertions, 6 deletions
diff --git a/lib/system.nim b/lib/system.nim index 973a09e99..3a18a715c 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -2195,10 +2195,17 @@ iterator items*[T](a: set[T]): T {.inline.} = iterator items*(a: cstring): char {.inline.} = ## iterates over each item of `a`. - var i = 0 - while a[i] != '\0': - yield a[i] - inc(i) + when defined(js): + var i = 0 + var L = len(a) + while i < L: + yield a[i] + inc(i) + else: + var i = 0 + while a[i] != '\0': + yield a[i] + inc(i) iterator mitems*(a: var cstring): var char {.inline.} = ## iterates over each item of `a` so that you can modify the yielded value. diff --git a/tests/js/tseqops.nim b/tests/js/tseqops.nim index d10e1ca6a..af664222c 100644 --- a/tests/js/tseqops.nim +++ b/tests/js/tseqops.nim @@ -1,8 +1,8 @@ discard """ output: '''(x: 0, y: 0) (x: 5, y: 0) -@[(x: 2, y: 4), (x: 4, y: 5), (x: 4, y: 5)] -@[(a: 3, b: 3), (a: 1, b: 1), (a: 2, b: 2)] +@[(x: "2", y: 4), (x: "4", y: 5), (x: "4", y: 5)] +@[(a: "3", b: 3), (a: "1", b: 1), (a: "2", b: 2)] ''' """ |