Better argument validation for some list methods.
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
// TODO: What happens if the index isn't an integer?
|
||||
// TODO: Out of bounds.
|
||||
|
||||
// Add to empty list.
|
||||
var a = []
|
||||
a.insert(1, 0)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.insert("value", 1.5) // expect runtime error: Index must be an integer.
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.insert("value", "2") // expect runtime error: Index must be a number.
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.insert("value", 4) // expect runtime error: Index out of bounds.
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.insert("value", -5) // expect runtime error: Index out of bounds.
|
||||
@@ -0,0 +1,7 @@
|
||||
var a = ["one", "two", "three", "four"]
|
||||
IO.write(a.iterate(null)) // expect: 0
|
||||
IO.write(a.iterate(0)) // expect: 1
|
||||
IO.write(a.iterate(1)) // expect: 2
|
||||
IO.write(a.iterate(2)) // expect: 3
|
||||
IO.write(a.iterate(3)) // expect: false
|
||||
IO.write(a.iterate(-1)) // expect: false
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.iterate(1.5) // expect runtime error: Iterator must be an integer.
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.iterate("2") // expect runtime error: Iterator must be a number.
|
||||
@@ -0,0 +1,5 @@
|
||||
var a = ["one", "two", "three", "four"]
|
||||
IO.write(a.iteratorValue(0)) // expect: one
|
||||
IO.write(a.iteratorValue(1)) // expect: two
|
||||
IO.write(a.iteratorValue(2)) // expect: three
|
||||
IO.write(a.iteratorValue(3)) // expect: four
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.iteratorValue(1.5) // expect runtime error: Iterator must be an integer.
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.iteratorValue("2") // expect runtime error: Iterator must be a number.
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.iteratorValue(4) // expect runtime error: Iterator out of bounds.
|
||||
@@ -0,0 +1,2 @@
|
||||
var a = [1, 2, 3]
|
||||
a.iteratorValue(-5) // expect runtime error: Iterator out of bounds.
|
||||
Reference in New Issue
Block a user