From 38c04b830a2aa4fa388ec48501268069ef02b432 Mon Sep 17 00:00:00 2001 From: David Harsha Date: Sun, 15 Jun 2025 16:08:17 -0700 Subject: [PATCH 1/5] Test label separator position in hostname formats These are mostly meant to test that the additional `idn-hostname` label separators are treated like `.` and are only allowed between labels. --- .../optional/format/hostname.json | 10 +++++ .../optional/format/idn-hostname.json | 40 +++++++++++++++++++ .../optional/format/hostname.json | 10 +++++ .../optional/format/idn-hostname.json | 40 +++++++++++++++++++ tests/draft4/optional/format/hostname.json | 10 +++++ tests/draft6/optional/format/hostname.json | 10 +++++ tests/draft7/optional/format/hostname.json | 10 +++++ .../draft7/optional/format/idn-hostname.json | 40 +++++++++++++++++++ tests/v1/format/hostname.json | 10 +++++ tests/v1/format/idn-hostname.json | 40 +++++++++++++++++++ 10 files changed, 220 insertions(+) diff --git a/tests/draft2019-09/optional/format/hostname.json b/tests/draft2019-09/optional/format/hostname.json index 24bfdfc5..b80bcbb0 100644 --- a/tests/draft2019-09/optional/format/hostname.json +++ b/tests/draft2019-09/optional/format/hostname.json @@ -130,6 +130,16 @@ "description": "single dot", "data": ".", "valid": false + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false } ] } diff --git a/tests/draft2019-09/optional/format/idn-hostname.json b/tests/draft2019-09/optional/format/idn-hostname.json index 348c504c..a368468a 100644 --- a/tests/draft2019-09/optional/format/idn-hostname.json +++ b/tests/draft2019-09/optional/format/idn-hostname.json @@ -383,6 +383,46 @@ "description": "halfwidth ideographic full stop as label separator", "data": "a\uff61b", "valid": true + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "leading ideographic full stop", + "data": "\u3002example", + "valid": false + }, + { + "description": "leading fullwidth full stop", + "data": "\uff0eexample", + "valid": false + }, + { + "description": "leading halfwidth ideographic full stop", + "data": "\uff61example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false + }, + { + "description": "trailing ideographic full stop", + "data": "example\u3002", + "valid": false + }, + { + "description": "trailing fullwidth full stop", + "data": "example\uff0e", + "valid": false + }, + { + "description": "trailing halfwidth ideographic full stop", + "data": "example\uff61", + "valid": false } ] } diff --git a/tests/draft2020-12/optional/format/hostname.json b/tests/draft2020-12/optional/format/hostname.json index 57827c4d..a926d263 100644 --- a/tests/draft2020-12/optional/format/hostname.json +++ b/tests/draft2020-12/optional/format/hostname.json @@ -130,6 +130,16 @@ "description": "single dot", "data": ".", "valid": false + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false } ] } diff --git a/tests/draft2020-12/optional/format/idn-hostname.json b/tests/draft2020-12/optional/format/idn-hostname.json index f42ae969..ef1085c4 100644 --- a/tests/draft2020-12/optional/format/idn-hostname.json +++ b/tests/draft2020-12/optional/format/idn-hostname.json @@ -383,6 +383,46 @@ "description": "halfwidth ideographic full stop as label separator", "data": "a\uff61b", "valid": true + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "leading ideographic full stop", + "data": "\u3002example", + "valid": false + }, + { + "description": "leading fullwidth full stop", + "data": "\uff0eexample", + "valid": false + }, + { + "description": "leading halfwidth ideographic full stop", + "data": "\uff61example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false + }, + { + "description": "trailing ideographic full stop", + "data": "example\u3002", + "valid": false + }, + { + "description": "trailing fullwidth full stop", + "data": "example\uff0e", + "valid": false + }, + { + "description": "trailing halfwidth ideographic full stop", + "data": "example\uff61", + "valid": false } ] } diff --git a/tests/draft4/optional/format/hostname.json b/tests/draft4/optional/format/hostname.json index 866a6178..61ebe6f7 100644 --- a/tests/draft4/optional/format/hostname.json +++ b/tests/draft4/optional/format/hostname.json @@ -122,6 +122,16 @@ "description": "single dot", "data": ".", "valid": false + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false } ] } diff --git a/tests/draft6/optional/format/hostname.json b/tests/draft6/optional/format/hostname.json index 866a6178..61ebe6f7 100644 --- a/tests/draft6/optional/format/hostname.json +++ b/tests/draft6/optional/format/hostname.json @@ -122,6 +122,16 @@ "description": "single dot", "data": ".", "valid": false + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false } ] } diff --git a/tests/draft7/optional/format/hostname.json b/tests/draft7/optional/format/hostname.json index 866a6178..61ebe6f7 100644 --- a/tests/draft7/optional/format/hostname.json +++ b/tests/draft7/optional/format/hostname.json @@ -122,6 +122,16 @@ "description": "single dot", "data": ".", "valid": false + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false } ] } diff --git a/tests/draft7/optional/format/idn-hostname.json b/tests/draft7/optional/format/idn-hostname.json index 5c8cdc77..c792766e 100644 --- a/tests/draft7/optional/format/idn-hostname.json +++ b/tests/draft7/optional/format/idn-hostname.json @@ -372,6 +372,46 @@ "description": "halfwidth ideographic full stop as label separator", "data": "a\uff61b", "valid": true + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "leading ideographic full stop", + "data": "\u3002example", + "valid": false + }, + { + "description": "leading fullwidth full stop", + "data": "\uff0eexample", + "valid": false + }, + { + "description": "leading halfwidth ideographic full stop", + "data": "\uff61example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false + }, + { + "description": "trailing ideographic full stop", + "data": "example\u3002", + "valid": false + }, + { + "description": "trailing fullwidth full stop", + "data": "example\uff0e", + "valid": false + }, + { + "description": "trailing halfwidth ideographic full stop", + "data": "example\uff61", + "valid": false } ] } diff --git a/tests/v1/format/hostname.json b/tests/v1/format/hostname.json index 1b75d36e..244c3b8b 100644 --- a/tests/v1/format/hostname.json +++ b/tests/v1/format/hostname.json @@ -130,6 +130,16 @@ "description": "single dot", "data": ".", "valid": false + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false } ] } diff --git a/tests/v1/format/idn-hostname.json b/tests/v1/format/idn-hostname.json index 3b9fc094..5814c4ca 100644 --- a/tests/v1/format/idn-hostname.json +++ b/tests/v1/format/idn-hostname.json @@ -383,6 +383,46 @@ "description": "halfwidth ideographic full stop as label separator", "data": "a\uff61b", "valid": true + }, + { + "description": "leading dot", + "data": ".example", + "valid": false + }, + { + "description": "leading ideographic full stop", + "data": "\u3002example", + "valid": false + }, + { + "description": "leading fullwidth full stop", + "data": "\uff0eexample", + "valid": false + }, + { + "description": "leading halfwidth ideographic full stop", + "data": "\uff61example", + "valid": false + }, + { + "description": "trailing dot", + "data": "example.", + "valid": false + }, + { + "description": "trailing ideographic full stop", + "data": "example\u3002", + "valid": false + }, + { + "description": "trailing fullwidth full stop", + "data": "example\uff0e", + "valid": false + }, + { + "description": "trailing halfwidth ideographic full stop", + "data": "example\uff61", + "valid": false } ] } From 658c8cf9f355b9b4e378d4af7201638f1cf802e2 Mon Sep 17 00:00:00 2001 From: David Harsha Date: Sun, 15 Jun 2025 16:54:53 -0700 Subject: [PATCH 2/5] Test IDN label separator in `hostname` format Regular `hostname` should not support the extended label separators used in `idn-hostname`. --- tests/draft2019-09/optional/format/hostname.json | 5 +++++ tests/draft2020-12/optional/format/hostname.json | 5 +++++ tests/draft4/optional/format/hostname.json | 5 +++++ tests/draft6/optional/format/hostname.json | 5 +++++ tests/draft7/optional/format/hostname.json | 5 +++++ tests/v1/format/hostname.json | 5 +++++ 6 files changed, 30 insertions(+) diff --git a/tests/draft2019-09/optional/format/hostname.json b/tests/draft2019-09/optional/format/hostname.json index b80bcbb0..ec91c5af 100644 --- a/tests/draft2019-09/optional/format/hostname.json +++ b/tests/draft2019-09/optional/format/hostname.json @@ -140,6 +140,11 @@ "description": "trailing dot", "data": "example.", "valid": false + }, + { + "description": "IDN label separator", + "data": "example\uff0ecom", + "valid": false } ] } diff --git a/tests/draft2020-12/optional/format/hostname.json b/tests/draft2020-12/optional/format/hostname.json index a926d263..f4e93d45 100644 --- a/tests/draft2020-12/optional/format/hostname.json +++ b/tests/draft2020-12/optional/format/hostname.json @@ -140,6 +140,11 @@ "description": "trailing dot", "data": "example.", "valid": false + }, + { + "description": "IDN label separator", + "data": "example\uff0ecom", + "valid": false } ] } diff --git a/tests/draft4/optional/format/hostname.json b/tests/draft4/optional/format/hostname.json index 61ebe6f7..e4bc4c88 100644 --- a/tests/draft4/optional/format/hostname.json +++ b/tests/draft4/optional/format/hostname.json @@ -132,6 +132,11 @@ "description": "trailing dot", "data": "example.", "valid": false + }, + { + "description": "IDN label separator", + "data": "example\uff0ecom", + "valid": false } ] } diff --git a/tests/draft6/optional/format/hostname.json b/tests/draft6/optional/format/hostname.json index 61ebe6f7..e4bc4c88 100644 --- a/tests/draft6/optional/format/hostname.json +++ b/tests/draft6/optional/format/hostname.json @@ -132,6 +132,11 @@ "description": "trailing dot", "data": "example.", "valid": false + }, + { + "description": "IDN label separator", + "data": "example\uff0ecom", + "valid": false } ] } diff --git a/tests/draft7/optional/format/hostname.json b/tests/draft7/optional/format/hostname.json index 61ebe6f7..e4bc4c88 100644 --- a/tests/draft7/optional/format/hostname.json +++ b/tests/draft7/optional/format/hostname.json @@ -132,6 +132,11 @@ "description": "trailing dot", "data": "example.", "valid": false + }, + { + "description": "IDN label separator", + "data": "example\uff0ecom", + "valid": false } ] } diff --git a/tests/v1/format/hostname.json b/tests/v1/format/hostname.json index 244c3b8b..a2eaebad 100644 --- a/tests/v1/format/hostname.json +++ b/tests/v1/format/hostname.json @@ -140,6 +140,11 @@ "description": "trailing dot", "data": "example.", "valid": false + }, + { + "description": "IDN label separator", + "data": "example\uff0ecom", + "valid": false } ] } From 081a16a76aff9921c54cc549508ce8afaf768483 Mon Sep 17 00:00:00 2001 From: David Harsha Date: Sun, 15 Jun 2025 17:02:51 -0700 Subject: [PATCH 3/5] Test IDN label separators separate labels This tests that the extended label separators used in `idn-hostname` properly validate individual labels and don't treat the whole instance as a single label. --- .../optional/format/idn-hostname.json | 40 +++++++++++++++++++ .../optional/format/idn-hostname.json | 40 +++++++++++++++++++ .../draft7/optional/format/idn-hostname.json | 40 +++++++++++++++++++ tests/v1/format/idn-hostname.json | 40 +++++++++++++++++++ 4 files changed, 160 insertions(+) diff --git a/tests/draft2019-09/optional/format/idn-hostname.json b/tests/draft2019-09/optional/format/idn-hostname.json index a368468a..efb2d444 100644 --- a/tests/draft2019-09/optional/format/idn-hostname.json +++ b/tests/draft2019-09/optional/format/idn-hostname.json @@ -423,6 +423,46 @@ "description": "trailing halfwidth ideographic full stop", "data": "example\uff61", "valid": false + }, + { + "description": "dot separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": true + }, + { + "description": "ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": true + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": true + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": true + }, + { + "description": "dot separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": false + }, + { + "description": "ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": false + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": false + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": false } ] } diff --git a/tests/draft2020-12/optional/format/idn-hostname.json b/tests/draft2020-12/optional/format/idn-hostname.json index ef1085c4..cf72409c 100644 --- a/tests/draft2020-12/optional/format/idn-hostname.json +++ b/tests/draft2020-12/optional/format/idn-hostname.json @@ -423,6 +423,46 @@ "description": "trailing halfwidth ideographic full stop", "data": "example\uff61", "valid": false + }, + { + "description": "dot separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": true + }, + { + "description": "ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": true + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": true + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": true + }, + { + "description": "dot separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": false + }, + { + "description": "ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": false + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": false + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": false } ] } diff --git a/tests/draft7/optional/format/idn-hostname.json b/tests/draft7/optional/format/idn-hostname.json index c792766e..0fd86f00 100644 --- a/tests/draft7/optional/format/idn-hostname.json +++ b/tests/draft7/optional/format/idn-hostname.json @@ -412,6 +412,46 @@ "description": "trailing halfwidth ideographic full stop", "data": "example\uff61", "valid": false + }, + { + "description": "dot separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": true + }, + { + "description": "ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": true + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": true + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": true + }, + { + "description": "dot separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": false + }, + { + "description": "ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": false + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": false + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": false } ] } diff --git a/tests/v1/format/idn-hostname.json b/tests/v1/format/idn-hostname.json index 5814c4ca..9b0d2e10 100644 --- a/tests/v1/format/idn-hostname.json +++ b/tests/v1/format/idn-hostname.json @@ -423,6 +423,46 @@ "description": "trailing halfwidth ideographic full stop", "data": "example\uff61", "valid": false + }, + { + "description": "dot separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": true + }, + { + "description": "ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": true + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": true + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": true + }, + { + "description": "dot separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "valid": false + }, + { + "description": "ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "valid": false + }, + { + "description": "fullwidth full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "valid": false + }, + { + "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "valid": false } ] } From aab08752cf060a333bc44e68ad7294aa20024107 Mon Sep 17 00:00:00 2001 From: Jason Desrosiers Date: Wed, 29 Oct 2025 14:04:04 -0700 Subject: [PATCH 4/5] Updates form PR feedback --- .../optional/format/idn-hostname.json | 28 +++---------------- .../optional/format/idn-hostname.json | 28 +++---------------- .../draft7/optional/format/idn-hostname.json | 28 +++---------------- tests/v1/format/idn-hostname.json | 28 +++---------------- 4 files changed, 16 insertions(+), 96 deletions(-) diff --git a/tests/draft2019-09/optional/format/idn-hostname.json b/tests/draft2019-09/optional/format/idn-hostname.json index efb2d444..67ea6d73 100644 --- a/tests/draft2019-09/optional/format/idn-hostname.json +++ b/tests/draft2019-09/optional/format/idn-hostname.json @@ -426,43 +426,23 @@ }, { "description": "dot separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { "description": "ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { "description": "fullwidth full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true - }, - { - "description": "dot separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", - "valid": false - }, - { - "description": "ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", - "valid": false - }, - { - "description": "fullwidth full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", - "valid": false - }, - { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", - "valid": false } ] } diff --git a/tests/draft2020-12/optional/format/idn-hostname.json b/tests/draft2020-12/optional/format/idn-hostname.json index cf72409c..e553f201 100644 --- a/tests/draft2020-12/optional/format/idn-hostname.json +++ b/tests/draft2020-12/optional/format/idn-hostname.json @@ -426,43 +426,23 @@ }, { "description": "dot separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { "description": "ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { "description": "fullwidth full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true - }, - { - "description": "dot separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", - "valid": false - }, - { - "description": "ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", - "valid": false - }, - { - "description": "fullwidth full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", - "valid": false - }, - { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", - "valid": false } ] } diff --git a/tests/draft7/optional/format/idn-hostname.json b/tests/draft7/optional/format/idn-hostname.json index 0fd86f00..20db3a3c 100644 --- a/tests/draft7/optional/format/idn-hostname.json +++ b/tests/draft7/optional/format/idn-hostname.json @@ -415,43 +415,23 @@ }, { "description": "dot separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { "description": "ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { "description": "fullwidth full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true - }, - { - "description": "dot separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", - "valid": false - }, - { - "description": "ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", - "valid": false - }, - { - "description": "fullwidth full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", - "valid": false - }, - { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", - "valid": false } ] } diff --git a/tests/v1/format/idn-hostname.json b/tests/v1/format/idn-hostname.json index 9b0d2e10..7e3de4e8 100644 --- a/tests/v1/format/idn-hostname.json +++ b/tests/v1/format/idn-hostname.json @@ -426,43 +426,23 @@ }, { "description": "dot separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { "description": "ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { "description": "fullwidth full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", + "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true - }, - { - "description": "dot separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα.com", - "valid": false - }, - { - "description": "ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\u3002com", - "valid": false - }, - { - "description": "fullwidth full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff0ecom", - "valid": false - }, - { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is respected", - "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμα\uff61com", - "valid": false } ] } From a930db4328776cb9fe4ef9297912dacf5157366b Mon Sep 17 00:00:00 2001 From: Jason Desrosiers Date: Wed, 29 Oct 2025 14:13:23 -0700 Subject: [PATCH 5/5] Shorten test descriptions to appease ci --- tests/draft2019-09/optional/format/idn-hostname.json | 8 ++++---- tests/draft2020-12/optional/format/idn-hostname.json | 8 ++++---- tests/draft7/optional/format/idn-hostname.json | 8 ++++---- tests/v1/format/idn-hostname.json | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/draft2019-09/optional/format/idn-hostname.json b/tests/draft2019-09/optional/format/idn-hostname.json index 67ea6d73..45ccf333 100644 --- a/tests/draft2019-09/optional/format/idn-hostname.json +++ b/tests/draft2019-09/optional/format/idn-hostname.json @@ -425,22 +425,22 @@ "valid": false }, { - "description": "dot separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { - "description": "ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { - "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (fullwidth full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (halfwidth ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true } diff --git a/tests/draft2020-12/optional/format/idn-hostname.json b/tests/draft2020-12/optional/format/idn-hostname.json index e553f201..3bb59820 100644 --- a/tests/draft2020-12/optional/format/idn-hostname.json +++ b/tests/draft2020-12/optional/format/idn-hostname.json @@ -425,22 +425,22 @@ "valid": false }, { - "description": "dot separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { - "description": "ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { - "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (fullwidth full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (halfwidth ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true } diff --git a/tests/draft7/optional/format/idn-hostname.json b/tests/draft7/optional/format/idn-hostname.json index 20db3a3c..53faa396 100644 --- a/tests/draft7/optional/format/idn-hostname.json +++ b/tests/draft7/optional/format/idn-hostname.json @@ -414,22 +414,22 @@ "valid": false }, { - "description": "dot separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { - "description": "ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { - "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (fullwidth full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (halfwidth ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true } diff --git a/tests/v1/format/idn-hostname.json b/tests/v1/format/idn-hostname.json index 7e3de4e8..08e9191b 100644 --- a/tests/v1/format/idn-hostname.json +++ b/tests/v1/format/idn-hostname.json @@ -425,22 +425,22 @@ "valid": false }, { - "description": "dot separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα.com", "valid": true }, { - "description": "ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\u3002com", "valid": true }, { - "description": "fullwidth full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (fullwidth full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff0ecom", "valid": true }, { - "description": "halfwidth ideographic full stop separator with label that is too long when separator is ignored", + "description": "label too long if separator ignored (halfwidth ideographic full stop)", "data": "παράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπαράδειγμαπα\uff61com", "valid": true }