mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
urllib: change Values.get to return an option type (#17636)
This commit is contained in:
parent
daa9034583
commit
618c92a13b
@ -40,8 +40,8 @@ fn test_parse_query() {
|
||||
q2 := urllib.parse_query('format="%l:+%c+%t"')!
|
||||
// dump(q1)
|
||||
// dump(q2)
|
||||
assert q1.get('format') == '"%l: %c %t"'
|
||||
assert q2.get('format') == '"%l: %c %t"'
|
||||
assert q1.get('format')? == '"%l: %c %t"'
|
||||
assert q2.get('format')? == '"%l: %c %t"'
|
||||
}
|
||||
|
||||
fn test_parse_query_orders() {
|
||||
|
@ -27,17 +27,17 @@ pub fn new_values() Values {
|
||||
|
||||
// get gets the first value associated with the given key.
|
||||
// If there are no values associated with the key, get returns
|
||||
// a empty string.
|
||||
pub fn (v &Values) get(key string) string {
|
||||
// none.
|
||||
pub fn (v &Values) get(key string) ?string {
|
||||
if v.data.len == 0 {
|
||||
return ''
|
||||
return none
|
||||
}
|
||||
for qvalue in v.data {
|
||||
if qvalue.key == key {
|
||||
return qvalue.value
|
||||
}
|
||||
}
|
||||
return ''
|
||||
return none
|
||||
}
|
||||
|
||||
// get_all gets the all the values associated with the given key.
|
||||
|
@ -3,11 +3,13 @@
|
||||
// that can be found in the LICENSE file.
|
||||
module urllib
|
||||
|
||||
fn test_add_key_val() {
|
||||
fn test_add_and_get_key_val() {
|
||||
mut values := Values{}
|
||||
values.add('key', 'value')
|
||||
val := values.get('key')
|
||||
assert val == 'value'
|
||||
present_val := values.get('key') or { '' }
|
||||
absent_val := values.get('key1') or { '' }
|
||||
assert present_val == 'value'
|
||||
assert absent_val == ''
|
||||
}
|
||||
|
||||
fn test_get_all_with_key() {
|
||||
|
Loading…
Reference in New Issue
Block a user