diff options
| author | Indrajith K L | 2022-12-03 17:00:20 +0530 | 
|---|---|---|
| committer | Indrajith K L | 2022-12-03 17:00:20 +0530 | 
| commit | f5c4671bfbad96bf346bd7e9a21fc4317b4959df (patch) | |
| tree | 2764fc62da58f2ba8da7ed341643fc359873142f /v_windows/v/old/vlib/net/urllib/urllib_test.v | |
| download | cli-tools-windows-master.tar.gz cli-tools-windows-master.tar.bz2 cli-tools-windows-master.zip | |
Diffstat (limited to 'v_windows/v/old/vlib/net/urllib/urllib_test.v')
| -rw-r--r-- | v_windows/v/old/vlib/net/urllib/urllib_test.v | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/v_windows/v/old/vlib/net/urllib/urllib_test.v b/v_windows/v/old/vlib/net/urllib/urllib_test.v new file mode 100644 index 0000000..0870c81 --- /dev/null +++ b/v_windows/v/old/vlib/net/urllib/urllib_test.v @@ -0,0 +1,51 @@ +// Copyright (c) 2019-2021 Alexander Medvednikov. All rights reserved. +// Use of this source code is governed by an MIT license +// that can be found in the LICENSE file. +import net.urllib + +fn test_net_urllib() { +	test_query := 'Hellö Wörld@vlang' +	assert urllib.query_escape(test_query) == 'Hell%C3%B6+W%C3%B6rld%40vlang' + +	test_url := 'https://joe:pass@www.mydomain.com:8080/som/url?param1=test1¶m2=test2&foo=bar#testfragment' +	u := urllib.parse(test_url) or { +		assert false +		return +	} +	assert u.scheme == 'https' && u.hostname() == 'www.mydomain.com' && u.port() == '8080' +		&& u.path == '/som/url' && u.fragment == 'testfragment' && u.user.username == 'joe' +		&& u.user.password == 'pass' +} + +fn test_str() { +	url := urllib.parse('https://en.wikipedia.org/wiki/Brazil_(1985_film)') or { +		panic('unable to parse URL') +	} +	assert url.str() == 'https://en.wikipedia.org/wiki/Brazil_(1985_film)' +} + +fn test_escape_unescape() { +	original := 'те ст: т\\%' +	escaped := urllib.query_escape(original) +	assert escaped == '%D1%82%D0%B5+%D1%81%D1%82%3A+%D1%82%5C%25' +	unescaped := urllib.query_unescape(escaped) or { +		assert false +		return +	} +	assert unescaped == original +} + +fn test_parse_query() ? { +	q1 := urllib.parse_query('format=%22%25l%3A+%25c+%25t%22') ? +	q2 := urllib.parse_query('format="%l:+%c+%t"') ? +	// dump(q1) +	// dump(q2) +	assert q1.data['format'].data == ['"%l: %c %t"'] +	assert q2.data['format'].data == ['"%l: %c %t"'] +} + +fn test_parse_missing_host() ? { +	// issue #10311 +	url := urllib.parse('http:///') ? +	assert url.str() == 'http://///' +} | 
