mirror of
https://github.com/vlang/v.git
synced 2025-09-13 17:36:52 -04:00
parent
90fdf102fc
commit
55eccf6abe
@ -7,13 +7,10 @@ pub:
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn (s string) runes() []rune {
|
pub fn (s string) runes() []rune {
|
||||||
mut runes := []rune{}
|
ret := JS.makeEmptyArray()
|
||||||
for i := 0; i < s.len; i++ {
|
#for (r of s.str) array_push(ret,new rune(r),false);
|
||||||
mut r := rune(`0`)
|
|
||||||
#r = new rune(s.str[i.val].charCodeAt())
|
return ret
|
||||||
runes << r
|
|
||||||
}
|
|
||||||
return runes
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn (s string) slice(a int, b int) string {
|
pub fn (s string) slice(a int, b int) string {
|
||||||
|
66
vlib/v/gen/js/tests/string.v
Normal file
66
vlib/v/gen/js/tests/string.v
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
fn test_runes() {
|
||||||
|
// Test basic ASCII + emoji
|
||||||
|
r1 := 'hello🎅'.runes()
|
||||||
|
assert r1.len == 6
|
||||||
|
assert r1[0] == `h`
|
||||||
|
assert r1[1] == `e`
|
||||||
|
assert r1[2] == `l`
|
||||||
|
assert r1[3] == `l`
|
||||||
|
assert r1[4] == `o`
|
||||||
|
assert r1[5] == `🎅`
|
||||||
|
|
||||||
|
// Test empty string
|
||||||
|
r2 := ''.runes()
|
||||||
|
assert r2.len == 0
|
||||||
|
|
||||||
|
// Test single character
|
||||||
|
r3 := 'A'.runes()
|
||||||
|
assert r3.len == 1
|
||||||
|
assert r3[0] == `A`
|
||||||
|
|
||||||
|
// Test Unicode characters
|
||||||
|
r4 := 'café'.runes()
|
||||||
|
assert r4.len == 4
|
||||||
|
assert r4[0] == `c`
|
||||||
|
assert r4[1] == `a`
|
||||||
|
assert r4[2] == `f`
|
||||||
|
assert r4[3] == `é`
|
||||||
|
|
||||||
|
// Test multiple emojis
|
||||||
|
r5 := '🎅🎄🎁'.runes()
|
||||||
|
assert r5.len == 3
|
||||||
|
assert r5[0] == `🎅`
|
||||||
|
assert r5[1] == `🎄`
|
||||||
|
assert r5[2] == `🎁`
|
||||||
|
|
||||||
|
// Test mixed ASCII, Unicode and emojis
|
||||||
|
r6 := 'hello世界🌍'.runes()
|
||||||
|
assert r6.len == 8
|
||||||
|
assert r6[0] == `h`
|
||||||
|
assert r6[1] == `e`
|
||||||
|
assert r6[2] == `l`
|
||||||
|
assert r6[3] == `l`
|
||||||
|
assert r6[4] == `o`
|
||||||
|
assert r6[5] == `世`
|
||||||
|
assert r6[6] == `界`
|
||||||
|
assert r6[7] == `🌍`
|
||||||
|
|
||||||
|
// Test special characters
|
||||||
|
r7 := '\n\t'.runes()
|
||||||
|
assert r7.len == 2
|
||||||
|
assert r7[0] == `\n`
|
||||||
|
assert r7[1] == `\t`
|
||||||
|
|
||||||
|
// Test mathematical symbols
|
||||||
|
r8 := 'α+β=γ'.runes()
|
||||||
|
assert r8.len == 5
|
||||||
|
assert r8[0] == `α`
|
||||||
|
assert r8[1] == `+`
|
||||||
|
assert r8[2] == `β`
|
||||||
|
assert r8[3] == `=`
|
||||||
|
assert r8[4] == `γ`
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
test_runes()
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user