diff --git a/tests/microformats-v2-unit/README.md b/tests/microformats-v2-unit/README.md index 869682c..f6f171a 100644 --- a/tests/microformats-v2-unit/README.md +++ b/tests/microformats-v2-unit/README.md @@ -19,11 +19,15 @@ Tests adhere to the following design principles. New additions to this test seri ## Setting up the tests -Test set-up is the same as for the other test sets, with the exception that the base URL is `http://example.test`. Partial parser implementations may wish to execute tests in a particular orderto test basic features before more complex ones: +Test set-up is the same as for the other test sets, with the exception that the base URL is `http://example.test`. Partial parser implementations may wish to execute tests in a particular order to test basic features before more complex ones: 1. Microformat tests in `names` 2. Property tests in `names` 3. Tests in `properties` 4. Tests in `implied` 5. Tests in `value` -6. Tests in `nested` \ No newline at end of file +6. Tests in `value-title` +7. Tests in `value-date` +8. Tests in `id` +9. Tests in `text` +10. Tests in `nested` diff --git a/tests/microformats-v2-unit/id/id.html b/tests/microformats-v2-unit/id/id.html new file mode 100644 index 0000000..8f20f7d --- /dev/null +++ b/tests/microformats-v2-unit/id/id.html @@ -0,0 +1,17 @@ +
+
NotPartOfTest
+
+ +
+
+
NotPartOfTest
+
+
+ +
+
NotPartOfTest
+
P
+
http://example.test/U
+
Dt
+
E
+
diff --git a/tests/microformats-v2-unit/id/id.json b/tests/microformats-v2-unit/id/id.json new file mode 100644 index 0000000..978aca8 --- /dev/null +++ b/tests/microformats-v2-unit/id/id.json @@ -0,0 +1,52 @@ +{ + "items": [ + { + "type": [ + "h-test-with-id" + ], + "properties": { + "name": [ + "NotPartOfTest" + ] + }, + "id": "Valid" + }, + { + "type": [ + "h-test-without-id" + ], + "properties": { + "name": [ + "NotPartOfTest" + ] + } + }, + { + "type": [ + "h-test-not-properties" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "not-id-p": [ + "P" + ], + "not-id-u": [ + "http://example.test/U" + ], + "not-id-dt": [ + "Dt" + ], + "not-id-e": [ + { + "html": "E", + "value": "E" + } + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/nested/nested-id.html b/tests/microformats-v2-unit/nested/nested-id.html new file mode 100644 index 0000000..d7ec1db --- /dev/null +++ b/tests/microformats-v2-unit/nested/nested-id.html @@ -0,0 +1,8 @@ +
+
+
NotPartOfTest
+
+
P
+
http://example.test/U
+
Dt
+
\ No newline at end of file diff --git a/tests/microformats-v2-unit/nested/nested-id.json b/tests/microformats-v2-unit/nested/nested-id.json new file mode 100644 index 0000000..d0d56fb --- /dev/null +++ b/tests/microformats-v2-unit/nested/nested-id.json @@ -0,0 +1,69 @@ +{ + "items": [ + { + "type": [ + "h-test" + ], + "properties": { + "test-p": [ + { + "value": "P", + "type": [ + "h-test-p" + ], + "properties": { + "name": [ + "P" + ] + }, + "id": "p" + } + ], + "test-u": [ + { + "value": "http://example.test/U", + "type": [ + "h-test-u" + ], + "properties": { + "name": [ + "http://example.test/U" + ] + }, + "id": "u" + } + ], + "test-dt": [ + { + "value": "Dt", + "type": [ + "h-test-dt" + ], + "properties": { + "name": [ + "Dt" + ] + }, + "id": "dt" + } + ] + }, + "id": "root", + "children": [ + { + "type": [ + "h-test-child" + ], + "properties": { + "name": [ + "NotPartOfTest" + ] + }, + "id": "child" + } + ] + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/nested/nested-property.html b/tests/microformats-v2-unit/nested/nested-property.html new file mode 100644 index 0000000..98e367f --- /dev/null +++ b/tests/microformats-v2-unit/nested/nested-property.html @@ -0,0 +1,8 @@ + + +
+
One Two Three Four
+
Five
+
diff --git a/tests/microformats-v2-unit/nested/nested-property.json b/tests/microformats-v2-unit/nested/nested-property.json new file mode 100644 index 0000000..f342b34 --- /dev/null +++ b/tests/microformats-v2-unit/nested/nested-property.json @@ -0,0 +1,28 @@ +{ + "items": [ + { + "type": [ + "h-test-tree-order" + ], + "properties": { + "one": [ + "One Two Three Four" + ], + "two": [ + "Two Three Four" + ], + "three": [ + "Three" + ], + "four": [ + "Four" + ], + "five": [ + "Five" + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/nested/tentative-nested-id.html b/tests/microformats-v2-unit/nested/tentative-nested-id.html new file mode 100644 index 0000000..7968626 --- /dev/null +++ b/tests/microformats-v2-unit/nested/tentative-nested-id.html @@ -0,0 +1,7 @@ + +
+
E
+
\ No newline at end of file diff --git a/tests/microformats-v2-unit/nested/tentative-nested-id.json b/tests/microformats-v2-unit/nested/tentative-nested-id.json new file mode 100644 index 0000000..701308f --- /dev/null +++ b/tests/microformats-v2-unit/nested/tentative-nested-id.json @@ -0,0 +1,29 @@ +{ + "items": [ + { + "type": [ + "h-test" + ], + "properties": { + "test-e": [ + { + "html": "
E
", + "value": "E", + "type": [ + "h-test-e" + ], + "properties": { + "name": [ + "E" + ] + }, + "id": "e" + } + ] + }, + "id": "root" + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/text/tentative-text-basic.html b/tests/microformats-v2-unit/text/tentative-text-basic.html new file mode 100644 index 0000000..5a35085 --- /dev/null +++ b/tests/microformats-v2-unit/text/tentative-text-basic.html @@ -0,0 +1,31 @@ + + +
+
NotPartOfTest
+
http://example.test/DoTrim
+
NoTrim
+
…NoTrim…
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+

NoTrim

+

NoTrim

+
 NoTrim 
+
 NoTrim 
+
 NoTrim 
+
+ +
+
NotPartOfTest
+
A A
+
diff --git a/tests/microformats-v2-unit/text/tentative-text-basic.json b/tests/microformats-v2-unit/text/tentative-text-basic.json new file mode 100644 index 0000000..ee539ad --- /dev/null +++ b/tests/microformats-v2-unit/text/tentative-text-basic.json @@ -0,0 +1,92 @@ +{ + "items": [ + { + "type": [ + "h-test-whitespace-u" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "ascii": [ + "http://example.test/DoTrim" + ], + "1-unicode": [ + "http://example.test/NoTrim" + ], + "2-unicode": [ + "http://example.test/%E2%80%A6NoTrim%E2%80%A6" + ], + "3-unicode": [ + "http://example.test/%C2%A0NoTrim%C2%A0" + ], + "4-unicode": [ + "http://example.test/%E1%9A%80NoTrim%E1%9A%80" + ], + "5-unicode": [ + "http://example.test/%E2%80%80NoTrim%E2%80%80" + ], + "6-unicode": [ + "http://example.test/%E2%80%81NoTrim%E2%80%81" + ], + "7-unicode": [ + "http://example.test/%E2%80%82NoTrim%E2%80%82" + ], + "8-unicode": [ + "http://example.test/%E2%80%83NoTrim%E2%80%83" + ], + "9-unicode": [ + "http://example.test/%E2%80%84NoTrim%E2%80%84" + ], + "10-unicode": [ + "http://example.test/%E2%80%85NoTrim%E2%80%85" + ], + "11-unicode": [ + "http://example.test/%E2%80%86NoTrim%E2%80%86" + ], + "12-unicode": [ + "http://example.test/%E2%80%87NoTrim%E2%80%87" + ], + "13-unicode": [ + "http://example.test/%E2%80%88NoTrim%E2%80%88" + ], + "14-unicode": [ + "http://example.test/%E2%80%89NoTrim%E2%80%89" + ], + "15-unicode": [ + "http://example.test/%E2%80%8ANoTrim%E2%80%8A" + ], + "16-unicode": [ + "http://example.test/%E2%80%A8NoTrim%E2%80%A8" + ], + "17-unicode": [ + "http://example.test/%E2%80%A9NoTrim%E2%80%A9" + ], + "18-unicode": [ + "http://example.test/%E2%80%AFNoTrim%E2%80%AF" + ], + "19-unicode": [ + "http://example.test/%E2%81%9FNoTrim%E2%81%9F" + ], + "20-unicode": [ + "http://example.test/%E3%80%80NoTrim%E3%80%80" + ] + } + }, + { + "type": [ + "h-test-inner-whitespace" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "u": [ + "http://example.test/A%20%20%0C%0CA" + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/text/tentative-text-img.html b/tests/microformats-v2-unit/text/tentative-text-img.html new file mode 100644 index 0000000..2a2815a --- /dev/null +++ b/tests/microformats-v2-unit/text/tentative-text-img.html @@ -0,0 +1,28 @@ + + +
+
http://example.test/NotPartOfTest
+
+
+ A A +
+
+
+
+ A A +
+
+
+
+ A Valid A +
+
+
+
+ A  No Trim A +
+
+
diff --git a/tests/microformats-v2-unit/text/tentative-text-img.json b/tests/microformats-v2-unit/text/tentative-text-img.json new file mode 100644 index 0000000..01ef56e --- /dev/null +++ b/tests/microformats-v2-unit/text/tentative-text-img.json @@ -0,0 +1,46 @@ +{ + "items": [ + { + "type": [ + "h-test-img-e" + ], + "properties": { + "name": [ + "http://example.test/NotPartOfTest" + ], + "photo": [ + "http://example.test/NotPartOfTest" + ], + "url": [ + "http://example.test/NotPartOfTest" + ], + "src-empty-alt-missing": [ + { + "html": "
\n A A\n
", + "value": "A http://example.test A" + } + ], + "src-empty-alt-empty": [ + { + "html": "
\n A \"\" A\n
", + "value": "A A" + } + ], + "src-empty-alt-filled": [ + { + "html": "
\n A \"Valid\" A\n
", + "value": "A Valid A" + } + ], + "src-empty-alt-filled-space": [ + { + "html": "
\n A \" A\n
", + "value": "A No Trim A" + } + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} \ No newline at end of file diff --git a/tests/microformats-v2-unit/text/text-basic.html b/tests/microformats-v2-unit/text/text-basic.html new file mode 100644 index 0000000..02030df --- /dev/null +++ b/tests/microformats-v2-unit/text/text-basic.html @@ -0,0 +1,113 @@ +
+
NotPartOfTest
+
Do Trim
+
No Trim
+
… No Trim …
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+

 No Trim 

+

 No Trim 

+
  No Trim  
+
  No Trim  
+
  No Trim  
+
+ +
+
NotPartOfTest
+
Do Trim
+
No Trim
+
… No Trim …
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+

 No Trim 

+

 No Trim 

+
  No Trim  
+
  No Trim  
+
  No Trim  
+
+ +
+
NotPartOfTest
+
Do Trim
+
No Trim
+
… No Trim …
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+
  No Trim  
+

 No Trim 

+

 No Trim 

+
  No Trim  
+
  No Trim  
+
  No Trim  
+
+ +
+
NotPartOfTest
+
A A
+
A A
+
A A
+
+ +
+
NotPartOfTest
+
+
+ + +
+ Valid +
+
+
+ + +
+ Valid +
+
+
+ + +
+ Valid +
+
+
+ + +
+ Valid +
+
diff --git a/tests/microformats-v2-unit/text/text-basic.json b/tests/microformats-v2-unit/text/text-basic.json new file mode 100644 index 0000000..020420f --- /dev/null +++ b/tests/microformats-v2-unit/text/text-basic.json @@ -0,0 +1,335 @@ +{ + "items": [ + { + "type": [ + "h-test-whitespace-p" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "ascii": [ + "Do Trim" + ], + "1-unicode": [ + "\u000b No Trim \u000b" + ], + "2-unicode": [ + "\u2026 No Trim \u2026" + ], + "3-unicode": [ + "\u00a0 No Trim \u00a0" + ], + "4-unicode": [ + "\u1680 No Trim \u1680" + ], + "5-unicode": [ + "\u2000 No Trim \u2000" + ], + "6-unicode": [ + "\u2001 No Trim \u2001" + ], + "7-unicode": [ + "\u2002 No Trim \u2002" + ], + "8-unicode": [ + "\u2003 No Trim \u2003" + ], + "9-unicode": [ + "\u2004 No Trim \u2004" + ], + "10-unicode": [ + "\u2005 No Trim \u2005" + ], + "11-unicode": [ + "\u2006 No Trim \u2006" + ], + "12-unicode": [ + "\u2007 No Trim \u2007" + ], + "13-unicode": [ + "\u2008 No Trim \u2008" + ], + "14-unicode": [ + "\u2009 No Trim \u2009" + ], + "15-unicode": [ + "\u200a No Trim \u200a" + ], + "16-unicode": [ + "\u2028 No Trim \u2028" + ], + "17-unicode": [ + "\u2029 No Trim \u2029" + ], + "18-unicode": [ + "\u202f No Trim \u202f" + ], + "19-unicode": [ + "\u205f No Trim \u205f" + ], + "20-unicode": [ + "\u3000 No Trim \u3000" + ] + } + }, + { + "type": [ + "h-test-whitespace-dt" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "ascii": [ + "Do Trim" + ], + "1-unicode": [ + "\u000b No Trim \u000b" + ], + "2-unicode": [ + "\u2026 No Trim \u2026" + ], + "3-unicode": [ + "\u00a0 No Trim \u00a0" + ], + "4-unicode": [ + "\u1680 No Trim \u1680" + ], + "5-unicode": [ + "\u2000 No Trim \u2000" + ], + "6-unicode": [ + "\u2001 No Trim \u2001" + ], + "7-unicode": [ + "\u2002 No Trim \u2002" + ], + "8-unicode": [ + "\u2003 No Trim \u2003" + ], + "9-unicode": [ + "\u2004 No Trim \u2004" + ], + "10-unicode": [ + "\u2005 No Trim \u2005" + ], + "11-unicode": [ + "\u2006 No Trim \u2006" + ], + "12-unicode": [ + "\u2007 No Trim \u2007" + ], + "13-unicode": [ + "\u2008 No Trim \u2008" + ], + "14-unicode": [ + "\u2009 No Trim \u2009" + ], + "15-unicode": [ + "\u200a No Trim \u200a" + ], + "16-unicode": [ + "\u2028 No Trim \u2028" + ], + "17-unicode": [ + "\u2029 No Trim \u2029" + ], + "18-unicode": [ + "\u202f No Trim \u202f" + ], + "19-unicode": [ + "\u205f No Trim \u205f" + ], + "20-unicode": [ + "\u3000 No Trim \u3000" + ] + } + }, + { + "type": [ + "h-test-whitespace-e" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "ascii": [ + { + "html": "Do Trim", + "value": "Do Trim" + } + ], + "1-unicode": [ + { + "html": "\u000b No Trim \u000b", + "value": "\u000b No Trim \u000b" + } + ], + "2-unicode": [ + { + "html": "\u2026 No Trim \u2026", + "value": "\u2026 No Trim \u2026" + } + ], + "3-unicode": [ + { + "html": "  No Trim  ", + "value": "\u00a0 No Trim \u00a0" + } + ], + "4-unicode": [ + { + "html": "\u1680 No Trim \u1680", + "value": "\u1680 No Trim \u1680" + } + ], + "5-unicode": [ + { + "html": "\u2000 No Trim \u2000", + "value": "\u2000 No Trim \u2000" + } + ], + "6-unicode": [ + { + "html": "\u2001 No Trim \u2001", + "value": "\u2001 No Trim \u2001" + } + ], + "7-unicode": [ + { + "html": "\u2002 No Trim \u2002", + "value": "\u2002 No Trim \u2002" + } + ], + "8-unicode": [ + { + "html": "\u2003 No Trim \u2003", + "value": "\u2003 No Trim \u2003" + } + ], + "9-unicode": [ + { + "html": "\u2004 No Trim \u2004", + "value": "\u2004 No Trim \u2004" + } + ], + "10-unicode": [ + { + "html": "\u2005 No Trim \u2005", + "value": "\u2005 No Trim \u2005" + } + ], + "11-unicode": [ + { + "html": "\u2006 No Trim \u2006", + "value": "\u2006 No Trim \u2006" + } + ], + "12-unicode": [ + { + "html": "\u2007 No Trim \u2007", + "value": "\u2007 No Trim \u2007" + } + ], + "13-unicode": [ + { + "html": "\u2008 No Trim \u2008", + "value": "\u2008 No Trim \u2008" + } + ], + "14-unicode": [ + { + "html": "\u2009 No Trim \u2009", + "value": "\u2009 No Trim \u2009" + } + ], + "15-unicode": [ + { + "html": "\u200a No Trim \u200a", + "value": "\u200a No Trim \u200a" + } + ], + "16-unicode": [ + { + "html": "\u2028 No Trim \u2028", + "value": "\u2028 No Trim \u2028" + } + ], + "17-unicode": [ + { + "html": "\u2029 No Trim \u2029", + "value": "\u2029 No Trim \u2029" + } + ], + "18-unicode": [ + { + "html": "\u202f No Trim \u202f", + "value": "\u202f No Trim \u202f" + } + ], + "19-unicode": [ + { + "html": "\u205f No Trim \u205f", + "value": "\u205f No Trim \u205f" + } + ], + "20-unicode": [ + { + "html": "\u3000 No Trim \u3000", + "value": "\u3000 No Trim \u3000" + } + ] + } + }, + { + "type": [ + "h-test-inner-whitespace" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "p": [ + "A \t\t\n\n\f\f\r\rA" + ], + "dt": [ + "A \t\t\n\n\f\f\r\rA" + ], + "e": [ + { + "html": "A \t\t\n\n\f\f\r\rA", + "value": "A \t\t\n\n\f\f\r\rA" + } + ] + } + }, + { + "type": [ + "h-test-stripped" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "p": [ + "Valid" + ], + "u": [ + "http://example.test/Valid" + ], + "dt": [ + "Valid" + ], + "e": [ + { + "html": "
\n \n \n
\n Valid", + "value": "Valid" + } + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/text/text-img.html b/tests/microformats-v2-unit/text/text-img.html new file mode 100644 index 0000000..4a03d80 --- /dev/null +++ b/tests/microformats-v2-unit/text/text-img.html @@ -0,0 +1,236 @@ +
+
http://example.test/NotPartOfTest
+
+
+ A A +
+
+
+
+ A A +
+
+
+
+ A Valid A +
+
+
+
+ A  No Trim A +
+
+
+
+ A A +
+
+
+
+ A A +
+
+
+
+ A Valid A +
+
+
+
+ A  No Trim A +
+
+
+
+ A A +
+
+
+
+ A A +
+
+
+
+ A Valid A +
+
+
+
+ A  No Trim A +
+
+
+ +
+
http://example.test/NotPartOfTest
+
+
+ AA +
+
+
+
+ AA +
+
+
+
+ AInvalidA +
+
+
+
+ A Invalid A +
+
+
+
+ AA +
+
+
+
+ AA +
+
+
+
+ AInvalidA +
+
+
+
+ A Invalid A +
+
+
+
+ AA +
+
+
+
+ AA +
+
+
+
+ AInvalidA +
+
+
+
+ A Invalid A +
+
+
+ +
+
http://example.test/NotPartOfTest
+
+
+ AA +
+
+
+
+ AA +
+
+
+
+ AInvalidA +
+
+
+
+ A Invalid A +
+
+
+
+ AA +
+
+
+
+ AA +
+
+
+
+ AInvalidA +
+
+
+
+ A Invalid A +
+
+
+
+ AA +
+
+
+
+ AA +
+
+
+
+ AInvalidA +
+
+
+
+ A Invalid A +
+
+
+ +
+
http://example.test/NotPartOfTest
+
+
+ A A +
+
+
+
+ A A +
+
+
+
+ A Valid A +
+
+
+
+ A  No Trim A +
+
+ +
+
+ A A +
+
+
+
+ A A +
+
+
+
+ A Valid A +
+
+
+
+ A  No Trim A +
+
+
diff --git a/tests/microformats-v2-unit/text/text-img.json b/tests/microformats-v2-unit/text/text-img.json new file mode 100644 index 0000000..7ca10c3 --- /dev/null +++ b/tests/microformats-v2-unit/text/text-img.json @@ -0,0 +1,226 @@ +{ + "items": [ + { + "type": [ + "h-test-img-p" + ], + "properties": { + "name": [ + "http://example.test/NotPartOfTest" + ], + "photo": [ + "http://example.test/NotPartOfTest" + ], + "url": [ + "http://example.test/NotPartOfTest" + ], + "src-missing-alt-missing": [ + "A A" + ], + "src-missing-alt-empty": [ + "A A" + ], + "src-missing-alt-filled": [ + "A Valid A" + ], + "src-missing-alt-filled-space": [ + "A No Trim A" + ], + "src-empty-alt-missing": [ + "A http://example.test A" + ], + "src-empty-alt-empty": [ + "A A" + ], + "src-empty-alt-filled": [ + "A Valid A" + ], + "src-empty-alt-filled-space": [ + "A No Trim A" + ], + "src-filled-alt-missing": [ + "A http://example.test/Valid A" + ], + "src-filled-alt-empty": [ + "A A" + ], + "src-filled-alt-filled": [ + "A Valid A" + ], + "src-filled-alt-filled-space": [ + "A No Trim A" + ] + } + }, + { + "type": [ + "h-test-img-u" + ], + "properties": { + "name": [ + "http://example.test/NotPartOfTest" + ], + "photo": [ + "http://example.test/NotPartOfTest" + ], + "url": [ + "http://example.test/NotPartOfTest" + ], + "src-missing-alt-missing": [ + "http://example.test/AA" + ], + "src-missing-alt-empty": [ + "http://example.test/AA" + ], + "src-missing-alt-filled": [ + "http://example.test/AA" + ], + "src-missing-alt-filled-space": [ + "http://example.test/AA" + ], + "src-empty-alt-missing": [ + "http://example.test/AA" + ], + "src-empty-alt-empty": [ + "http://example.test/AA" + ], + "src-empty-alt-filled": [ + "http://example.test/AA" + ], + "src-empty-alt-filled-space": [ + "http://example.test/AA" + ], + "src-filled-alt-missing": [ + "http://example.test/AA" + ], + "src-filled-alt-empty": [ + "http://example.test/AA" + ], + "src-filled-alt-filled": [ + "http://example.test/AA" + ], + "src-filled-alt-filled-space": [ + "http://example.test/AA" + ] + } + }, + { + "type": [ + "h-test-img-dt" + ], + "properties": { + "name": [ + "http://example.test/NotPartOfTest" + ], + "photo": [ + "http://example.test/NotPartOfTest" + ], + "url": [ + "http://example.test/NotPartOfTest" + ], + "src-missing-alt-missing": [ + "AA" + ], + "src-missing-alt-empty": [ + "AA" + ], + "src-missing-alt-filled": [ + "AA" + ], + "src-missing-alt-filled-space": [ + "AA" + ], + "src-empty-alt-missing": [ + "AA" + ], + "src-empty-alt-empty": [ + "AA" + ], + "src-empty-alt-filled": [ + "AA" + ], + "src-empty-alt-filled-space": [ + "AA" + ], + "src-filled-alt-missing": [ + "AA" + ], + "src-filled-alt-empty": [ + "AA" + ], + "src-filled-alt-filled": [ + "AA" + ], + "src-filled-alt-filled-space": [ + "AA" + ] + } + }, + { + "type": [ + "h-test-img-e" + ], + "properties": { + "name": [ + "http://example.test/NotPartOfTest" + ], + "photo": [ + "http://example.test/NotPartOfTest" + ], + "url": [ + "http://example.test/NotPartOfTest" + ], + "src-missing-alt-missing": [ + { + "html": "
\n A A\n
", + "value": "A A" + } + ], + "src-missing-alt-empty": [ + { + "html": "
\n A \"\" A\n
", + "value": "A A" + } + ], + "src-missing-alt-filled": [ + { + "html": "
\n A \"Valid\" A\n
", + "value": "A Valid A" + } + ], + "src-missing-alt-filled-space": [ + { + "html": "
\n A \" A\n
", + "value": "A No Trim A" + } + ], + "src-filled-alt-missing": [ + { + "html": "
\n A A\n
", + "value": "A http://example.test/Valid A" + } + ], + "src-filled-alt-empty": [ + { + "html": "
\n A \"\" A\n
", + "value": "A A" + } + ], + "src-filled-alt-filled": [ + { + "html": "
\n A \"Valid\" A\n
", + "value": "A Valid A" + } + ], + "src-filled-alt-filled-space": [ + { + "html": "
\n A \" A\n
", + "value": "A No Trim A" + } + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/value-date/tentative-value-date-ordinal.html b/tests/microformats-v2-unit/value-date/tentative-value-date-ordinal.html new file mode 100644 index 0000000..dfbc711 --- /dev/null +++ b/tests/microformats-v2-unit/value-date/tentative-value-date-ordinal.html @@ -0,0 +1,12 @@ + + +
+
Ordinal dates
+
Invalid 1583-001 Invalid
+
Invalid 9999-365 Invalid
+
Invalid 2000-060 Invalid
+
Invalid 2000-366 Invalid
+
diff --git a/tests/microformats-v2-unit/value-date/tentative-value-date-ordinal.json b/tests/microformats-v2-unit/value-date/tentative-value-date-ordinal.json new file mode 100644 index 0000000..45d146a --- /dev/null +++ b/tests/microformats-v2-unit/value-date/tentative-value-date-ordinal.json @@ -0,0 +1,22 @@ +{ + "items": [ + { + "properties": { + "name": [ + "Ordinal dates" + ], + "ordinal": [ + "1583-01-01", + "9999-12-31", + "2000-02-29", + "2000-12-31" + ] + }, + "type": [ + "h-test-date-ord" + ] + } + ], + "rel-urls": {}, + "rels": {} +} diff --git a/tests/microformats-v2-unit/value-date/tentative-value-date-short.html b/tests/microformats-v2-unit/value-date/tentative-value-date-short.html new file mode 100644 index 0000000..e6897a2 --- /dev/null +++ b/tests/microformats-v2-unit/value-date/tentative-value-date-short.html @@ -0,0 +1,54 @@ + + +
+
24-hour time formats
+
Invalid 2000-01-01 0:00:00 Invalid
+
Invalid 2000-01-01 9:59:59 Invalid
+
Invalid 2000-01-01 0:00 Invalid
+
Invalid 2000-01-01 9:59 Invalid
+
+ +
+
12-hour time formats
+
Invalid 2000-01-01 1:00:00am Invalid
+
Invalid 2000-01-01 9:59:59am Invalid
+
Invalid 2000-01-01 1:00:00pm Invalid
+
Invalid 2000-01-01 9:59:59pm Invalid
+
Invalid 2000-01-01 1:00am Invalid
+
Invalid 2000-01-01 9:59am Invalid
+
Invalid 2000-01-01 1:00pm Invalid
+
Invalid 2000-01-01 9:59pm Invalid
+
Invalid 2000-01-01 1am Invalid
+
Invalid 2000-01-01 9am Invalid
+
Invalid 2000-01-01 1pm Invalid
+
Invalid 2000-01-01 9pm Invalid
+
+ +
+
Time zone offsets
+
Invalid 2000-01-01 00:00:00 +000 Invalid
+
Invalid 2000-01-01 00:00:00 -000 Invalid
+
Invalid 2000-01-01 00:00:00 -930 Invalid
+
Invalid 2000-01-01 00:00:00 +930 Invalid
+
Invalid 2000-01-01 00:00:00 +0:00 Invalid
+
Invalid 2000-01-01 00:00:00 -0:00 Invalid
+
Invalid 2000-01-01 00:00:00 -9:30 Invalid
+
Invalid 2000-01-01 00:00:00 +9:30 Invalid
+
Invalid 2000-01-01 00:00:00 +0 Invalid
+
Invalid 2000-01-01 00:00:00 -0 Invalid
+
Invalid 2000-01-01 00:00:00 -9 Invalid
+
Invalid 2000-01-01 00:00:00 +9 Invalid
+
diff --git a/tests/microformats-v2-unit/value-date/tentative-value-date-short.json b/tests/microformats-v2-unit/value-date/tentative-value-date-short.json new file mode 100644 index 0000000..b842c16 --- /dev/null +++ b/tests/microformats-v2-unit/value-date/tentative-value-date-short.json @@ -0,0 +1,80 @@ +{ + "items": [ + { + "properties": { + "name": [ + "24-hour time formats" + ], + "short-min": [ + "2000-01-01 00:00", + "2000-01-01 09:59" + ], + "short-sec": [ + "2000-01-01 00:00:00", + "2000-01-01 09:59:59" + ] + }, + "type": [ + "h-test-time-twentyfour" + ] + }, + { + "properties": { + "name": [ + "12-hour time formats" + ], + "short-hour": [ + "2000-01-01 01:00", + "2000-01-01 09:00", + "2000-01-01 13:00", + "2000-01-01 21:00" + ], + "short-min": [ + "2000-01-01 01:00", + "2000-01-01 09:59", + "2000-01-01 13:00", + "2000-01-01 21:59" + ], + "short-sec": [ + "2000-01-01 01:00:00", + "2000-01-01 09:59:59", + "2000-01-01 13:00:00", + "2000-01-01 21:59:59" + ] + }, + "type": [ + "h-test-time-twelve" + ] + }, + { + "properties": { + "name": [ + "Time zone offsets" + ], + "short-bare": [ + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00-0930", + "2000-01-01 00:00:00+0930" + ], + "short-colon": [ + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00-0930", + "2000-01-01 00:00:00+0930" + ], + "short-hour": [ + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00-0900", + "2000-01-01 00:00:00+0900" + ] + }, + "type": [ + "h-test-zone" + ] + } + ], + "rel-urls": {}, + "rels": {} +} diff --git a/tests/microformats-v2-unit/value-date/tentative-value-date-utc.html b/tests/microformats-v2-unit/value-date/tentative-value-date-utc.html new file mode 100644 index 0000000..24fbcf4 --- /dev/null +++ b/tests/microformats-v2-unit/value-date/tentative-value-date-utc.html @@ -0,0 +1,22 @@ + + +
+
Time zone offsets
+
Invalid 2000-01-01 00:00:00 Z Invalid
+
Invalid 2000-01-01 00:00:00 +0000 Invalid
+
Invalid 2000-01-01 00:00:00 -0000 Invalid
+
Invalid 2000-01-01 00:00:00 +00:00 Invalid
+
Invalid 2000-01-01 00:00:00 -00:00 Invalid
+
Invalid 2000-01-01 00:00:00 +00 Invalid
+
Invalid 2000-01-01 00:00:00 -00 Invalid
+
diff --git a/tests/microformats-v2-unit/value-date/tentative-value-date-utc.json b/tests/microformats-v2-unit/value-date/tentative-value-date-utc.json new file mode 100644 index 0000000..748860c --- /dev/null +++ b/tests/microformats-v2-unit/value-date/tentative-value-date-utc.json @@ -0,0 +1,31 @@ +{ + "items": [ + { + "properties": { + "full-bare": [ + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00+0000" + ], + "full-colon": [ + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00+0000" + ], + "full-hour": [ + "2000-01-01 00:00:00+0000", + "2000-01-01 00:00:00+0000" + ], + "name": [ + "Time zone offsets" + ], + "zulu": [ + "2000-01-01 00:00:00Z" + ] + }, + "type": [ + "h-test-zone" + ] + } + ], + "rel-urls": {}, + "rels": {} +} \ No newline at end of file diff --git a/tests/microformats-v2-unit/value-date/value-date-formats.html b/tests/microformats-v2-unit/value-date/value-date-formats.html new file mode 100644 index 0000000..62198e9 --- /dev/null +++ b/tests/microformats-v2-unit/value-date/value-date-formats.html @@ -0,0 +1,161 @@ + + +
+
Control tests to ensure invalid values are rejected
+
Valid NotADate Valid
+
Valid 2000-00-00 Valid
+
Valid 2000-13-01 Valid
+
Valid 2000-12-32 Valid
+
Valid 2000-01-01 25:00:00 Valid
+
Valid 2000-01-01 23:60:00 Valid
+
Valid 2000-01-01 23:59:70 Valid
+
Valid 2000-01-01 00:00:00Y Valid
+
Valid 2000-01-01 00:00:00 NotADate Valid
+
Valid NotADate 2000-01-01 00:00:00 Valid
+
+ +
+
Calendar dates
+
Invalid 1583-01-01 Invalid
+
Invalid 9999-12-31 Invalid
+
Invalid 2000-02-29 Invalid
+
Invalid 2000-12-31 Invalid
+
+ +
+
24-hour time formats
+
Invalid 2000-01-01 00:00:00 Invalid
+
Invalid 2000-01-01 09:00:00 Invalid
+
Invalid 2000-01-01 23:59:59 Invalid
+
Invalid 2000-01-01 00:00 Invalid
+
Invalid 2000-01-01 09:00 Invalid
+
Invalid 2000-01-01 23:59 Invalid
+
+ +
+
12-hour time formats
+
Invalid 2000-01-01 12:00:00am Invalid
+
Invalid 2000-01-01 12:00:00Am Invalid
+
Invalid 2000-01-01 12:00:00aM Invalid
+
Invalid 2000-01-01 12:00:00AM Invalid
+
Invalid 2000-01-01 12:00:00pm Invalid
+
Invalid 2000-01-01 12:00:00Pm Invalid
+
Invalid 2000-01-01 12:00:00pM Invalid
+
Invalid 2000-01-01 12:00:00PM Invalid
+
Invalid 2000-01-01 12:00:00a.m. Invalid
+
Invalid 2000-01-01 12:00:00A.m. Invalid
+
Invalid 2000-01-01 12:00:00a.M. Invalid
+
Invalid 2000-01-01 12:00:00A.M. Invalid
+
Invalid 2000-01-01 12:00:00p.m. Invalid
+
Invalid 2000-01-01 12:00:00P.m. Invalid
+
Invalid 2000-01-01 12:00:00p.M. Invalid
+
Invalid 2000-01-01 12:00:00P.M. Invalid
+
Invalid 2000-01-01 12:00am Invalid
+
Invalid 2000-01-01 12:00Am Invalid
+
Invalid 2000-01-01 12:00aM Invalid
+
Invalid 2000-01-01 12:00AM Invalid
+
Invalid 2000-01-01 12:00pm Invalid
+
Invalid 2000-01-01 12:00Pm Invalid
+
Invalid 2000-01-01 12:00pM Invalid
+
Invalid 2000-01-01 12:00PM Invalid
+
Invalid 2000-01-01 12:00a.m. Invalid
+
Invalid 2000-01-01 12:00A.m. Invalid
+
Invalid 2000-01-01 12:00a.M. Invalid
+
Invalid 2000-01-01 12:00A.M. Invalid
+
Invalid 2000-01-01 12:00p.m. Invalid
+
Invalid 2000-01-01 12:00P.m. Invalid
+
Invalid 2000-01-01 12:00p.M. Invalid
+
Invalid 2000-01-01 12:00P.M. Invalid
+
Invalid 2000-01-01 12am Invalid
+
Invalid 2000-01-01 12Am Invalid
+
Invalid 2000-01-01 12aM Invalid
+
Invalid 2000-01-01 12AM Invalid
+
Invalid 2000-01-01 12pm Invalid
+
Invalid 2000-01-01 12Pm Invalid
+
Invalid 2000-01-01 12pM Invalid
+
Invalid 2000-01-01 12PM Invalid
+
Invalid 2000-01-01 12a.m. Invalid
+
Invalid 2000-01-01 12A.m. Invalid
+
Invalid 2000-01-01 12a.M. Invalid
+
Invalid 2000-01-01 12A.M. Invalid
+
Invalid 2000-01-01 12p.m. Invalid
+
Invalid 2000-01-01 12P.m. Invalid
+
Invalid 2000-01-01 12p.M. Invalid
+
Invalid 2000-01-01 12P.M. Invalid
+
Invalid 2000-01-01 01:00:00am Invalid
+
Invalid 2000-01-01 09:00:00am Invalid
+
Invalid 2000-01-01 11:59:59am Invalid
+
Invalid 2000-01-01 01:00:00pm Invalid
+
Invalid 2000-01-01 09:00:00pm Invalid
+
Invalid 2000-01-01 11:59:59pm Invalid
+
Invalid 2000-01-01 01:00am Invalid
+
Invalid 2000-01-01 09:00am Invalid
+
Invalid 2000-01-01 11:59am Invalid
+
Invalid 2000-01-01 01:00pm Invalid
+
Invalid 2000-01-01 09:00pm Invalid
+
Invalid 2000-01-01 11:59pm Invalid
+
Invalid 2000-01-01 01am Invalid
+
Invalid 2000-01-01 09am Invalid
+
Invalid 2000-01-01 11am Invalid
+
Invalid 2000-01-01 01pm Invalid
+
Invalid 2000-01-01 09pm Invalid
+
Invalid 2000-01-01 11pm Invalid
+
+ + +
+
Time zone offsets
+
Invalid 2000-01-01 00:00:00 -1200 Invalid
+
Invalid 2000-01-01 00:00:00 -0330 Invalid
+
Invalid 2000-01-01 00:00:00 +0430 Invalid
+
Invalid 2000-01-01 00:00:00 +0545 Invalid
+
Invalid 2000-01-01 00:00:00 +1245 Invalid
+
Invalid 2000-01-01 00:00:00 +1400 Invalid
+
Invalid 2000-01-01 00:00:00 -12:00 Invalid
+
Invalid 2000-01-01 00:00:00 -03:30 Invalid
+
Invalid 2000-01-01 00:00:00 +04:30 Invalid
+
Invalid 2000-01-01 00:00:00 +05:45 Invalid
+
Invalid 2000-01-01 00:00:00 +12:45 Invalid
+
Invalid 2000-01-01 00:00:00 +14:00 Invalid
+
Invalid 2000-01-01 00:00:00 -12 Invalid
+
Invalid 2000-01-01 00:00:00 -03 Invalid
+
Invalid 2000-01-01 00:00:00 +04 Invalid
+
Invalid 2000-01-01 00:00:00 +05 Invalid
+
Invalid 2000-01-01 00:00:00 +12 Invalid
+
Invalid 2000-01-01 00:00:00 +14 Invalid
+
+ +
+
Combined representations
+
Invalid 2000-01-01 00:00:00 Invalid
+
Invalid 2000-01-01T00:00:00 Invalid
+
Invalid 2000-01-01 00:00:00+0100 Invalid
+
Invalid 2000-01-01 00:00:00+0100 Invalid
+
Invalid 2000-01-01T00:00:00+0100 Invalid
+
diff --git a/tests/microformats-v2-unit/value-date/value-date-formats.json b/tests/microformats-v2-unit/value-date/value-date-formats.json new file mode 100644 index 0000000..b90e7c5 --- /dev/null +++ b/tests/microformats-v2-unit/value-date/value-date-formats.json @@ -0,0 +1,211 @@ +{ + "items": [ + { + "properties": { + "name": [ + "Control tests to ensure invalid values are rejected" + ], + "not-a-date": [ + "Valid NotADate Valid", + "Valid 2000-00-00 Valid", + "Valid 2000-13-01 Valid", + "Valid 2000-12-32 Valid", + "Valid 2000-01-01 25:00:00 Valid", + "Valid 2000-01-01 23:60:00 Valid", + "Valid 2000-01-01 23:59:70 Valid", + "Valid 2000-01-01 00:00:00Y Valid", + "Valid 2000-01-01 00:00:00 NotADate Valid", + "Valid NotADate 2000-01-01 00:00:00 Valid" + ] + }, + "type": [ + "h-test-control" + ] + }, + { + "properties": { + "calendar": [ + "1583-01-01", + "9999-12-31", + "2000-02-29", + "2000-12-31" + ], + "name": [ + "Calendar dates" + ] + }, + "type": [ + "h-test-date-cal" + ] + }, + { + "properties": { + "full-min": [ + "2000-01-01 00:00", + "2000-01-01 09:00", + "2000-01-01 23:59" + ], + "full-sec": [ + "2000-01-01 00:00:00", + "2000-01-01 09:00:00", + "2000-01-01 23:59:59" + ], + "name": [ + "24-hour time formats" + ] + }, + "type": [ + "h-test-time-twentyfour" + ] + }, + { + "properties": { + "case-hour": [ + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00" + ], + "case-min": [ + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 00:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00", + "2000-01-01 12:00" + ], + "case-sec": [ + "2000-01-01 00:00:00", + "2000-01-01 00:00:00", + "2000-01-01 00:00:00", + "2000-01-01 00:00:00", + "2000-01-01 12:00:00", + "2000-01-01 12:00:00", + "2000-01-01 12:00:00", + "2000-01-01 12:00:00", + "2000-01-01 00:00:00", + "2000-01-01 00:00:00", + "2000-01-01 00:00:00", + "2000-01-01 00:00:00", + "2000-01-01 12:00:00", + "2000-01-01 12:00:00", + "2000-01-01 12:00:00", + "2000-01-01 12:00:00" + ], + "full-hour": [ + "2000-01-01 01:00", + "2000-01-01 09:00", + "2000-01-01 11:00", + "2000-01-01 13:00", + "2000-01-01 21:00", + "2000-01-01 23:00" + ], + "full-min": [ + "2000-01-01 01:00", + "2000-01-01 09:00", + "2000-01-01 11:59", + "2000-01-01 13:00", + "2000-01-01 21:00", + "2000-01-01 23:59" + ], + "full-sec": [ + "2000-01-01 01:00:00", + "2000-01-01 09:00:00", + "2000-01-01 11:59:59", + "2000-01-01 13:00:00", + "2000-01-01 21:00:00", + "2000-01-01 23:59:59" + ], + "name": [ + "12-hour time formats" + ] + }, + "type": [ + "h-test-time-twelve" + ] + }, + { + "properties": { + "full-bare": [ + "2000-01-01 00:00:00-1200", + "2000-01-01 00:00:00-0330", + "2000-01-01 00:00:00+0430", + "2000-01-01 00:00:00+0545", + "2000-01-01 00:00:00+1245", + "2000-01-01 00:00:00+1400" + ], + "full-colon": [ + "2000-01-01 00:00:00-1200", + "2000-01-01 00:00:00-0330", + "2000-01-01 00:00:00+0430", + "2000-01-01 00:00:00+0545", + "2000-01-01 00:00:00+1245", + "2000-01-01 00:00:00+1400" + ], + "full-hour": [ + "2000-01-01 00:00:00-1200", + "2000-01-01 00:00:00-0300", + "2000-01-01 00:00:00+0400", + "2000-01-01 00:00:00+0500", + "2000-01-01 00:00:00+1200", + "2000-01-01 00:00:00+1400" + ], + "name": [ + "Time zone offsets" + ] + }, + "type": [ + "h-test-zone" + ] + }, + { + "properties": { + "date-time-space": [ + "2000-01-01 00:00:00" + ], + "date-time-t": [ + "2000-01-01 00:00:00" + ], + "full-space": [ + "2000-01-01 00:00:00+0100" + ], + "full-t": [ + "2000-01-01 00:00:00+0100" + ], + "name": [ + "Combined representations" + ], + "time-zone": [ + "2000-01-01 00:00:00+0100" + ] + }, + "type": [ + "h-combined" + ] + } + ], + "rel-urls": {}, + "rels": {} +} \ No newline at end of file diff --git a/tests/microformats-v2-unit/value-title/value-title-dt.html b/tests/microformats-v2-unit/value-title/value-title-dt.html new file mode 100644 index 0000000..0580154 --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-dt.html @@ -0,0 +1,157 @@ + + +
+
NotPartOfTest
+
Invalid 2099-01-01 Invalid
+
Invalid 2099-01-01 Invalid 23:59:59
+
Invalid 2099-01-01 Invalid
+
Invalid 2099-01-01 Invalid Invalid 23:59:59 Invalid Invalid Invalid
+
Invalid
2099-01-01
Invalid
+
Invalid
2099-01-01
Invalid
+
+ Invalid + 2099-01-01 +
23:59:59
+ Invalid +
+ +
+ Invalid + 2099-01-01 +
23:59:59
+ Invalid +
+
+ +
+
NotPartOfTest
+
Valid 2099-01-01 Valid
+
Invalid 2099-01-01 00:00:00+0000 Invalid
+
Invalid 2099-01-0123:59:59+1130 Invalid
+
Invalid 2099-01-01 00:00:00+1130 Invalid
+
Invalid 2099-01-0123:59:59+1130 Invalid
+
Invalid +113023:59:592099-01-01 Invalid
+
+ Invalid + 2099-01-01 + 1999-12-31 + Invalid +
+
+ Invalid + 02:00:00 + 2199-12-31 23:59:59 + 2099-01-01 + Invalid +
+
+ Invalid + 2099-01-01 + 02:00:00 + 02:00:00+1130 + Invalid +
+
+ Invalid + 2099-01-01 + +1130 + 23:59:59+0000 + 23:58:57 + Invalid +
+
+ Invalid + 2099-01-01 + +1130 + 23:59:59+0000 + Invalid +
+
+ +
+
NotPartOfTest
+
Valid 23:59:59+1130 Valid
+
+ +
+
NotPartOfTest
+
Invalid 2099-01-01 23:59:59+0000 Invalid
+
Invalid 23:59:59+1130 Invalid
+
+ +
+
NotPartOfTest
+
Invalid 23:59:59+1130 Invalid
+
Invalid 2099-01-01 23:59:59+0000 Invalid
+
+ +
+
NotPartOfTest
+
Invalid 2099-01-01 Invalid
+
Valid
+
Valid
+
+ +
+
NotPartOfTest
+
Invalid 2099-01-01 Invalid
+
Va2099-01-01lid
+
Valid
+
+ +
+
NotPartOfTest
+
Invalid 2099-01-01 Invalid
+
Valid 2099-01-01 Valid
+
Valid 2099-01-01 Valid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Valid 2099-01-01 Valid
+
Valid 2099-01-01 Valid
+
+ +
+
NotPartOfTest
+
Invalid Invalid
+
Valid Valid
+
Valid Valid
+
+ +
+
NotPartOfTest
+
Invalid 2099-01-01 Invalid
+
Valid 2099-01-01 Valid
+
Valid 2099-01-01 Valid
+
+ +
+
NotPartOfTest
+
Invalid 2099-01-01 Invalid
+
Valid 2099-01-01 Valid
+
Valid 2099-01-01 Valid
+
+ + +
+
NotPartOfTest
+ + Invalid 2199-01-01 Invalid + Invalid 2199-01-01 Invalid + Invalid 2199-01-01 Invalid + Invalid 2199-01-01 Invalid +
diff --git a/tests/microformats-v2-unit/value-title/value-title-dt.json b/tests/microformats-v2-unit/value-title/value-title-dt.json new file mode 100644 index 0000000..3e00a5e --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-dt.json @@ -0,0 +1,312 @@ +{ + "items": [ + { + "type": [ + "h-test-value" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "single": [ + "2000-01-01" + ], + "double": [ + "2000-01-01 00:00:00" + ], + "other-classes": [ + "2000-01-01" + ], + "deep": [ + "2000-01-01 00:00:00" + ], + "is-property": [ + "2000-01-01" + ], + "not-part-of-test": [ + "2099-01-01", + "22:45:45" + ], + "is-microformat": [ + "2000-01-01" + ], + "inside-property": [ + "2000-01-01" + ], + "inside-microformat": [ + "2000-01-01" + ] + }, + "children": [ + { + "type": [ + "h-test-child" + ], + "properties": { + "name": [ + "2099-01-01" + ] + } + }, + { + "type": [ + "h-test-child" + ], + "properties": { + "name": [ + "23:59:59" + ] + } + } + ] + }, + { + "type": [ + "h-test-acceptable" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "not-a-date": [ + "Valid 2099-01-01 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" + ], + "2-first-wins": [ + "2000-01-01 00:00:00" + ], + "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" + ] + } + }, + { + "type": [ + "h-test-implied-date-missing" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "time-only": [ + "Valid 23:59:59+1130 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" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "2000-01-01" + ], + "empty": [ + "Valid" + ], + "missing": [ + "Valid" + ] + } + }, + { + "type": [ + "h-test-area" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "2000-01-01" + ], + "empty": [ + "Valid" + ], + "missing": [ + "Valid" + ] + } + }, + { + "type": [ + "h-test-data" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "2000-01-01" + ], + "empty": [ + "Valid 2099-01-01 Valid" + ], + "missing": [ + "Valid 2099-01-01 Valid" + ] + } + }, + { + "type": [ + "h-test-abbr" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "2000-01-01" + ], + "empty": [ + "Valid 2099-01-01 Valid" + ], + "missing": [ + "Valid 2099-01-01 Valid" + ] + } + }, + { + "type": [ + "h-test-time" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "2000-01-01" + ], + "empty": [ + "Valid 2099-01-01 Valid" + ], + "missing": [ + "Valid 2099-01-01 Valid" + ] + } + }, + { + "type": [ + "h-test-ins" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "2000-01-01" + ], + "empty": [ + "Valid 2099-01-01 Valid" + ], + "missing": [ + "Valid 2099-01-01 Valid" + ] + } + }, + { + "type": [ + "h-test-del" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "2000-01-01" + ], + "empty": [ + "Valid 2099-01-01 Valid" + ], + "missing": [ + "Valid 2099-01-01 Valid" + ] + } + }, + { + "type": [ + "h-test-override" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "time": [ + "2000-01-01" + ], + "ins": [ + "2000-01-01" + ], + "del": [ + "2000-01-01" + ], + "abbr": [ + "2000-01-01" + ], + "data": [ + "2000-01-01" + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/value-title/value-title-e.html b/tests/microformats-v2-unit/value-title/value-title-e.html new file mode 100644 index 0000000..b5449ae --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-e.html @@ -0,0 +1,15 @@ + + +
+
NotPartOfTest
+
Valid
+
diff --git a/tests/microformats-v2-unit/value-title/value-title-e.json b/tests/microformats-v2-unit/value-title/value-title-e.json new file mode 100644 index 0000000..eb7d447 --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-e.json @@ -0,0 +1,22 @@ +{ + "items": [ + { + "type": [ + "h-test-no-vcp" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "no-vcp": [ + { + "html": "Valid", + "value": "Valid" + } + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/value-title/value-title-mixed.html b/tests/microformats-v2-unit/value-title/value-title-mixed.html new file mode 100644 index 0000000..3a829cb --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-mixed.html @@ -0,0 +1,52 @@ + + +
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Valid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid
+
Valid 2099-01-01 Valid
+
Valid 2099-01-01 Valid
+
\ No newline at end of file diff --git a/tests/microformats-v2-unit/value-title/value-title-mixed.json b/tests/microformats-v2-unit/value-title/value-title-mixed.json new file mode 100644 index 0000000..c160846 --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-mixed.json @@ -0,0 +1,130 @@ +{ + "items": [ + { + "type": [ + "h-test-mixed-p" + ], + "properties": { + "control": [ + "Valid" + ], + "single-title-first": [ + "Valid" + ], + "single-value-first": [ + "Valid" + ], + "double-title-first": [ + "Valid" + ], + "double-value-first": [ + "Valid" + ], + "double-mixed-title-first": [ + "Valid" + ], + "double-mixed-value-first": [ + "Valid" + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-mixed-u" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "control": [ + "http://example.test/Valid" + ], + "single-title-first": [ + "http://example.test/Valid" + ], + "single-value-first": [ + "http://example.test/Valid" + ], + "double-title-first": [ + "http://example.test/Valid" + ], + "double-value-first": [ + "http://example.test/Valid" + ], + "double-mixed-title-first": [ + "http://example.test/Valid" + ], + "double-mixed-value-first": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-mixed-e" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "no-vcp": [ + { + "html": "Valid", + "value": "Valid" + } + ] + } + }, + { + "type": [ + "h-test-mixed-dt" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "control": [ + "2000-01-01" + ], + "single-title-first": [ + "2000-01-01" + ], + "single-value-first": [ + "2000-01-01" + ], + "double-title-first": [ + "2000-01-01 00:00:00" + ], + "double-value-first": [ + "2000-01-01 00:00:00" + ], + "double-mixed-title-first": [ + "2000-01-01 00:00:00" + ], + "double-mixed-value-first": [ + "2000-01-01 00:00:00" + ], + "empty": [ + "Valid 2099-01-01 Valid" + ], + "missing": [ + "Valid 2099-01-01 Valid" + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/value-title/value-title-p.html b/tests/microformats-v2-unit/value-title/value-title-p.html new file mode 100644 index 0000000..84d55fa --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-p.html @@ -0,0 +1,86 @@ + + +
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid Invalid Invalid Invalid
+
Invalid
Property
Invalid
+
Invalid
NotPartOfTest
Invalid
+
+ Invalid + Invalid +
Invalid
+ Invalid +
+ +
+ Invalid + Invalid +
NotPartOfTest
+ Invalid +
+
+ +
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid
+
Invalid Invalid
+
Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ + +
+ Invalid Invalid Invalid + Invalid Invalid Invalid +
diff --git a/tests/microformats-v2-unit/value-title/value-title-p.json b/tests/microformats-v2-unit/value-title/value-title-p.json new file mode 100644 index 0000000..37ac6cd --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-p.json @@ -0,0 +1,218 @@ +{ + "items": [ + { + "type": [ + "h-test-value" + ], + "properties": { + "single": [ + "Valid" + ], + "double": [ + "Valid" + ], + "quintuple": [ + "Valid" + ], + "nested": [ + "Valid" + ], + "other-classes": [ + "Valid" + ], + "self": [ + "Valid" + ], + "deep": [ + "Valid" + ], + "is-property": [ + "Valid" + ], + "not-part-of-test": [ + "Property", + "NotPartOfTest" + ], + "is-microformat": [ + "Valid" + ], + "inside-property": [ + "Valid" + ], + "inside-microformat": [ + "Valid" + ] + }, + "children": [ + { + "type": [ + "h-test-child" + ], + "properties": { + "name": [ + "NotPartOfTest" + ] + } + }, + { + "type": [ + "h-test-child" + ], + "properties": { + "name": [ + "NotPartOfTest" + ] + } + } + ] + }, + { + "type": [ + "h-test-img" + ], + "properties": { + "filled": [ + "Valid" + ], + "filled-space": [ + " No Trim " + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-area" + ], + "properties": { + "filled": [ + "Valid" + ], + "filled-space": [ + " No Trim " + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-data" + ], + "properties": { + "filled": [ + "Valid" + ], + "filled-space": [ + " No Trim " + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-abbr" + ], + "properties": { + "filled": [ + "Valid" + ], + "filled-space": [ + " No Trim " + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-time" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "Valid" + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-ins" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "Valid" + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-del" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "Valid" + ], + "empty": [ + "" + ], + "missing": [ + "" + ] + } + }, + { + "type": [ + "h-test-override" + ], + "properties": { + "abbr": [ + "Valid" + ], + "data": [ + "Valid" + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/value-title/value-title-u.html b/tests/microformats-v2-unit/value-title/value-title-u.html new file mode 100644 index 0000000..2740676 --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-u.html @@ -0,0 +1,98 @@ + + +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid Invalid Invalid Invalid Invalid Invalid
+
Invalid
Property
Invalid
+
Invalid
NotPartOfTest
Invalid
+
+ Invalid + Invalid +
Invalid
+ Invalid +
+ +
+ Invalid + Invalid +
NotPartOfTest
+ Invalid +
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid
+
Invalid Invalid
+
Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ +
+
NotPartOfTest
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
Invalid Invalid Invalid
+
+ + +
+
NotPartOfTest
+ + + + + Invalid + Invalid Invalid Invalid + Invalid Invalid Invalid +
diff --git a/tests/microformats-v2-unit/value-title/value-title-u.json b/tests/microformats-v2-unit/value-title/value-title-u.json new file mode 100644 index 0000000..93f2c18 --- /dev/null +++ b/tests/microformats-v2-unit/value-title/value-title-u.json @@ -0,0 +1,239 @@ +{ + "items": [ + { + "type": [ + "h-test-value" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "single": [ + "http://example.test/Valid" + ], + "double": [ + "http://example.test/Valid" + ], + "quintuple": [ + "http://example.test/Valid" + ], + "nested": [ + "http://example.test/Valid" + ], + "other-classes": [ + "http://example.test/Valid" + ], + "self": [ + "http://example.test/Valid" + ], + "deep": [ + "http://example.test/Valid" + ], + "is-property": [ + "http://example.test/Valid" + ], + "not-part-of-test": [ + "http://example.test/Property", + "NotPartOfTest" + ], + "is-microformat": [ + "http://example.test/Valid" + ], + "inside-property": [ + "http://example.test/Valid" + ], + "inside-microformat": [ + "http://example.test/Valid" + ] + }, + "children": [ + { + "type": [ + "h-test-child" + ], + "properties": { + "name": [ + "NotPartOfTest" + ] + } + }, + { + "type": [ + "h-test-child" + ], + "properties": { + "name": [ + "NotPartOfTest" + ] + } + } + ] + }, + { + "type": [ + "h-test-img" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-area" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-data" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-abbr" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-time" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-ins" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-del" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "filled": [ + "http://example.test/Valid" + ], + "empty": [ + "http://example.test" + ], + "missing": [ + "http://example.test" + ] + } + }, + { + "type": [ + "h-test-override" + ], + "properties": { + "name": [ + "NotPartOfTest" + ], + "audio": [ + "http://example.test/Valid" + ], + "iframe": [ + "http://example.test/Valid" + ], + "video-src": [ + "http://example.test/Valid" + ], + "video-poster": [ + "http://example.test/Valid" + ], + "object": [ + "http://example.test/Valid" + ], + "abbr": [ + "http://example.test/Valid" + ], + "data": [ + "http://example.test/Valid" + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} diff --git a/tests/microformats-v2-unit/value/tentative-value-innertext.html b/tests/microformats-v2-unit/value/tentative-value-innertext.html new file mode 100644 index 0000000..7e6253c --- /dev/null +++ b/tests/microformats-v2-unit/value/tentative-value-innertext.html @@ -0,0 +1,17 @@ + + +
+
Invalid No Trim Invalid
+
Invalid No Trim Invalid
+
\ No newline at end of file diff --git a/tests/microformats-v2-unit/value/tentative-value-innertext.json b/tests/microformats-v2-unit/value/tentative-value-innertext.json new file mode 100644 index 0000000..5002e03 --- /dev/null +++ b/tests/microformats-v2-unit/value/tentative-value-innertext.json @@ -0,0 +1,19 @@ +{ + "items": [ + { + "type": [ + "h-test-p" + ], + "properties": { + "single": [ + " No Trim " + ], + "double": [ + " No Trim " + ] + } + } + ], + "rels": {}, + "rel-urls": {} +} \ No newline at end of file