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+
1116/* uncomment when floats are supported
2117println(f32_abs(32.32))
3118println(f32_abs(-32.32))
@@ -26,6 +141,10 @@ println(int_min(-32, 32))
26141
27142// print_character(`a`) enable when C vars will work
28143
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'
29148assert u8(`a`).is_alnum()
30149assert !u8(`_`).is_alnum()
31150assert u8(`0`).is_bin_digit()
@@ -43,4 +162,7 @@ assert !u8(`8`).is_oct_digit()
43162assert u8(` `).is_space()
44163assert !u8(`_`).is_space()
45164
165+ assert 'Hello'.is_capital() == true
166+ assert 'HelloWorld'.is_capital() == false
167+
46168exit(0)
0 commit comments