1
+ mut a := ''
2
+ assert a.is_ascii()
3
+ a = ' Aö~'
4
+ assert !a.is_ascii()
5
+
6
+
7
+ assert ''.is_ascii() == true
8
+ assert ' '.is_ascii() == true
9
+ assert '~~'.is_ascii() == true
10
+ assert ' Az~'.is_ascii() == true
11
+ assert ' Aö~'.is_ascii() == false
12
+ assert '👋'.is_ascii() == false
13
+ assert 'a👋bc'.is_ascii() == false
14
+ assert ''.is_identifier() == false
15
+ assert ' '.is_identifier() == false
16
+ assert '~~'.is_identifier() == false
17
+ assert '_Az~'.is_identifier() == false
18
+ assert '_Aö~'.is_identifier() == false
19
+ assert '👋'.is_identifier() == false
20
+ assert 'a👋bc'.is_identifier() == false
21
+ assert '9'.is_identifier() == false
22
+ assert '_9'.is_identifier() == true
23
+ assert 'a 9'.is_identifier() == false
24
+ assert 't'.is_identifier() == true
25
+ /*
26
+ assert ''.is_blank()
27
+ assert ' '.is_blank()
28
+ assert ' \t'.is_blank()
29
+ assert ' \t
30
+
31
+ '.is_blank()
32
+ assert ' \t\r'.is_blank()
33
+ assert ' \t\r
34
+
35
+ '.is_blank()
36
+ assert 'abc'.indent_width() == 0
37
+ assert ' abc'.indent_width() == 1
38
+ assert ' abc'.indent_width() == 2
39
+ assert '\tabc'.indent_width() == 1
40
+ assert '\t abc'.indent_width() == 2
41
+ assert '\t\tabc'.indent_width() == 2
42
+ assert '\t\t abc'.indent_width() == 3
43
+ assert 'abcabca'.index_u8(`a`) == 0
44
+ assert 'abcabca'.index_u8(`b`) == 1
45
+ assert 'abcabca'.index_u8(`c`) == 2
46
+
47
+ assert 'abc'.index_u8(`d`) == -1
48
+ assert 'abc'.index_u8(`A`) == -1
49
+ assert 'abc'.index_u8(`B`) == -1
50
+ assert 'abc'.index_u8(`C`) == -1
51
+ assert 'abcabca'.last_index('ca')? == 5
52
+ assert 'abcabca'.last_index('ab')? == 3
53
+ assert 'abcabca'.last_index('b')? == 4
54
+ assert 'Zabcabca'.last_index('Z')? == 0
55
+ x := 'Zabcabca'.last_index('Y')
56
+ assert x == none
57
+ // TODO: `assert 'Zabcabca'.index_last('Y') == none` is a cgen error, 2023/12/04
58
+ assert 'abcabca'.last_index_u8(`a`) == 6
59
+ assert 'abcabca'.last_index_u8(`c`) == 5
60
+ assert 'abcabca'.last_index_u8(`b`) == 4
61
+ assert 'Zabcabca'.last_index_u8(`Z`) == 0
62
+ //
63
+ assert 'abc'.last_index_u8(`d`) == -1
64
+ assert 'abc'.last_index_u8(`A`) == -1
65
+ assert 'abc'.last_index_u8(`B`) == -1
66
+ assert 'abc'.last_index_u8(`C`) == -1
67
+ assert 'abc abca'.contains_u8(`a`)
68
+ assert 'abc abca'.contains_u8(`b`)
69
+ assert 'abc abca'.contains_u8(`c`)
70
+ assert 'abc abca'.contains_u8(` `)
71
+ assert !'abc abca'.contains_u8(`A`)
72
+ assert 'Abcd'.camel_to_snake() == 'abcd'
73
+ assert 'aBcd'.camel_to_snake() == 'a_bcd'
74
+ assert 'AAbb'.camel_to_snake() == 'aa_bb'
75
+ assert 'aaBB'.camel_to_snake() == 'aa_bb'
76
+ assert 'aaBbCcDD'.camel_to_snake() == 'aa_bb_cc_dd'
77
+ assert 'AAbbCC'.camel_to_snake() == 'aa_bb_cc'
78
+ assert 'aaBBcc'.camel_to_snake() == 'aa_bb_cc'
79
+ assert 'aa_BB'.camel_to_snake() == 'aa_bb'
80
+ assert 'aa__BB'.camel_to_snake() == 'aa__bb'
81
+ assert 'JVM_PUBLIC_ACC'.camel_to_snake() == 'jvm_public_acc'
82
+ assert '_ISspace'.camel_to_snake() == '_is_space'
83
+ assert '_aBcd'.camel_to_snake() == '_a_bcd'
84
+ assert '_a_Bcd'.camel_to_snake() == '_a_bcd'
85
+ assert '_AbCDe_'.camel_to_snake() == '_ab_cd_e_'
86
+ assert 'abcd'.snake_to_camel() == 'Abcd'
87
+ assert 'ab_cd'.snake_to_camel() == 'AbCd'
88
+ assert 'ab_cd_efg'.snake_to_camel() == 'AbCdEfg'
89
+ assert '_abcd'.snake_to_camel() == 'Abcd'
90
+ assert '_abcd_'.snake_to_camel() == 'Abcd'
91
+ assert 'Hello World'.wrap(width: 10) == 'Hello\nWorld'
92
+ assert 'Hello World'.wrap(width: 10, end: '<linea-break>') == 'Hello<linea-break>World'
93
+ assert 'The V programming language'.wrap(width: 20, end: '|') == 'The V programming|language'
94
+ assert 'Hello, my name is Carl and I am a delivery'.wrap(width: 20) == 'Hello, my name is\nCarl and I am a\ndelivery'
95
+
96
+ assert 'Hello World!'.hex() == '48656c6c6f20576f726c6421'
97
+ assert 'VLANG'.hex() == '564c414e47'
98
+ assert 'VLANG'.hex() == 'VLANG'.bytes().hex()
99
+ for c in u8(0) .. 255 {
100
+ assert c.ascii_str().hex() == [c].hex()
101
+ }
102
+
103
+ */
104
+
105
+
106
+
107
+
108
+ /// ABOVE ARE TESTS FROM VLIB
109
+
110
+
111
+
112
+ // TODO: not working
113
+ // println(c_error_number_str(0))
114
+ // println(c_error_number_str(1))
115
+
1
116
/* uncomment when floats are supported
2
117
println(f32_abs(32.32))
3
118
println(f32_abs(-32.32))
@@ -26,6 +141,10 @@ println(int_min(-32, 32))
26
141
27
142
// print_character(`a`) enable when C vars will work
28
143
144
+ // assert u8(`a`).ascii_str() == 'a' when ptr index will work
145
+ // assert u8(`b`).ascii_str() != 'a'
146
+ // assert u8(0x4F).hex() == '4F' when fixed array index will work
147
+ // assert u8(0x42).hex() != '4F'
29
148
assert u8(`a`).is_alnum()
30
149
assert !u8(`_`).is_alnum()
31
150
assert u8(`0`).is_bin_digit()
@@ -43,4 +162,7 @@ assert !u8(`8`).is_oct_digit()
43
162
assert u8(` `).is_space()
44
163
assert !u8(`_`).is_space()
45
164
165
+ assert 'Hello'.is_capital() == true
166
+ assert 'HelloWorld'.is_capital() == false
167
+
46
168
exit(0)
0 commit comments