1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

builtin: add a string.parse_int/2 method (wrapping strconv.parse_int/3) (#13164)

This commit is contained in:
jeffmikels
2022-01-13 17:31:11 -05:00
committed by GitHub
parent 4189b7e280
commit 70aedaf184
2 changed files with 53 additions and 1 deletions

View File

@ -278,7 +278,7 @@ fn test_interpolation_of_negative_numbers_padding_and_width() {
assert '-1001101' == '${a:08b}'
assert '-000004d' == '${a:08x}'
//
//
assert ' -77' == '${a:4}'
assert ' -77' == '${a:4d}'
assert '-1001101' == '${a:4b}'
@ -311,3 +311,25 @@ fn test_interpolation_of_negative_numbers_padding_and_width() {
assert '-0000110' == '${-6:08b}'
assert ' -110' == '${-6:8b}'
}
fn test_parse() {
assert i64(1) == '1'.parse_int(0, 8) or { 0 }
assert i64(1) == '0b01'.parse_int(0, 8) or { 0 }
assert i64(1) == '01'.parse_int(0, 8) or { 0 }
assert i64(1) == '0o01'.parse_int(0, 8) or { 0 }
assert i64(1) == '0x01'.parse_int(0, 8) or { 0 }
assert i64(1) == '1'.parse_int(2, 8) or { 0 }
assert i64(1) == '1'.parse_int(8, 8) or { 0 }
assert i64(1) == '1'.parse_int(10, 8) or { 0 }
assert i64(1) == '1'.parse_int(16, 8) or { 0 }
assert u64(1) == '1'.parse_uint(0, 8) or { 0 }
assert u64(1) == '0b01'.parse_uint(0, 8) or { 0 }
assert u64(1) == '01'.parse_uint(0, 8) or { 0 }
assert u64(1) == '0o01'.parse_uint(0, 8) or { 0 }
assert u64(1) == '0x01'.parse_uint(0, 8) or { 0 }
assert u64(1) == '1'.parse_uint(2, 8) or { 0 }
assert u64(1) == '1'.parse_uint(8, 8) or { 0 }
assert u64(1) == '1'.parse_uint(10, 8) or { 0 }
assert u64(1) == '1'.parse_uint(16, 8) or { 0 }
}