mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-06 13:07:48 +00:00
Fixed insert for nil seq in js (#10068)
This commit is contained in:
committed by
Andreas Rumpf
parent
237085db5d
commit
39a8ab469a
@@ -1692,7 +1692,7 @@ proc insert*[T](x: var seq[T], item: T, i = 0.Natural) {.noSideEffect.} =
|
||||
else:
|
||||
when defined(js):
|
||||
var it : T
|
||||
{.emit: "`x`.splice(`i`, 0, `it`);".}
|
||||
{.emit: "`x` = `x` || []; `x`.splice(`i`, 0, `it`);".}
|
||||
else:
|
||||
defaultImpl()
|
||||
x[i] = item
|
||||
|
||||
@@ -20,3 +20,35 @@ proc onButtonClick(inputElement: string) {.exportc.} =
|
||||
|
||||
onButtonClick(inputElement)
|
||||
|
||||
block:
|
||||
var s: string
|
||||
s.add("hi")
|
||||
doAssert(s == "hi")
|
||||
|
||||
block:
|
||||
var s: string
|
||||
s.insert("hi", 0)
|
||||
doAssert(s == "hi")
|
||||
|
||||
block:
|
||||
var s: string
|
||||
s.setLen(2)
|
||||
s[0] = 'h'
|
||||
s[1] = 'i'
|
||||
doAssert(s == "hi")
|
||||
|
||||
block:
|
||||
var s: seq[int]
|
||||
s.setLen(2)
|
||||
doAssert(s == @[0, 0])
|
||||
|
||||
block:
|
||||
var s: seq[int]
|
||||
s.insert(2, 0)
|
||||
doAssert(s == @[2])
|
||||
|
||||
block:
|
||||
var s: seq[int]
|
||||
s.add(2)
|
||||
doAssert(s == @[2])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user