From a7a1c51969b76b8ab7f2ba60c3fb454d9064dfc3 Mon Sep 17 00:00:00 2001 From: NotLe0n Date: Sun, 24 Nov 2024 15:05:14 +0100 Subject: [PATCH] uri empty string edge case --- lib/stdlib/Duden/Uri.ddp | 2 +- tests/testdata/stdlib/Uri/Uri.ddp | 1 + tests/testdata/stdlib/Uri/expected.txt | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/stdlib/Duden/Uri.ddp b/lib/stdlib/Duden/Uri.ddp index 3f98ddb..b6e6517 100644 --- a/lib/stdlib/Duden/Uri.ddp +++ b/lib/stdlib/Duden/Uri.ddp @@ -1,5 +1,4 @@ Binde "Duden/Regex" ein. -Binde "Duden/Ausgabe" ein. Binde "Duden/Texte" ein. Binde "Duden/Fehlerbehandlung" ein. @@ -20,6 +19,7 @@ Der Text uri_regex ist "^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*) Der Text authority_regex ist "^((.+)@)?((\\[[:0-9A-Fa-f.]+\\])|([a-zA-Z0-9\\-\\._~!$&'\\(\\)\\*\\+,;=])*)(:(\\d+))?". Die öffentliche Funktion Parse_Uri mit dem Parameter uri vom Typ Text, gibt eine Uri zurück, macht: Diese Funktion könnte einen Fehler melden. + Wenn uri leer ist, gib eine leere Uri zurück. Der Treffer t ist der erste Treffer von uri_regex in uri. Wenn es dabei einen Fehler gab oder (text von t) leer ist, diff --git a/tests/testdata/stdlib/Uri/Uri.ddp b/tests/testdata/stdlib/Uri/Uri.ddp index 8ea3b34..f749fc6 100644 --- a/tests/testdata/stdlib/Uri/Uri.ddp +++ b/tests/testdata/stdlib/Uri/Uri.ddp @@ -16,6 +16,7 @@ Die Funktion Schreibe_Uri_Komponente mit dem Parameter uri vom Typ Uri, gibt nic Und kann so benutzt werden: "Schreibe " +Schreibe ("" als Uri). Schreibe ("https://user:password@example.com:8080/index.html?a=hi&b=bye#anchor" als Uri). Schreibe ("https://de.wikipedia.org/wiki/Uniform_Resource_Identifier" als Uri). Schreibe ("ftp://ftp.is.co.za/rfc/rfc1808.txt" als Uri). diff --git a/tests/testdata/stdlib/Uri/expected.txt b/tests/testdata/stdlib/Uri/expected.txt index 174e6be..ea0d8fa 100644 --- a/tests/testdata/stdlib/Uri/expected.txt +++ b/tests/testdata/stdlib/Uri/expected.txt @@ -1,3 +1,4 @@ + | | | | | | | https://user:password@example.com:8080/index.html?a=hi&b=bye#anchor | https | user:password | example.com | 8080 | /index.html | a=hi&b=bye | anchor https://de.wikipedia.org/wiki/Uniform_Resource_Identifier | https | | de.wikipedia.org | | /wiki/Uniform_Resource_Identifier | | ftp://ftp.is.co.za/rfc/rfc1808.txt | ftp | | ftp.is.co.za | | /rfc/rfc1808.txt | |