string: add more test cases
							parent
							
								
									7705281459
								
							
						
					
					
						commit
						e4de1e1e89
					
				| 
						 | 
					@ -543,7 +543,7 @@ pub fn (s string) substr(start, end int) string {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub fn (s string) index_old(p string) int {
 | 
					pub fn (s string) index_old(p string) int {
 | 
				
			||||||
	if p.len > s.len {
 | 
						if p.len > s.len || p.len == 0 {
 | 
				
			||||||
		return -1
 | 
							return -1
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	mut i := 0
 | 
						mut i := 0
 | 
				
			||||||
| 
						 | 
					@ -561,7 +561,7 @@ pub fn (s string) index_old(p string) int {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub fn (s string) index(p string) ?int {
 | 
					pub fn (s string) index(p string) ?int {
 | 
				
			||||||
	if p.len > s.len {
 | 
						if p.len > s.len || p.len == 0 {
 | 
				
			||||||
		return none
 | 
							return none
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	mut i := 0
 | 
						mut i := 0
 | 
				
			||||||
| 
						 | 
					@ -620,7 +620,7 @@ pub fn (s string) index_any(chars string) int {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub fn (s string) last_index(p string) ?int {
 | 
					pub fn (s string) last_index(p string) ?int {
 | 
				
			||||||
	if p.len > s.len {
 | 
						if p.len > s.len || p.len == 0 {
 | 
				
			||||||
		return none
 | 
							return none
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	mut i := s.len - p.len
 | 
						mut i := s.len - p.len
 | 
				
			||||||
| 
						 | 
					@ -1199,8 +1199,8 @@ pub fn (s []string) join_lines() string {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// reverse will return a new reversed string.
 | 
					// reverse will return a new reversed string.
 | 
				
			||||||
pub fn (s string) reverse() string {
 | 
					pub fn (s string) reverse() string {
 | 
				
			||||||
	if s.len == 0 {
 | 
						if s.len == 0 || s.len == 1 {
 | 
				
			||||||
		return ''
 | 
							return s
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	mut res := string{
 | 
						mut res := string{
 | 
				
			||||||
		len: s.len
 | 
							len: s.len
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -355,16 +355,22 @@ fn test_upper() {
 | 
				
			||||||
	assert s.to_upper() == 'HAVE A NICE DAY!'
 | 
						assert s.to_upper() == 'HAVE A NICE DAY!'
 | 
				
			||||||
	s = 'hi'
 | 
						s = 'hi'
 | 
				
			||||||
	assert s.to_upper() == 'HI'
 | 
						assert s.to_upper() == 'HI'
 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn test_left_right() {
 | 
					fn test_left_right() {
 | 
				
			||||||
	s := 'ALOHA'
 | 
						s := 'ALOHA'
 | 
				
			||||||
	assert s.left(3) == 'ALO'
 | 
						assert s.left(3) == 'ALO'
 | 
				
			||||||
 | 
						assert s.left(0) == ''
 | 
				
			||||||
 | 
						assert s.left(8) == s
 | 
				
			||||||
 | 
						assert s.right(3) == 'HA'
 | 
				
			||||||
 | 
						assert s.right(6) == ''
 | 
				
			||||||
	assert s[3..] == 'HA'
 | 
						assert s[3..] == 'HA'
 | 
				
			||||||
	u := s.ustring()
 | 
						u := s.ustring()
 | 
				
			||||||
	assert u.left(3) == 'ALO'
 | 
						assert u.left(3) == 'ALO'
 | 
				
			||||||
 | 
						assert u.left(0) == ''
 | 
				
			||||||
 | 
						assert s.left(8) == s
 | 
				
			||||||
	assert u.right(3) == 'HA'
 | 
						assert u.right(3) == 'HA'
 | 
				
			||||||
 | 
						assert u.right(6) == ''
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn test_contains() {
 | 
					fn test_contains() {
 | 
				
			||||||
| 
						 | 
					@ -439,20 +445,33 @@ fn test_trim_right() {
 | 
				
			||||||
	assert s.trim_right('na') == 'b'
 | 
						assert s.trim_right('na') == 'b'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn test_all_before() {
 | 
				
			||||||
 | 
						s := 'fn hello fn'
 | 
				
			||||||
 | 
						assert s.all_before(' ') == 'fn'
 | 
				
			||||||
 | 
						assert s.all_before('2') == s
 | 
				
			||||||
 | 
						assert s.all_before('') == s
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn test_all_before_last() {
 | 
				
			||||||
 | 
						s := 'fn hello fn'
 | 
				
			||||||
 | 
						assert s.all_before_last(' ') == 'fn hello'
 | 
				
			||||||
 | 
						assert s.all_before_last('2') == s
 | 
				
			||||||
 | 
						assert s.all_before_last('') == s
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn test_all_after() {
 | 
					fn test_all_after() {
 | 
				
			||||||
	s := 'fn hello'
 | 
						s := 'fn hello'
 | 
				
			||||||
	q := s.all_after('fn ')
 | 
						assert s.all_after('fn ') == 'hello'
 | 
				
			||||||
	assert q == 'hello'
 | 
						assert s.all_after('test') == s
 | 
				
			||||||
 | 
						assert s.all_after('') == s
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn test_reverse() {
 | 
					fn test_reverse() {
 | 
				
			||||||
	s := 'hello'
 | 
						assert 'hello'.reverse() == 'olleh'
 | 
				
			||||||
	assert s.reverse() == 'olleh'
 | 
						assert ''.reverse() == ''
 | 
				
			||||||
	t := ''
 | 
						assert 'a'.reverse() == 'a'
 | 
				
			||||||
	assert t.reverse() == t
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
struct Foo {
 | 
					struct Foo {
 | 
				
			||||||
	bar int
 | 
						bar int
 | 
				
			||||||
mut:
 | 
					mut:
 | 
				
			||||||
| 
						 | 
					@ -575,9 +594,20 @@ fn test_ustring_count() {
 | 
				
			||||||
	assert (a.count('a'.ustring())) == 0
 | 
						assert (a.count('a'.ustring())) == 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fn test_limit() {
 | 
				
			||||||
 | 
						s := 'hello'
 | 
				
			||||||
 | 
						assert s.limit(2) == 'he'
 | 
				
			||||||
 | 
						assert s.limit(9) == s
 | 
				
			||||||
 | 
						assert s.limit(0) == ''
 | 
				
			||||||
 | 
						// assert s.limit(-1) == ''
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn test_repeat() {
 | 
					fn test_repeat() {
 | 
				
			||||||
	s := 'V! '
 | 
						s := 'V! '
 | 
				
			||||||
	assert s.repeat(5) == 'V! V! V! V! V! '
 | 
						assert s.repeat(5) == 'V! V! V! V! V! '
 | 
				
			||||||
 | 
						assert s.repeat(1) == s
 | 
				
			||||||
 | 
						assert s.repeat(0) == s
 | 
				
			||||||
 | 
						assert s.repeat(-1) == s
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn test_raw() {
 | 
					fn test_raw() {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue