summaryrefslogtreecommitdiff
path: root/Data/Libraries/Penlight/tests/test-url.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-30 11:32:16 +0800
committerchai <chaifix@163.com>2021-10-30 11:32:16 +0800
commit42ec7286b2d36a9ba22925f816a17cb1cc2aa5ce (patch)
tree24bc7009457a8d7500f264e89946dc20d069294f /Data/Libraries/Penlight/tests/test-url.lua
parent164885fd98d48703bd771f802d79557b7db97431 (diff)
+ Penlight
Diffstat (limited to 'Data/Libraries/Penlight/tests/test-url.lua')
-rw-r--r--Data/Libraries/Penlight/tests/test-url.lua37
1 files changed, 37 insertions, 0 deletions
diff --git a/Data/Libraries/Penlight/tests/test-url.lua b/Data/Libraries/Penlight/tests/test-url.lua
new file mode 100644
index 0000000..9d9af6a
--- /dev/null
+++ b/Data/Libraries/Penlight/tests/test-url.lua
@@ -0,0 +1,37 @@
+local url = require 'pl.url'
+local asserteq = require 'pl.test' . asserteq
+
+asserteq(url.quote(''), '')
+asserteq(url.quote('ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
+asserteq(url.quote('abcdefghijklmnopqrstuvwxyz'), 'abcdefghijklmnopqrstuvwxyz')
+asserteq(url.quote('0123456789'), '0123456789')
+asserteq(url.quote(' -_./'), '%20-_./')
+asserteq(url.quote('`~!@#$%^&*()'), '%60%7E%21%40%23%24%25%5E%26%2A%28%29')
+asserteq(url.quote('%2'), '%252')
+asserteq(url.quote('2R%1%%'), '2R%251%25%25')
+
+asserteq(url.quote('', true), '')
+asserteq(url.quote('ABCDEFGHIJKLMNOPQRSTUVWXYZ', true), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
+asserteq(url.quote('abcdefghijklmnopqrstuvwxyz', true), 'abcdefghijklmnopqrstuvwxyz')
+asserteq(url.quote('0123456789'), '0123456789', true)
+asserteq(url.quote(' -_./', true), '+-_.%2F')
+asserteq(url.quote('`~!@#$%^&*()', true), '%60%7E%21%40%23%24%25%5E%26%2A%28%29')
+asserteq(url.quote('%2', true), '%252')
+asserteq(url.quote('2R%1%%', true), '2R%251%25%25')
+
+asserteq(url.unquote(''), '')
+asserteq(url.unquote('ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
+asserteq(url.unquote('abcdefghijklmnopqrstuvwxyz'), 'abcdefghijklmnopqrstuvwxyz')
+asserteq(url.unquote('0123456789'), '0123456789')
+asserteq(url.unquote(' -_./'), ' -_./')
+asserteq(url.unquote('+-_.%2F'), ' -_./')
+asserteq(url.unquote('%20-_./'), ' -_./')
+asserteq(url.unquote('%60%7E%21%40%23%24%25%5E%26%2A%28%29'), '`~!@#$%^&*()')
+asserteq(url.unquote('%252'), '%2')
+asserteq(url.unquote('2%52%1%%'), '2R%1%%')
+asserteq(url.unquote('2R%251%25%25'), '2R%1%%')
+
+asserteq(url.quote(true), true)
+asserteq(url.quote(42), 42)
+asserteq(url.unquote(true), true)
+asserteq(url.unquote(42), 42)