parent
392666e475
commit
f885c7cea9
|
@ -24,11 +24,8 @@ const (
|
||||||
'vlib/crypto/rand/crypto_rand_read_test.v',
|
'vlib/crypto/rand/crypto_rand_read_test.v',
|
||||||
]
|
]
|
||||||
skip_with_fsanitize_address = [
|
skip_with_fsanitize_address = [
|
||||||
'vlib/encoding/base64/base64_test.v',
|
|
||||||
'vlib/json/json_test.v',
|
'vlib/json/json_test.v',
|
||||||
'vlib/regex/regex_test.v',
|
'vlib/regex/regex_test.v',
|
||||||
'vlib/v/tests/ptr_arithmetic_test.v',
|
|
||||||
'vlib/v/tests/unsafe_test.v',
|
|
||||||
'vlib/x/websocket/websocket_test.v',
|
'vlib/x/websocket/websocket_test.v',
|
||||||
]
|
]
|
||||||
skip_with_fsanitize_undefined = []string{}
|
skip_with_fsanitize_undefined = []string{}
|
||||||
|
|
|
@ -18,7 +18,7 @@ const (
|
||||||
// Example: assert base64.decode('ViBpbiBiYXNlIDY0') == 'V in base 64'
|
// Example: assert base64.decode('ViBpbiBiYXNlIDY0') == 'V in base 64'
|
||||||
pub fn decode(data string) []byte {
|
pub fn decode(data string) []byte {
|
||||||
size := data.len * 3 / 4
|
size := data.len * 3 / 4
|
||||||
if size <= 0 {
|
if size <= 0 || data.len % 4 != 0 {
|
||||||
return []
|
return []
|
||||||
}
|
}
|
||||||
unsafe {
|
unsafe {
|
||||||
|
@ -31,7 +31,7 @@ pub fn decode(data string) []byte {
|
||||||
// decode_str is the string variant of decode
|
// decode_str is the string variant of decode
|
||||||
pub fn decode_str(data string) string {
|
pub fn decode_str(data string) string {
|
||||||
size := data.len * 3 / 4
|
size := data.len * 3 / 4
|
||||||
if size <= 0 {
|
if size <= 0 || data.len % 4 != 0 {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
|
@ -43,9 +43,9 @@ fn test_decode() {
|
||||||
assert base64.decode(man_pair.encoded) == man_pair.decoded.bytes()
|
assert base64.decode(man_pair.encoded) == man_pair.decoded.bytes()
|
||||||
|
|
||||||
// Test for incorrect padding.
|
// Test for incorrect padding.
|
||||||
assert base64.decode('aGk') == 'hi'.bytes()
|
assert base64.decode('aGk') == ''.bytes()
|
||||||
assert base64.decode('aGk=') == 'hi'.bytes()
|
assert base64.decode('aGk=') == 'hi'.bytes()
|
||||||
assert base64.decode('aGk==') == 'hi'.bytes()
|
assert base64.decode('aGk==') == ''.bytes()
|
||||||
|
|
||||||
for i, p in pairs {
|
for i, p in pairs {
|
||||||
got := base64.decode(p.encoded)
|
got := base64.decode(p.encoded)
|
||||||
|
@ -60,9 +60,9 @@ fn test_decode_str() {
|
||||||
assert base64.decode_str(man_pair.encoded) == man_pair.decoded
|
assert base64.decode_str(man_pair.encoded) == man_pair.decoded
|
||||||
|
|
||||||
// Test for incorrect padding.
|
// Test for incorrect padding.
|
||||||
assert base64.decode_str('aGk') == 'hi'
|
assert base64.decode_str('aGk') == ''
|
||||||
assert base64.decode_str('aGk=') == 'hi'
|
assert base64.decode_str('aGk=') == 'hi'
|
||||||
assert base64.decode_str('aGk==') == 'hi'
|
assert base64.decode_str('aGk==') == ''
|
||||||
|
|
||||||
for i, p in pairs {
|
for i, p in pairs {
|
||||||
got := base64.decode_str(p.encoded)
|
got := base64.decode_str(p.encoded)
|
||||||
|
|
|
@ -9,12 +9,12 @@ fn test_ptr_arithmetic() {
|
||||||
p++
|
p++
|
||||||
p += 2
|
p += 2
|
||||||
p = p - 1
|
p = p - 1
|
||||||
assert p == &v + 2
|
assert ptr_str(p) == ptr_str(&v + 2)
|
||||||
p = p + 1
|
p = p + 1
|
||||||
assert p == &v + 3
|
assert ptr_str(p) == ptr_str(&v + 3)
|
||||||
r := p++
|
r := p++
|
||||||
assert r == &v + 3
|
assert ptr_str(r) == ptr_str(&v + 3)
|
||||||
assert p == &v + 4
|
assert ptr_str(p) == ptr_str(&v + 4)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ fn test_ptr_infix() {
|
||||||
v := 4
|
v := 4
|
||||||
mut q := unsafe {&v - 1}
|
mut q := unsafe {&v - 1}
|
||||||
q = unsafe {q + 3}
|
q = unsafe {q + 3}
|
||||||
assert q == unsafe {&v + 2}
|
assert ptr_str(q) == ptr_str(unsafe {&v + 2})
|
||||||
}
|
}
|
||||||
|
|
||||||
struct S1 {
|
struct S1 {
|
||||||
|
|
Loading…
Reference in New Issue