forked from Mirror/wren
Tweak new list constructors.
- Remove List.new(_). I was convinced by the issue discussion that using it is probably a bad idea. We don't want to encourage more nulls in the world than there are already are. So let's see if we can live without it and just have List.filled(). That way users think about what they're creating a list *of*. - Added some more tests. - Correctly handle being given a negative size.
This commit is contained in:
8
test/core/list/filled.wren
Normal file
8
test/core/list/filled.wren
Normal file
@ -0,0 +1,8 @@
|
||||
var list = List.filled(3, "value")
|
||||
System.print(list.count) // expect: 3
|
||||
System.print(list) // expect: [value, value, value]
|
||||
|
||||
// Can create an empty list.
|
||||
list = List.filled(0, "value")
|
||||
System.print(list.count) // expect: 0
|
||||
System.print(list) // expect: []
|
||||
1
test/core/list/filled_size_negative.wren
Normal file
1
test/core/list/filled_size_negative.wren
Normal file
@ -0,0 +1 @@
|
||||
List.filled(-1, null) // expect runtime error: Size cannot be negative.
|
||||
1
test/core/list/filled_size_not_int.wren
Normal file
1
test/core/list/filled_size_not_int.wren
Normal file
@ -0,0 +1 @@
|
||||
List.filled(1.2, null) // expect runtime error: Size must be an integer.
|
||||
1
test/core/list/filled_size_not_num.wren
Normal file
1
test/core/list/filled_size_not_num.wren
Normal file
@ -0,0 +1 @@
|
||||
List.filled("not num", null) // expect runtime error: Size must be a number.
|
||||
@ -1,8 +0,0 @@
|
||||
var list = List.new(5)
|
||||
|
||||
System.print(list.count) // expect: 5
|
||||
System.print(list) // expect: [null, null, null, null, null]
|
||||
|
||||
var list2 = List.filled(5, 2)
|
||||
System.print(list2.count) // expect: 5
|
||||
System.print(list2) // expect: [2, 2, 2, 2, 2]
|
||||
Reference in New Issue
Block a user