Fixed insert for nil seq in js (#10068)
This commit is contained in:
parent
237085db5d
commit
39a8ab469a
2 changed files with 33 additions and 1 deletions
|
|
@ -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])
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue