From 063b37bb4d2ee27f8148007e570e56579c5977c3 Mon Sep 17 00:00:00 2001 From: "J. King" Date: Mon, 19 Jan 2026 07:20:53 -0500 Subject: [PATCH 1/4] VCP requires that dates be normalized with zones without colons --- tests/microformats-v2-unit/value/value-dt.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/microformats-v2-unit/value/value-dt.json b/tests/microformats-v2-unit/value/value-dt.json index 12e393b..1625c09 100644 --- a/tests/microformats-v2-unit/value/value-dt.json +++ b/tests/microformats-v2-unit/value/value-dt.json @@ -72,10 +72,10 @@ "Valid NotADate Valid" ], "1-with-tz": [ - "2000-01-01 00:00:00+00:00" + "2000-01-01 00:00:00+0000" ], "2-with-tz": [ - "2000-01-01 00:00:00+00:00" + "2000-01-01 00:00:00+0000" ], "1-first-wins": [ "2000-01-01" From f12671498861866ec9702bb14c83347830d56ab0 Mon Sep 17 00:00:00 2001 From: "J. King" Date: Wed, 28 Jan 2026 13:47:06 -0500 Subject: [PATCH 2/4] Mark the test for parser issue 66 as tentative We don't necessarily want to encourage implementations to follow the "correct" behaviour since it's counterintuitive. --- ...t-mistyped.html => tentative-nested-microformat-mistyped.html} | 0 ...t-mistyped.json => tentative-nested-microformat-mistyped.json} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename tests/microformats-v2-unit/nested/{nested-microformat-mistyped.html => tentative-nested-microformat-mistyped.html} (100%) rename tests/microformats-v2-unit/nested/{nested-microformat-mistyped.json => tentative-nested-microformat-mistyped.json} (100%) diff --git a/tests/microformats-v2-unit/nested/nested-microformat-mistyped.html b/tests/microformats-v2-unit/nested/tentative-nested-microformat-mistyped.html similarity index 100% rename from tests/microformats-v2-unit/nested/nested-microformat-mistyped.html rename to tests/microformats-v2-unit/nested/tentative-nested-microformat-mistyped.html diff --git a/tests/microformats-v2-unit/nested/nested-microformat-mistyped.json b/tests/microformats-v2-unit/nested/tentative-nested-microformat-mistyped.json similarity index 100% rename from tests/microformats-v2-unit/nested/nested-microformat-mistyped.json rename to tests/microformats-v2-unit/nested/tentative-nested-microformat-mistyped.json From 315958a44d1675fdc33a2e80683426ebde1a03e8 Mon Sep 17 00:00:00 2001 From: "J. King" Date: Fri, 30 Jan 2026 10:09:55 -0500 Subject: [PATCH 3/4] Cover more cases in VCP dt- property processing --- .../microformats-v2-unit/value/value-dt.html | 55 +++++++++++++------ .../microformats-v2-unit/value/value-dt.json | 28 ++++++++-- 2 files changed, 60 insertions(+), 23 deletions(-) diff --git a/tests/microformats-v2-unit/value/value-dt.html b/tests/microformats-v2-unit/value/value-dt.html index d825402..dc9d13e 100644 --- a/tests/microformats-v2-unit/value/value-dt.html +++ b/tests/microformats-v2-unit/value/value-dt.html @@ -38,8 +38,12 @@
NotPartOfTest
Valid NotADate Valid
-
Invalid 2000-01-01 00:00:00+00:00 Invalid
-
Invalid 2000-01-0100:00:00+00:00 Invalid
+
Valid 00:00:00+0000 Valid
+
Invalid 2000-01-01 00:00:00+0000 Invalid
+
Invalid 2000-01-0100:00:00+0000 Invalid
+
Invalid 2000-01-01 00:00:00+0000 Invalid
+
Invalid 2000-01-0100:00:00+0000 Invalid
+
Invalid +000000:00:002000-01-01 Invalid
Invalid 2000-01-01 @@ -57,7 +61,22 @@ Invalid 2000-01-01 00:00:00 - 00:00:00+00:00 + 00:00:00+0000 + Invalid +
+
+ Invalid + 2000-01-01 + +0000 + 23:59:59+0000 + 00:00:00 + Invalid +
+
+ Invalid + 2000-01-01 + +0000 + 23:59:59+0000 Invalid
@@ -78,46 +97,46 @@
NotPartOfTest
-
Invalid Invalid Invalid
-
Valid
+
Invalid 2099-01-01 Invalid
+
Valid 2099-01-01 Valid
Invalid 2000-01-01 Invalid
NotPartOfTest
-
Invalid Invalid Invalid
-
Valid
+
Invalid 2099-01-01 Invalid
+
Valid 2099-01-01 Valid
Invalid 2000-01-01 Invalid
NotPartOfTest
-
Invalid Invalid
-
Vaid
+
Invalid Invalid
+
Valid Valid
Invalid Invalid
NotPartOfTest
-
Invalid Invalid Invalid
-
Valid
+
Invalid 2099-01-01 Invalid
+
Valid 2099-01-01 Valid
Invalid 2000-01-01 Invalid
NotPartOfTest
-
Invalid Invalid Invalid
-
Valid
+
Invalid 2099-01-01 Invalid
+
Valid 2099-01-01 Valid
Invalid 2000-01-01 Invalid
NotPartOfTest
- - Invalid 2000-01-01 Invalid - Invalid 2000-01-01 Invalid - Invalid 2000-01-01 Invalid - Invalid 2000-01-01 Invalid + + Invalid 2000-01-01 Invalid + Invalid 2000-01-01 Invalid + Invalid 2000-01-01 Invalid + Invalid 2000-01-01 Invalid
diff --git a/tests/microformats-v2-unit/value/value-dt.json b/tests/microformats-v2-unit/value/value-dt.json index 1625c09..1ef1e76 100644 --- a/tests/microformats-v2-unit/value/value-dt.json +++ b/tests/microformats-v2-unit/value/value-dt.json @@ -71,12 +71,24 @@ "not-a-date": [ "Valid NotADate Valid" ], + "time-only": [ + "Valid 00:00:00+0000 Valid" + ], "1-with-tz": [ "2000-01-01 00:00:00+0000" ], "2-with-tz": [ "2000-01-01 00:00:00+0000" ], + "3-with-tz": [ + "2000-01-01 00:00:00+0000" + ], + "4-with-tz": [ + "2000-01-01 00:00:00+0000" + ], + "misordered": [ + "2000-01-01 00:00:00+0000" + ], "1-first-wins": [ "2000-01-01" ], @@ -85,6 +97,12 @@ ], "3-first-wins": [ "2000-01-01 00:00:00" + ], + "4-first-wins": [ + "2000-01-01 00:00:00+0000" + ], + "5-first-wins": [ + "2000-01-01" ] } }, @@ -138,7 +156,7 @@ "2000-01-01" ], "empty": [ - "Valid" + "Valid 2099-01-01 Valid" ], "missing": [ "2000-01-01" @@ -157,7 +175,7 @@ "2000-01-01" ], "empty": [ - "Valid" + "Valid 2099-01-01 Valid" ], "missing": [ "2000-01-01" @@ -176,7 +194,7 @@ "2000-01-01" ], "empty": [ - "Valid" + "Valid 2099-01-01 Valid" ], "missing": [ "2000-01-01" @@ -195,7 +213,7 @@ "2000-01-01" ], "empty": [ - "Valid" + "Valid 2099-01-01 Valid" ], "missing": [ "2000-01-01" @@ -214,7 +232,7 @@ "2000-01-01" ], "empty": [ - "Valid" + "Valid 2099-01-01 Valid" ], "missing": [ "2000-01-01" From 42ea82a857661a50972bd36e4cffc1266b2932b5 Mon Sep 17 00:00:00 2001 From: "J. King" Date: Fri, 30 Jan 2026 13:34:53 -0500 Subject: [PATCH 4/4] Add tests for VCP implied date --- .../microformats-v2-unit/value/value-dt.html | 18 ++++++- .../microformats-v2-unit/value/value-dt.json | 48 +++++++++++++++++-- 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/tests/microformats-v2-unit/value/value-dt.html b/tests/microformats-v2-unit/value/value-dt.html index dc9d13e..6486c79 100644 --- a/tests/microformats-v2-unit/value/value-dt.html +++ b/tests/microformats-v2-unit/value/value-dt.html @@ -38,7 +38,6 @@
NotPartOfTest
Valid NotADate Valid
-
Valid 00:00:00+0000 Valid
Invalid 2000-01-01 00:00:00+0000 Invalid
Invalid 2000-01-0100:00:00+0000 Invalid
Invalid 2000-01-01 00:00:00+0000 Invalid
@@ -81,6 +80,23 @@
+
+
NotPartOfTest
+
Valid 00:00:00+0000 Valid
+
+ +
+
NotPartOfTest
+
Invalid 2000-01-01 23:59:59+0000 Invalid
+
Invalid 00:00:00+0000 Invalid
+
+ +
+
NotPartOfTest
+
Invalid 00:00:00+0000 Invalid
+
Invalid 2000-01-01 23:59:59+0000 Invalid
+
+
NotPartOfTest
Invalid 2000-01-01 Invalid
diff --git a/tests/microformats-v2-unit/value/value-dt.json b/tests/microformats-v2-unit/value/value-dt.json index 1ef1e76..982d44e 100644 --- a/tests/microformats-v2-unit/value/value-dt.json +++ b/tests/microformats-v2-unit/value/value-dt.json @@ -71,9 +71,6 @@ "not-a-date": [ "Valid NotADate Valid" ], - "time-only": [ - "Valid 00:00:00+0000 Valid" - ], "1-with-tz": [ "2000-01-01 00:00:00+0000" ], @@ -106,6 +103,51 @@ ] } }, + { + "type": [ + "h-test-implied-date-missing" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "time-only": [ + "Valid 00:00:00+0000 Valid" + ] + } + }, + { + "type": [ + "h-test-implied-date-before" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "implied": [ + "2000-01-01 23:59:59+0000" + ], + "time-only": [ + "2000-01-01 00:00:00+0000" + ] + } + }, + { + "type": [ + "h-test-implied-date-after" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "time-only": [ + "2000-01-01 00:00:00+0000" + ], + "implied": [ + "2000-01-01 23:59:59+0000" + ] + } + }, { "type": [ "h-test-img"