-
Notifications
You must be signed in to change notification settings - Fork 87
Expand file tree
/
Copy pathstring_split_test.rb
More file actions
111 lines (94 loc) · 4.32 KB
/
Copy pathstring_split_test.rb
File metadata and controls
111 lines (94 loc) · 4.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
class StringSplitTest < Picotest::Test
#
# Regex not supported.
#
description "String"
def test_string
assert_equal ["a","b","c"], "a,b,c".split(",")
assert_equal ["a","","b","c"], "a,,b,c".split(",")
assert_equal ["a","b:c","d"], "a::b:c::d".split("::")
assert_equal ["a","b:c","d:"], "a::b:c::d:".split("::")
assert_equal ["a","b:c","d"], "a::b:c::d::".split("::")
assert_equal ["a", "b:c", "d", ":"], "a::b:c::d:::".split("::")
end
description "space"
def test_space
assert_equal ["a", "b", "c"], " a \t b \n c\r\n".split(" ")
assert_equal ["a", "b", "c"], "a \t b \n c\r\n".split(" ")
assert_equal ["a", "b", "c"], " a \t b \n c".split(" ")
assert_equal ["a", "b", "c"], "a \t b \n c".split(" ")
assert_equal ["aa", "bb", "cc"], " aa bb cc ".split(" ")
assert_equal ["aa", "bb", "cc"], "aa bb cc ".split(" ")
assert_equal ["aa", "bb", "cc"], " aa bb cc".split(" ")
assert_equal ["aa", "bb", "cc"], "aa bb cc".split(" ")
end
description "nil"
def test_nil
assert_equal ["a", "b", "c"], " a \t b \n c".split()
assert_equal ["a", "b", "c"], " a \t b \n c".split(nil)
end
description "empty string"
def test_empty_string
assert_equal [" ", " ", " ", "a", " ", "\t", " ", " ", "b", " ", "\n", " ", " ", "c"], " a \t b \n c".split("")
end
description "limit"
def test_limit
assert_equal ["a", "b", "", "c"], "a,b,,c,,".split(",", 0)
assert_equal ["a,b,,c,,"], "a,b,,c,,".split(",", 1)
assert_equal ["a", "b,,c,,"], "a,b,,c,,".split(",", 2)
assert_equal ["a", "b", ",c,,"], "a,b,,c,,".split(",", 3)
assert_equal ["a", "b", "", "c,,"], "a,b,,c,,".split(",", 4)
assert_equal ["a", "b", "", "c", ","], "a,b,,c,,".split(",", 5)
assert_equal ["a", "b", "", "c", "", ""], "a,b,,c,,".split(",", 6)
assert_equal ["a", "b", "", "c", "", ""], "a,b,,c,,".split(",", 7)
assert_equal ["a", "b", "", "c", "", ""], "a,b,,c,,".split(",", -1)
assert_equal ["a", "b", "", "c", "", ""], "a,b,,c,,".split(",", -2)
assert_equal ["aa", "bb", "cc"], " aa bb cc ".split(" ", 0)
assert_equal [" aa bb cc "], " aa bb cc ".split(" ", 1)
assert_equal ["aa", "bb cc "], " aa bb cc ".split(" ", 2)
assert_equal ["aa", "bb", "cc "], " aa bb cc ".split(" ", 3)
assert_equal ["aa", "bb", "cc", ""], " aa bb cc ".split(" ", 4)
assert_equal ["aa", "bb", "cc", ""], " aa bb cc ".split(" ", 5)
assert_equal ["aa", "bb", "cc", ""], " aa bb cc ".split(" ",-1)
assert_equal ["aa", "bb", "cc"], "aa bb cc".split(" ", 0)
assert_equal ["aa bb cc"], "aa bb cc".split(" ", 1)
assert_equal ["aa", "bb cc"], "aa bb cc".split(" ", 2)
assert_equal ["aa", "bb", "cc"], "aa bb cc".split(" ", 3)
assert_equal ["aa", "bb", "cc"], "aa bb cc".split(" ", 4)
assert_equal ["aa", "bb", "cc"], "aa bb cc".split(" ",-1)
end
description "empty source"
def test_empty_source
assert_equal [], "".split(",")
assert_equal [], "".split(",", 0)
assert_equal [], "".split(",", 1)
assert_equal [], "".split(",",-1)
assert_equal [], "".split("")
assert_equal [], "".split("", 0)
assert_equal [], "".split("", 1)
assert_equal [], "".split("",-1)
assert_equal [], "".split(" ")
assert_equal [], "".split(" ", 0)
assert_equal [], "".split(" ", 1)
assert_equal [], "".split(" ",-1)
end
description "delimiter only"
def test_delimiter_only
assert_equal [], ",".split(",")
assert_equal [], ",".split(",", 0)
assert_equal [","], ",".split(",", 1)
assert_equal ["",""], ",".split(",",-1)
assert_equal [], ",,".split(",")
assert_equal [], ",,".split(",", 0)
assert_equal [",,"], ",,".split(",", 1)
assert_equal ["","",""],",,".split(",",-1)
assert_equal [], " ".split(" ")
assert_equal [], " ".split(" ", 0)
assert_equal [" "], " ".split(" ", 1)
assert_equal [""], " ".split(" ",-1)
assert_equal [], " ".split(" ")
assert_equal [], " ".split(" ", 0)
assert_equal [" "], " ".split(" ", 1)
assert_equal [""], " ".split(" ",-1)
end
end