summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/CSS2/generated-content
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/css/CSS2/generated-content
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/CSS2/generated-content')
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001-ref.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001.xht33
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002-ref.xht22
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003-ref.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-005.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-006.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-007.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-008.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-009.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-010.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-011.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012-ref.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-013.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-014.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-015.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-016.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-017.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-content-display-018.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001-ref.html14
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-location-001-ref.html7
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/after-location-001.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-001.xht25
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-002.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-011-ref.xht54
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-011.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001-ref.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001.xht48
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001-ref.xht5
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001-ref.xht6
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001-ref.xht14
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001.xht43
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001-ref.xht10
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001.xht17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001-ref.xht12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001.xht47
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002-ref.html15
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002.html33
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-003.html33
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004.html34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001-ref.xht46
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001.xht73
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001-ref.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001.xht48
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-001.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-002.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003-ref.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-005.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-006.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-007.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-008.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-009.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-010.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-011.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-012.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-013.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-014.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-015.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-016.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-017.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-content-display-018.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-001.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-002.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-location-001-ref.html7
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/before-location-001.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001-ref.html8
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001.xht22
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002-ref.html8
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002.xht23
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-001-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-001.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-002.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-003-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-003.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-004.xht22
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-005-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-005.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-006-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-006.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-007-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-007.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-008.xht25
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-009.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-010-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-010.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-011-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-011.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-012-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-012.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-013-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-013.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-014-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-014.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-015-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-015.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-016-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-016.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-017-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-017.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-018.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-019.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-020.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-021-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-021.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-022-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-022.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-023-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-023.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-024.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-025.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-026-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-026.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-027-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-027.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-028-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-028.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-029-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-029.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-030-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-030.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-031-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-031.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-032-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-032.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-033-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-033.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-034.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-035.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-036.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-037-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-037.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-038.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-039.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-040-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-040.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-041-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-041.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-042-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-042.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-043-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-043.xht21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-046.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-047-ref.html18
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-047.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-048-ref.html15
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-048.xht21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-049.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-050-ref.html20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-050.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-051.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-052-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-052.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-053-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-053.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-054.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-056.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-057.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-063-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-063.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-065.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-066.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-067.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-068-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-068.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-070-ref.html14
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-070.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-072-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-072.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-073-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-073.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-075-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-075.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-076.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-077.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-078.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-080-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-080.xht33
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-081-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-081.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-082-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-082.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-083-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-083.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-085.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-086.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-089-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-089.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-090-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-090.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-091-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-091.xht21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-096-ref.html18
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-096.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-097-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-097.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-099.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-100-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-100.xht31
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-103-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-103.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-105.xht36
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-107.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-108.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-109.xht36
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-110.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-111.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-112.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-113-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-113.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-114.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-115.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-116.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-117.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-118.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-119.xht36
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-121.xht36
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-122.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-123.xht25
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-126-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-126.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-127.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-129.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-130.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-131.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-132-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-132.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-135-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-135.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-136-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-136.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-138.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-140.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-141-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-141.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-142.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-143-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-143.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-144-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-144.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-145.xht24
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-146.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-147-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-147.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-149-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-149.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-150-ref.html16
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-150.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-151.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-152.xht21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-153.xht21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-155-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-155.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-156-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-156.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-157.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-158-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-158.xht36
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-159-ref.html12
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-159.xht41
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-160.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-171-ref.xht31
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-171.xht19
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-172-ref.xht81
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-172.xht70
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-173-ref.xht75
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-173.xht73
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-174-ref.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-174.xht23
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-175-ref.xht33
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-175.xht22
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-177-ref.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-177.xht21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-178.xht19
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-applies-to-001.xht19
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-attr-001.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-attr-002.xht21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-001.html21
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-002.xht23
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001-ref.html7
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-000-ref.xht43
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-000.xht56
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-001.xht39
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-002-ref.xht48
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-002.xht57
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-003-ref.xht48
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-003.xht57
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-004-ref.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-004.xht37
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-005.xht56
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-006-ref.xht49
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-006.xht63
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-007-ref.xht57
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-007.xht71
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-008-ref.xht57
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-008.xht71
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-009-ref.xht99
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-009.xht113
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-010-ref.xht97
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-010.xht111
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-011-ref.xht43
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-011.xht56
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-012.xht56
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-013-ref.xht43
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-013.xht56
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-014.xht56
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-015-ref.xht43
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-015.xht56
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counter-016.xht63
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-000.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-001.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-002.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-003.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-004.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-005.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-006.xht62
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-007.xht70
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-008.xht70
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-009.xht112
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-010.xht110
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-011.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-012.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-013.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-014.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-015.xht55
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-016.xht32
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-017.xht33
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-counters-018.xht63
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-inherit-001.xht19
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002-ref.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002.xht24
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-newline-001-ref.html13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-newline-001.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-uri-001.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001.xht34
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002-ref.html23
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002.xht36
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003-ref.html16
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003.xht36
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004-ref.html17
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counter-increment-000.xht42
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counter-increment-001.xht39
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counter-increment-002.xht41
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counter-reset-000.xht41
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counter-reset-001.xht39
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counter-reset-002.xht39
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000-ref.html8
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-001.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002-ref.html8
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000-ref.html8
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-multi-001.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-order-000-ref.html8
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-order-000.xht68
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-order-001.xht47
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-root-000-ref.html8
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-root-000.xht35
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-000.xht39
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-001.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-002.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-003.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-004.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-000.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-001.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-002.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/multiple-content-values-001.xht20
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/other-attribute-001.xht23
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-001.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-002.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-003.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-004.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-005.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-006.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-007.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-008.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-009.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-010.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-011.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-012.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-013.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-014.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-015.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-016.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-017.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-018.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-019.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-020.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-021.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-022.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-023.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-024.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-025.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-026.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-027.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-028.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-029.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-030.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-031.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-032.xht29
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-033.xht30
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-034.xht38
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-035-ref.xht13
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-035.xht84
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-035a.xht85
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-036.xht88
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-001.xht44
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-002.xht44
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-003.xht44
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-004.xht38
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-005.xht42
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-006.xht42
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-007.xht38
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-008.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-009.xht28
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-010.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-012.xht26
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-013.xht38
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-014.xht38
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-015.xht43
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-negative-001.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-page-001.xht45
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/quotes-repeat-001.xht27
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/1x1-green.pngbin0 -> 135 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/1x1-lime.pngbin0 -> 135 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/1x1-maroon.pngbin0 -> 109 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/1x1-navy.pngbin0 -> 109 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/1x1-red.pngbin0 -> 135 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/1x1-white.pngbin0 -> 109 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/60x60-gg-rr.pngbin0 -> 224 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/60x60-green.pngbin0 -> 218 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/a-green.css1
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/b-green.css1
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/blue15x15.pngbin0 -> 185 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/c-red.css1
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/cat.pngbin0 -> 1883 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/content-attr-002.css0
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/diamond.pngbin0 -> 188 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/green15x15.pngbin0 -> 170 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rgr-grg.pngbin0 -> 222 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rrg-rgg.pngbin0 -> 231 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/pattern-rgr-grg-rgr.pngbin0 -> 223 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/pattern-tr.pngbin0 -> 137 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/ring.pngbin0 -> 715 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/square-outline-32x32.pngbin0 -> 96 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/square-purple.pngbin0 -> 92 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/square-teal.pngbin0 -> 92 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/square-white.pngbin0 -> 78 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/swatch-blue.pngbin0 -> 84 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/swatch-green.pngbin0 -> 84 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/swatch-lime.pngbin0 -> 84 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/swatch-orange.pngbin0 -> 84 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/swatch-red.pngbin0 -> 84 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/swatch-white.pngbin0 -> 85 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/swatch-yellow.pngbin0 -> 84 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/test-bl.pngbin0 -> 1368 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/test-br.pngbin0 -> 1045 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/test-outer.pngbin0 -> 2412 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/test-tl.pngbin0 -> 1025 bytes
-rw-r--r--testing/web-platform/tests/css/CSS2/generated-content/support/test-tr.pngbin0 -> 1235 bytes
472 files changed, 13324 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001-ref.xht
new file mode 100644
index 0000000000..c30736f47a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001.xht
new file mode 100644
index 0000000000..ea45942cfe
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-001.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display inline</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: " Filler text";
+ display: inline;
+ }
+
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002-ref.xht
new file mode 100644
index 0000000000..1110982292
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002-ref.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002.xht
new file mode 100644
index 0000000000..abbcff23be
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display block</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: block;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003-ref.xht
new file mode 100644
index 0000000000..d214ec0cf3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ ul
+ {
+ margin: 0;
+ padding: 0;
+ }
+
+ li {margin-left: 1em;}
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>. The 2nd line should be preceded with a bullet list-marker (a "disc" as a small filled-in circle).</p>
+
+ <div>Filler text</div>
+
+ <ul>
+ <li>Filler text</li>
+ </ul>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003.xht
new file mode 100644
index 0000000000..e1c300ea9b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display list-item</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="help" href="http://www.w3.org/TR/html4/struct/lists.html#h-10.3.1" />
+ <link rel="match" href="after-content-display-003-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: list-item;
+ margin-left: 1em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>. The 2nd line should be preceded with a bullet list-marker (a "disc" as a small filled-in circle).</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-005.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-005.xht
new file mode 100644
index 0000000000..2498d83e41
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display inline-block</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: inline-block;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text </div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-006.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-006.xht
new file mode 100644
index 0000000000..58f55f3fae
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: table;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-007.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-007.xht
new file mode 100644
index 0000000000..e183cb4753
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-007.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display inline-table</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: inline-table;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text </div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-008.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-008.xht
new file mode 100644
index 0000000000..3423c58137
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-row-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: table-row-group;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-009.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-009.xht
new file mode 100644
index 0000000000..f238a5af17
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-009.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-header-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: table-header-group;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-010.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-010.xht
new file mode 100644
index 0000000000..1af5125175
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-footer-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: table-footer-group;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-011.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-011.xht
new file mode 100644
index 0000000000..8f15dce1b7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-row</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: table-row;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012-ref.xht
new file mode 100644
index 0000000000..1249ef1244
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is <strong>one "Filler text"</strong> and no red.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012.xht
new file mode 100644
index 0000000000..d1f700dbe7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-012.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-column-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display" />
+ <link rel="match" href="after-content-display-012-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element. Elements with 'display' set to 'table-column' or 'table-column-group' are not rendered (exactly as if they had 'display: none')." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ background-color: red;
+ color: yellow;
+ content: ".\0D FAIL";
+ display: table-column-group;
+ font-size: 2em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is <strong>one "Filler text"</strong> and no red.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-013.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-013.xht
new file mode 100644
index 0000000000..e79035060b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-013.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-column</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display" />
+ <link rel="match" href="after-content-display-012-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element. Elements with 'display' set to 'table-column' or 'table-column-group' are not rendered (exactly as if they had 'display: none')." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ background-color: red;
+ color: yellow;
+ content: ".\0D FAIL";
+ display: table-column;
+ font-size: 2em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is <strong>one "Filler text"</strong> and no red.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-014.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-014.xht
new file mode 100644
index 0000000000..e9fae96186
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-cell</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: table-cell;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-015.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-015.xht
new file mode 100644
index 0000000000..41720a4a70
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-015.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display table-caption</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler\A0text";
+ /* Without a table box, the table-caption may shrink to minimum
+ content width (MCW), thus the no-breaking-space (in utf-8)
+ addition to avoid line-wrapping causing 2 lines. */
+ display: table-caption;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-016.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-016.xht
new file mode 100644
index 0000000000..6f53a052d6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-016.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display none</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-012-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ background-color: red;
+ color: yellow;
+ content: ".\0D FAIL";
+ display: none;
+ font-size: 2em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is <strong>one "Filler text"</strong> and no red.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-017.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-017.xht
new file mode 100644
index 0000000000..250534a481
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-017.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - display inherit</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: "Filler text";
+ display: inherit;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-018.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-018.xht
new file mode 100644
index 0000000000..8e3ac35fc8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-content-display-018.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :after generated content - initial value of display </title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="The initial value of the 'display' for generated content property is 'inline'." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:after
+ {
+ content: " Filler text";
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001-ref.html
new file mode 100644
index 0000000000..77aa2dbd51
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: solid;
+ color: green;
+ text-align: center;
+ }
+</style>
+<body>
+ <p>Test passes if the words "PASS PASS" below are green and the words are centered within the box below.</p>
+ <div>PASS PASS</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001.xht
new file mode 100644
index 0000000000..d9f0684445
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Pseudo-element ':after' inherits inheritable values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="after-inheritable-001-ref.html" />
+ <meta name="assert" content="The pseudo-element ':after' generated content inherits any inheritable properties from the element." />
+ <style type="text/css">
+ div
+ {
+ border: solid;
+ color: green;
+ text-align: center;
+ }
+ div:after
+ {
+ content: 'PASS PASS';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" below are green and the words are centered within the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002-ref.html
new file mode 100644
index 0000000000..541589be21
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 15px solid blue;
+ color: green;
+ }
+ a {
+ border-color: orange;
+ border-style: solid;
+ }
+</style>
+<body>
+ <p>Test passes if the words "PASS PASS" are green, they are contained within an orange box with thinner lines than the blue box.</p>
+ <div><a>PASS PASS</a></div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002.xht
new file mode 100644
index 0000000000..c99290f862
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-inheritable-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Pseudo-element ':after' does not inherit non-inheritable values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="after-inheritable-002-ref.html" />
+ <meta name="assert" content="Non-inherited properties apply their initial value when applying to ':after'." />
+ <style type="text/css">
+ div
+ {
+ border: 15px solid blue;
+ color: green;
+ }
+ div:after
+ {
+ border-color: orange;
+ border-style: solid;
+ content: 'PASS PASS';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" are green, they are contained within an orange box with thinner lines than the blue box.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-location-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/after-location-001-ref.html
new file mode 100644
index 0000000000..5b4f25f23d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-location-001-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>Test passes if the words "PASS PASS" appear below and are to the right of the arrow.</p>
+ <div>--&gt;PASS PASS</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/after-location-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/after-location-001.xht
new file mode 100644
index 0000000000..b1e4974824
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/after-location-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: After applies after text</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="after-location-001-ref.html" />
+ <meta name="assert" content="After places the generated content after the element content." />
+ <style type="text/css">
+ div:after
+ {
+ content: 'PASS PASS';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear below and are to the right of the arrow.</p>
+ <div>--&gt;</div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-001.xht
new file mode 100644
index 0000000000..05351a0430
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-001.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Before, after applies to same selector</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="../reference/no-red-on-blank-page-ref.xht"/>
+ <meta name="flags" content="invalid" />
+ <meta name="assert" content="Multiple pseudo-elements cannot be placed on the same selector." />
+ <style type="text/css">
+ div
+ {
+ color: red;
+ }
+ div:before:after
+ {
+ content: 'FAIL FAIL';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-002.xht
new file mode 100644
index 0000000000..fcd24380d2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Before, after is included in formatting changes</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="Generated content is included in any formatting changes made to an element." />
+ <style type="text/css">
+ div
+ {
+ border: 2px solid black;
+ color: green;
+ }
+ div:before
+ {
+ content: 'PASS ';
+ }
+ div:after
+ {
+ content: 'PASS';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-011-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-011-ref.xht
new file mode 100644
index 0000000000..7b30a84370
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-011-ref.xht
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ div.table
+ {
+ border-spacing: 0;
+ color: green;
+ display: table;
+ }
+
+ div.row {display: table-row;}
+
+ div.cell
+ {
+ background-color: white;
+ border: white solid medium;
+ display: table-cell;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the word <strong>PASS appear twice</strong> and if there is no red.</p>
+
+ <div class="table">
+
+ <div class="row">
+ <div class="cell">P</div>
+ <div class="cell">A</div>
+ <div class="cell">S</div>
+ <div class="cell">S</div>
+ </div>
+
+ <div class="row">
+ <div class="cell">P</div>
+ <div class="cell">A</div>
+ <div class="cell">S</div>
+ <div class="cell">S</div>
+ </div>
+
+ </div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-011.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-011.xht
new file mode 100644
index 0000000000..60fb721b8c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-011.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: CSS table model and generated content: Basics</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/box/table/generated-content/001.xml" type="application/xhtml+xml"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="before-after-011-ref.xht" />
+
+ <style type="text/css">
+ .table { display: table; border-spacing: 0; background: red; color: green; }
+ .row { display: table-row; }
+ .cell, .row.test:before, .row.test:after { display: table-cell; background: white; border: solid white; }
+ .row.test:before { content: "P"; }
+ .row.test:after { content: "S"; }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word <strong>PASS appear twice</strong> and if there is no red.</p>
+ <div class="table">
+ <div class="row">
+ <div class="cell">P</div>
+ <div class="cell">A</div>
+ <div class="cell">S</div>
+ <div class="cell">S</div>
+ </div>
+ <div class="row test">
+ <!--<div class="cell">P</div>-->
+ <div class="cell">A</div>
+ <div class="cell">S</div>
+ <!--<div class="cell">S</div>-->
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001-ref.xht
new file mode 100644
index 0000000000..2aafd0dd10
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001-ref.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+<style type="text/css">
+div { border:1px solid green; margin:5px; }
+</style>
+</head>
+<body>
+<table width="100%"><tbody><tr><td valign="top">
+ <div><span style="display:block">1<img src="support/square-outline-32x32.png" />"Before block</span>Inner<span style="display:block">2<img src="support/square-outline-32x32.png" />After block"</span></div>
+ <div><span style="display:inline">1<img src="support/square-outline-32x32.png" />"Before inline</span>Inner<span style="display:inline">2<img src="support/square-outline-32x32.png" />After inline"</span></div>
+ <div><span style="display:inline-block">1<img src="support/square-outline-32x32.png" />"Before inline-block</span>Inner<span style="display:inline-block">2<img src="support/square-outline-32x32.png" />After inline-block"</span></div>
+ <div><span style="display:table">1<img src="support/square-outline-32x32.png" />"Before table</span>Inner<span style="display:table">2<img src="support/square-outline-32x32.png" />After table"</span></div>
+ <div><span style="display:inline-table">1<img src="support/square-outline-32x32.png" />"Before inline-table</span>Inner<span style="display:inline-table">2<img src="support/square-outline-32x32.png" />After inline-table"</span></div>
+ <div><span style="display:table-row-group">1<img src="support/square-outline-32x32.png" />"Before table-row-group</span>Inner<span style="display:table-row-group">2<img src="support/square-outline-32x32.png" />After table-row-group"</span></div>
+</td><td valign="top">
+ <div><span style="display:table-row">1<img src="support/square-outline-32x32.png" />"Before table-row</span>Inner<span style="display:table-row">2<img src="support/square-outline-32x32.png" />After table-row"</span></div>
+ <div><span style="display:table-cell">1<img src="support/square-outline-32x32.png" />"Before table-cell</span>Inner<span style="display:table-cell">2<img src="support/square-outline-32x32.png" />After table-cell"</span></div>
+ <div><span style="display:table-caption">1<img src="support/square-outline-32x32.png" />"Before table-caption</span>Inner<span style="display:table-caption">2<img src="support/square-outline-32x32.png" />After table-caption"</span></div>
+
+
+</td></tr></tbody></table></body></html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001.xht
new file mode 100644
index 0000000000..2ced98b971
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-display-types-001.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="before-after-display-types-001-ref.xht"/>
+<style type="text/css">
+div { counter-reset:ctr; quotes:"\0022" "\0022" "\0022" "\0022"}
+
+div:before {
+ content:counter(ctr) url(support/square-outline-32x32.png) open-quote "Before " attr(class);
+ counter-increment:ctr;
+}
+div:after {
+ content:counter(ctr) url(support/square-outline-32x32.png) "After " attr(class) close-quote;
+ counter-increment:ctr;
+}
+
+.block:before, .block:after { display:block; }
+.inline:before, .inline:after { display:inline; }
+.inline-block:before, .inline-block:after { display:inline-block; }
+.table:before, .table:after { display:table; }
+.inline-table:before, .inline-table:after { display:inline-table; }
+.table-row-group:before, .table-row-group:after { display:table-row-group; }
+.table-row:before, .table-row:after { display:table-row; }
+.table-cell:before, .table-cell:after { display:table-cell; }
+.table-caption:before, .table-caption:after { display:table-caption; }
+
+div { border:1px solid green; margin:5px; }
+</style>
+</head>
+
+<body>
+<table width="100%"><tbody><tr><td valign="top">
+ <div class="block">Inner</div>
+ <div class="inline">Inner</div>
+ <div class="inline-block">Inner</div>
+ <div class="table">Inner</div>
+ <div class="inline-table">Inner</div>
+ <div class="table-row-group">Inner</div>
+</td><td valign="top">
+ <div class="table-row">Inner</div>
+ <div class="table-cell">Inner</div>
+ <div class="table-caption">Inner</div>
+</td></tr></tbody></table>
+
+
+</body></html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001-ref.xht
new file mode 100644
index 0000000000..8fcd6586b7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001-ref.xht
@@ -0,0 +1,5 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head></head><body style="font-family:sans-serif;">
+before after!
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001.xht
new file mode 100644
index 0000000000..acde603c1d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-attr-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" class="reftest-wait"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="before-after-dynamic-attr-001-ref.xht"/>
+ <meta name="flags" content="dom" />
+<style type="text/css">
+body {
+ font-family:sans-serif;
+}
+body:before {
+ content:attr(my-attr);
+}
+body:after {
+ content:attr(my-attr-2);
+}
+</style>
+<script type="text/javascript">
+function fixupDOM() {
+ document.body.setAttribute("my-attr", "before");
+ document.body.setAttribute("my-attr-2", "after!");
+ document.documentElement.className = "";
+}
+</script>
+</head>
+<body onload="fixupDOM()" my-attr-2="xyz">
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001-ref.xht
new file mode 100644
index 0000000000..f217f34260
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001-ref.xht
@@ -0,0 +1,6 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head></head><body style="border:2px solid green;">
+<span style="border:2px solid green;">Before</span>
+<div>After</div>
+
+
+</body></html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001.xht
new file mode 100644
index 0000000000..bafa418f7c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-dynamic-restyle-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" class="reftest-wait"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="before-after-dynamic-restyle-001-ref.xht"/>
+ <meta name="flags" content="dom" />
+<style type="text/css">
+body:before {
+ content:"Before";
+ border:inherit;
+}
+.cl:after {
+ display:block;
+ content:"After";
+}
+</style>
+<script type="text/javascript">
+function fixupDOM() {
+ document.body.setAttribute("style", "border:2px solid green;");
+ document.body.className = "cl";
+ document.documentElement.className = "";
+}
+</script>
+</head>
+<body onload="fixupDOM()">
+
+
+</body></html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001-ref.xht
new file mode 100644
index 0000000000..514887512a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001-ref.xht
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+<style type="text/css">
+div { border:1px solid green; margin:5px; }
+div { overflow:auto; }
+</style>
+</head>
+<body>
+<div><span style="float:left">1<img src="support/square-outline-32x32.png" />"Before beforeleft afterleft</span>Inner<span style="float:left">2<img src="support/square-outline-32x32.png" />After beforeleft afterleft"</span></div>
+<div><span style="float:left">1<img src="support/square-outline-32x32.png" />"Before beforeleft afterright</span>Inner<span style="float:right">2<img src="support/square-outline-32x32.png" />After beforeleft afterright"</span></div>
+<div><span style="float:right">1<img src="support/square-outline-32x32.png" />"Before beforeright afterleft</span>Inner<span style="float:left">2<img src="support/square-outline-32x32.png" />After beforeright afterleft"</span></div>
+<div><span style="float:right">1<img src="support/square-outline-32x32.png" />"Before beforeright afterright</span>Inner<span style="float:right">2<img src="support/square-outline-32x32.png" />After beforeright afterright"</span></div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001.xht
new file mode 100644
index 0000000000..9a3cfc0c89
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-floated-001.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="before-after-floated-001-ref.xht"/>
+<style type="text/css">
+div { counter-reset:ctr; quotes:"\0022" "\0022" "\0022" "\0022"; }
+
+div:before {
+ content:counter(ctr) url(support/square-outline-32x32.png) open-quote "Before " attr(class);
+ counter-increment:ctr;
+}
+div:after {
+ content:counter(ctr) url(support/square-outline-32x32.png) "After " attr(class) close-quote;
+ counter-increment:ctr;
+}
+
+.beforeleft:before {
+ float:left;
+}
+.beforeright:before {
+ float:right;
+}
+.afterleft:after {
+ float:left;
+}
+.afterright:after {
+ float:right;
+}
+
+div { border:1px solid green; margin:5px; }
+div { overflow:auto; }
+</style>
+</head>
+<body>
+<div class="beforeleft afterleft">Inner</div>
+<div class="beforeleft afterright">Inner</div>
+<div class="beforeright afterleft">Inner</div>
+<div class="beforeright afterright">Inner</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001-ref.xht
new file mode 100644
index 0000000000..9163bf53e9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001-ref.xht
@@ -0,0 +1,10 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+<style type="text/css">
+div { border:1px solid green; margin:5px; }
+</style>
+</head>
+<body>
+<div>Inner</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001.xht
new file mode 100644
index 0000000000..2d359ba712
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-images-001.xht
@@ -0,0 +1,17 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="before-after-images-001-ref.xht"/>
+<style type="text/css">
+div:before {
+ content:url(missing-image.png);
+}
+div { border:1px solid green; margin:5px; }
+</style>
+</head>
+<body><div>Inner</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001-ref.xht
new file mode 100644
index 0000000000..ea3ac234b2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001-ref.xht
@@ -0,0 +1,12 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+<style type="text/css">
+div { border:1px solid green; margin:5px; height:100px; }
+</style>
+</head>
+<body><div><span style="position:absolute; left:0">1<img src="support/square-outline-32x32.png" />"Before gen abs</span>Inner<span style="position:absolute; right:0">2<img src="support/square-outline-32x32.png" />After gen abs"</span></div>
+<div style="position:relative"><span style="position:absolute; left:0">1<img src="support/square-outline-32x32.png" />"Before gen abs</span>Inner<span style="position:absolute; right:0">2<img src="support/square-outline-32x32.png" />After gen abs"</span></div>
+<div><span style="position:relative; top:-10px;">1<img src="support/square-outline-32x32.png" />"Before gen rel</span>Inner<span style="position:relative; top:10px;">2<img src="support/square-outline-32x32.png" />After gen rel"</span></div>
+<div>Begin <span style="position:relative; top:-10px;">1<img src="support/square-outline-32x32.png" />"Before gen rel</span>Inner<span style="position:relative; top:10px;">2<img src="support/square-outline-32x32.png" />After gen rel"</span> End</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001.xht
new file mode 100644
index 0000000000..37b22f31ff
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-001.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="before-after-positioned-001-ref.xht"/>
+<style type="text/css">
+div { counter-reset:ctr; quotes:"\0022" "\0022" "\0022" "\0022"; }
+
+.gen:before {
+ content:counter(ctr) url(support/square-outline-32x32.png) open-quote "Before " attr(class);
+ counter-increment:ctr;
+}
+.gen:after {
+ content:counter(ctr) url(support/square-outline-32x32.png) "After " attr(class) close-quote;
+ counter-increment:ctr;
+}
+
+.abs:before {
+ position:absolute;
+ left:0;
+}
+.abs:after {
+ position:absolute;
+ right:0;
+}
+
+.rel:before {
+ position:relative;
+ top:-10px;
+}
+.rel:after {
+ position:relative;
+ top:10px;
+}
+
+div { border:1px solid green; margin:5px; height:100px; }
+</style>
+</head>
+<body><div class="gen abs">Inner</div>
+<!-- an element should be the containing block for its positioned content -->
+<div style="position:relative;" class="gen abs">Inner</div>
+<div class="gen rel">Inner</div>
+<div>Begin <span class="gen rel">Inner</span> End</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002-ref.html
new file mode 100644
index 0000000000..66dc20e5b9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
+<style type="text/css">
+#test {
+ position: absolute;
+ background: blue;
+ height: 100px;
+ width: 100px;
+ right: 0px;
+ bottom: 0px;
+}
+</style>
+<p>Test passes if there is a square (four equal sides) at the bottom right of the page.</p>
+<div id="test"></div>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002.html b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002.html
new file mode 100644
index 0000000000..30a2649d93
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-002.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>CSS Test: :before/:after pseudo-elements - 'position:fixed'</title>
+ <link rel="author" title="James Hopkins" href="mailto:james(at)idreamincode.co.uk">
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content">
+ <link rel="match" href="before-after-positioned-002-ref.html">
+ <meta name="assert" content="Since the restriction on assigning positioning schemes to the :before and :after pseudo elements was lifted in CSS 2.1, this tests whether 'position:fixed' can be correctly applied to both pseudo elements.">
+ <style type="text/css">
+ #test:after,
+ #test:before{
+ background:blue;
+ bottom:0;
+ content:"";
+ height:100px;
+ position:fixed;
+ right:0;
+ width:50px;
+ }
+ #test:before{
+ bottom:0;
+ right:50px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>Test passes if there is a square (four equal sides) at the bottom right of the page.</p>
+ <div id="test"></div>
+ </body>
+
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-003.html b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-003.html
new file mode 100644
index 0000000000..f187b2bad0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-003.html
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>CSS Test: :before/:after pseudo-elements - 'position:absolute'</title>
+ <link rel="author" title="James Hopkins" href="mailto:james(at)idreamincode.co.uk">
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content">
+ <link rel="match" href="before-after-positioned-002-ref.html">
+ <meta name="assert" content="Since the restriction on assigning positioning schemes to the :before and :after pseudo elements was lifted in CSS 2.1, this tests whether 'position:absolute' can be correctly applied to both pseudo elements.">
+ <style type="text/css">
+ #test:after,
+ #test:before{
+ background:blue;
+ bottom:0;
+ content:"";
+ height:100px;
+ position:absolute;
+ right:0;
+ width:50px;
+ }
+ #test:before{
+ bottom:0;
+ right:50px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>Test passes if there is a square (four equal sides) at the bottom right of the page.</p>
+ <div id="test"></div>
+ </body>
+
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004-ref.html
new file mode 100644
index 0000000000..0887626d93
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com">
+<style type="text/css">
+#test {
+ background: blue;
+ height: 100px;
+ width: 100px;
+}
+</style>
+<p>Test passes if there is a square (four equal sides) below.</p>
+<div id="test"></div>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004.html b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004.html
new file mode 100644
index 0000000000..99147574a8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-positioned-004.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>CSS Test: :before/:after pseudo-elements - 'position:relative'</title>
+ <link rel="author" title="James Hopkins" href="mailto:james(at)idreamincode.co.uk">
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content">
+ <link rel="match" href="before-after-positioned-004-ref.html">
+ <meta name="assert" content="Since the restriction on assigning positioning schemes to the :before and :after pseudo elements was lifted in CSS 2.1, this tests whether 'position:relative' can be correctly applied to both pseudo elements.">
+ <style type="text/css">
+ #test:after,
+ #test:before{
+ background:blue;
+ content:"";
+ display:block;
+ height:100px;
+ left:0;
+ position:relative;
+ top:-100px;
+ width:50px;
+ }
+ #test:before{
+ left:50px;
+ top:0;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>Test passes if there is a square (four equal sides) below.</p>
+ <div id="test"></div>
+ </body>
+
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001-ref.xht
new file mode 100644
index 0000000000..d9017a6e57
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001-ref.xht
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+<style type="text/css">
+table { counter-reset:ctr; quotes:"\0022" "\0022" "\0022" "\0022"; }
+
+table { border:1px solid blue; }
+td.real { border:1px solid cyan; }
+td { border-spacing:0; padding:0; }
+
+.table { display:table; }
+.row { display:table-row; }
+.rowgroup { display:table-row-group; }
+
+div { border:1px solid green; margin:5px; }
+div.cell { border:none; display:table-cell; }
+div.real { display:table-cell; }
+
+.tall { height:100px; }
+
+.yellow { background:yellow; }
+.orange { background:orange; }
+.brown { background:brown; }
+</style>
+</head>
+
+<body>
+<table width="100%" style="border:none"><tbody><tr><td style="border:none" valign="top">
+ <div><table><tbody><tr><td>1<img src="support/square-outline-32x32.png" />"Before gen</td><td class="real">Inner</td><td>2<img src="support/square-outline-32x32.png" />After gen"</td></tr></tbody></table></div>
+ <div><table><tbody><tr><td>1<img src="support/square-outline-32x32.png" />"Before gen</td></tr><tr><td class="real">Inner</td></tr><tr><td>2<img src="support/square-outline-32x32.png" />After gen"</td></tr></tbody></table></div>
+ <div><table><tbody><tr><td>1<img src="support/square-outline-32x32.png" />"Before gen</td></tr><tr><td>2<img src="support/square-outline-32x32.png" />After gen"</td></tr><tr><td class="real">Inner</td></tr></tbody></table></div>
+ <div><table><tbody><tr><td class="real">Inner</td></tr></tbody></table></div>
+ <div><table><tbody><tr><td>2<img src="support/square-outline-32x32.png" />After gen headfoot"</td></tr><tr><td class="real">Inner</td></tr><tr><td>1<img src="support/square-outline-32x32.png" />"Before gen headfoot</td></tr></tbody></table></div>
+ <div><div class="table tall"><div class="cell yellow">1<img src="support/square-outline-32x32.png" />"Before gen table gencell varyheight</div><div class="real orange">Inner</div><div class="cell brown">2<img src="support/square-outline-32x32.png" />After gen table gencell varyheight"</div></div></div>
+ <div><div><div style="border:none; margin:0;" class="table tall"><div class="cell yellow">1<img src="support/square-outline-32x32.png" />"Before gen gencell varyheight</div><div class="real orange">Inner</div><div class="cell brown">2<img src="support/square-outline-32x32.png" />After gen gencell varyheight"</div></div></div></div>
+ <div><div><div style="border:none; margin:0;" class="table"><div class="row yellow">1<img src="support/square-outline-32x32.png" />"Before gen genrow varywidth</div><div class="row orange">Inner</div><div class="row brown">2<img src="support/square-outline-32x32.png" />After gen genrow varywidth"</div></div></div></div>
+</td><td style="border:none" valign="top">
+ <div><div class="row"><div class="cell">1<img src="support/square-outline-32x32.png" />"Before gen row gencell</div><div class="real">Inner</div><div class="cell">2<img src="support/square-outline-32x32.png" />After gen row gencell"</div></div></div>
+ <div><div class="row"><div class="cell">1<img src="support/square-outline-32x32.png" />"Before gen row genblock</div><div class="real">Inner</div><div class="cell">2<img src="support/square-outline-32x32.png" />After gen row genblock"</div></div></div>
+ <div><div class="row"><div class="cell">1<img src="support/square-outline-32x32.png" />"Before gen row geninline</div><div class="real">Inner</div><div class="cell">2<img src="support/square-outline-32x32.png" />After gen row geninline"</div></div></div>
+ <div><div class="rowgroup"><div class="row">1<img src="support/square-outline-32x32.png" />"Before gen rowgroup genrow</div><div class="row"><div class="real">Inner</div></div><div class="row">2<img src="support/square-outline-32x32.png" />After gen rowgroup genrow"</div></div></div>
+ <div><div class="rowgroup"><div class="row">1<img src="support/square-outline-32x32.png" />"Before gen rowgroup gencell</div><div class="row"><div class="real">Inner</div></div><div class="row">2<img src="support/square-outline-32x32.png" />After gen rowgroup gencell"</div></div></div>
+ <div><div class="rowgroup"><div class="row">1<img src="support/square-outline-32x32.png" />"Before gen rowgroup genblock</div><div class="row"><div class="real">Inner</div></div><div class="row">2<img src="support/square-outline-32x32.png" />After gen rowgroup genblock"</div></div></div>
+ <div><div class="rowgroup"><div class="row">1<img src="support/square-outline-32x32.png" />"Before gen rowgroup geninline</div><div class="row"><div class="real">Inner</div></div><div class="row">2<img src="support/square-outline-32x32.png" />After gen rowgroup geninline"</div></div></div>
+</td></tr></tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001.xht
new file mode 100644
index 0000000000..f9eb998ebc
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-parts-001.xht
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="before-after-table-parts-001-ref.xht"/>
+<style type="text/css">
+table, div.gen { counter-reset:ctr; quotes:"\0022" "\0022" "\0022" "\0022"; }
+
+.gen:before {
+ content:counter(ctr) url(support/square-outline-32x32.png) open-quote "Before " attr(class);
+ counter-increment:ctr;
+}
+.gen:after {
+ content:counter(ctr) url(support/square-outline-32x32.png) "After " attr(class) close-quote;
+ counter-increment:ctr;
+}
+
+table { border:1px solid blue; }
+td { border:1px solid cyan; }
+td { border-spacing:0; padding:0; }
+
+tr.gen:before, tr.gen:after { display:table-cell; }
+tbody.gen:before, tbody.gen:after { display:table-row; }
+table.gen:before, table.gen:after { display:table-row-group; }
+table.col:before, table.gen.col:after { display:table-column-group; }
+/* note reordering here! */
+table.headfoot:after { display:table-header-group; }
+table.headfoot:before { display:table-footer-group; }
+
+.cell { display:table-cell; }
+.row { display:table-row; }
+.rowgroup { display:table-row-group; }
+.table { display:table; }
+div.gencell:before, div.gencell:after { display:table-cell; }
+div.genrow:before, div.genrow:after { display:table-row; }
+div.genblock:before, div.genblock:after { display:block; }
+div.geninline:before, div.geninline:after { display:inline; }
+
+div { border:1px solid green; margin:5px; }
+
+.varyheight:before { height:100px; background:yellow; }
+.varyheight &gt; div { height:80px; background:orange; }
+.varyheight:after { height:60px; background:brown; }
+
+.varywidth:before { background:yellow; }
+.varywidth &gt; div { background:orange; }
+.varywidth:after { background:brown; }
+</style>
+</head>
+
+<body>
+<table width="100%" style="border:none"><tbody><tr><td style="border:none" valign="top">
+ <div><table><tbody><tr class="gen"><td>Inner</td></tr></tbody></table></div>
+ <div><table><tbody class="gen"><tr><td>Inner</td></tr></tbody></table></div>
+ <div><table class="gen"><tfoot><tr><td>Inner</td></tr></tfoot></table></div>
+ <div><table class="gen col"><tbody><tr><td>Inner</td></tr></tbody></table></div>
+ <div><table class="gen headfoot"><tbody><tr><td>Inner</td></tr></tbody></table></div>
+ <div><div class="gen table gencell varyheight"><div class="cell">Inner</div></div></div>
+ <div><div class="gen gencell varyheight"><div class="cell">Inner</div></div></div>
+ <div><div class="gen genrow varywidth"><div class="row">Inner</div></div></div>
+</td><td style="border:none" valign="top">
+ <div><div class="gen row gencell"><div class="cell">Inner</div></div></div>
+ <div><div class="gen row genblock"><div class="cell">Inner</div></div></div>
+ <div><div class="gen row geninline"><div class="cell">Inner</div></div></div>
+ <div><div class="gen rowgroup genrow"><div class="row"><div class="cell">Inner</div></div></div></div>
+ <div><div class="gen rowgroup gencell"><div class="row"><div class="cell">Inner</div></div></div></div>
+ <div><div class="gen rowgroup genblock"><div class="row"><div class="cell">Inner</div></div></div></div>
+ <div><div class="gen rowgroup geninline"><div class="row"><div class="cell">Inner</div></div></div></div>
+</td></tr></tbody></table>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001-ref.xht
new file mode 100644
index 0000000000..17f575dae1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001-ref.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+<style type="text/css">
+div { border:1px solid green; margin:5px; }
+</style>
+</head>
+
+<body>
+<div>
+ <table><tbody><tr><td>Cell0</td><td></td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+<div>
+ <table><tbody><tr><td></td><td>Cell0</td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+<div>
+ <table><tbody><tr><td></td><td>Cell0</td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+<div>
+ <table><tbody><tr><td></td><td>Cell0</td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001.xht
new file mode 100644
index 0000000000..f299398a5b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-after-table-whitespace-001.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
+ <title>CSS Test: generated content</title>
+ <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" />
+ <link rel="author" title="Mozilla Corporation" href="http://mozilla.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="before-after-table-whitespace-001-ref.xht"/>
+<style type="text/css">
+.gen0:before {
+ padding:1px;
+}
+.gen1:before {
+ content: " ";
+}
+.gen2:before {
+ content: attr(missing);
+}
+.gen3:before {
+ content: url(missing-image.png);
+}
+
+div { border:1px solid green; margin:5px; }
+</style>
+</head>
+
+<!-- This tests that generated content items that evaluate to empty strings or
+ broken images are *not* treated as whitespace text and ignored by the table.
+ Altogether missing content should be ignored, though. (In fact it won't even be generated.) -->
+
+<body>
+<div>
+ <table><tbody><tr class="gen0"><td>Cell0</td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+<div>
+ <table><tbody><tr class="gen1"><td>Cell0</td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+<div>
+ <table><tbody><tr class="gen2"><td>Cell0</td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+<div>
+ <table><tbody><tr class="gen3"><td>Cell0</td></tr>
+ <tr><td>Cell1</td><td>Cell2</td></tr></tbody></table>
+</div>
+
+
+</body></html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-001.xht
new file mode 100644
index 0000000000..122dbde1c6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-001.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display inline</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text ";
+ display: inline;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-002.xht
new file mode 100644
index 0000000000..610926ba50
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-002.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display block</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: block;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003-ref.xht
new file mode 100644
index 0000000000..f3f7872090
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003-ref.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ ul
+ {
+ margin: 0;
+ padding: 0;
+ }
+
+ li {margin-left: 1em;}
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>. The top "Filler text" should be preceded with a bullet marker (a "disc" as a small filled-in circle).</p>
+
+ <ul>
+ <li>Filler text</li>
+ </ul>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003.xht
new file mode 100644
index 0000000000..2ec13d1dec
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-003.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display list-item</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="help" href="http://www.w3.org/TR/html4/struct/lists.html#h-10.3.1" />
+ <link rel="match" href="before-content-display-003-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: list-item;
+ margin-left: 1em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>. The top "Filler text" should be preceded with a bullet marker (a "disc" as a small filled-in circle).</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-005.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-005.xht
new file mode 100644
index 0000000000..199b1f9dff
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-005.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display inline-block</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text\A0";
+ display: inline-block;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-006.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-006.xht
new file mode 100644
index 0000000000..1bdb0da79f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-006.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: table;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-007.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-007.xht
new file mode 100644
index 0000000000..0e14e8c631
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-007.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display inline-table</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text\A0";
+ display: inline-table;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-008.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-008.xht
new file mode 100644
index 0000000000..6d4e660086
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-008.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-row-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: table-row-group;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-009.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-009.xht
new file mode 100644
index 0000000000..91c02ddb3b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-009.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-header-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: table-header-group;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-010.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-010.xht
new file mode 100644
index 0000000000..92cdbd70fc
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-010.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-footer-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: table-footer-group;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-011.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-011.xht
new file mode 100644
index 0000000000..806649d69f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-011.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-row</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: table-row;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-012.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-012.xht
new file mode 100644
index 0000000000..27567bb720
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-012.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-column-group</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display" />
+ <link rel="match" href="after-content-display-012-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element. Elements with 'display' set to 'table-column' or 'table-column-group' are not rendered (exactly as if they had 'display: none')." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ background-color: red;
+ color: yellow;
+ content: ".\0D FAIL";
+ display: table-column-group;
+ font-size: 2em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is <strong>one "Filler text"</strong> and no red.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-013.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-013.xht
new file mode 100644
index 0000000000..b49618c8f3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-013.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-column</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#table-display" />
+ <link rel="match" href="after-content-display-012-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element. Elements with 'display' set to 'table-column' or 'table-column-group' are not rendered (exactly as if they had 'display: none')." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ background-color: red;
+ color: yellow;
+ content: ".\0D FAIL";
+ display: table-column;
+ font-size: 2em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is <strong>one "Filler text"</strong> and no red.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-014.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-014.xht
new file mode 100644
index 0000000000..eeb0847632
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-014.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-cell</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: table-cell;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-015.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-015.xht
new file mode 100644
index 0000000000..9808bfff86
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-015.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display table-caption</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler\A0text";
+ /* Without a table box, the table-caption may shrink to minimum content
+ width (MCW), thus the no-breaking-space (in utf-8) addition between
+ "Filler" and "text" to avoid line-wrapping causing 2 lines. */
+ display: table-caption;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-016.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-016.xht
new file mode 100644
index 0000000000..88b0bdbfa0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-016.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display none</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-012-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ background-color: red;
+ color: yellow;
+ content: ".\0D FAIL";
+ display: none;
+ font-size: 2em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is <strong>one "Filler text"</strong> and no red.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-017.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-017.xht
new file mode 100644
index 0000000000..8d0a59d3c2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-017.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - display inherit</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#display-prop" />
+ <link rel="match" href="after-content-display-002-ref.xht" />
+ <meta content="Generated content can have their own display value explicitly set in which case they behave as if they were real elements inserted just inside their associated element." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text";
+ display: inherit;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there are <strong>2 lines of "Filler text"</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-018.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-018.xht
new file mode 100644
index 0000000000..35831c3abf
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-content-display-018.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Test: :before generated content - initial value of display </title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="after-content-display-001-ref.xht" />
+ <meta content="The initial value of the 'display' for generated content property is 'inline'." name="assert" />
+
+ <style type="text/css"><![CDATA[
+ div:before
+ {
+ content: "Filler text ";
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if the 2 "Filler text" are both <strong>on the same line</strong>.</p>
+
+ <div>Filler text</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-001.xht
new file mode 100644
index 0000000000..bf9a22ffa9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Pseudo-element ':before' inherits inheritable values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="after-inheritable-001-ref.html" />
+ <meta name="assert" content="The pseudo-element ':before' generated content inherits any inheritable properties from the element." />
+ <style type="text/css">
+ div
+ {
+ border: solid;
+ color: green;
+ text-align: center;
+ }
+ div:before
+ {
+ content: 'PASS PASS';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" below are green and the words are centered within the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-002.xht
new file mode 100644
index 0000000000..d2d32efdc2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-inheritable-002.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Pseudo-element ':before' does not inherit non-inheritable values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="after-inheritable-002-ref.html" />
+ <meta name="assert" content="Non-inherited properties apply the initial value when applying to ':before'." />
+ <style type="text/css">
+ div
+ {
+ border: 15px solid blue;
+ color: green;
+ }
+ div:before
+ {
+ border-color: orange;
+ border-style: solid;
+ content: 'PASS PASS';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" are green, they are contained within an orange box with thinner lines than the blue box.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-location-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/before-location-001-ref.html
new file mode 100644
index 0000000000..d22138abd4
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-location-001-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>Test passes if the words "PASS PASS" appear below and are to the left of the arrow.</p>
+ <div>PASS PASS&lt;--</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/before-location-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/before-location-001.xht
new file mode 100644
index 0000000000..f8ac26c52e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/before-location-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Before applies before text</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#before-after-content" />
+ <link rel="match" href="before-location-001-ref.html" />
+ <meta name="assert" content="Before places generated content before the element content." />
+ <style type="text/css">
+ div:before
+ {
+ content: 'PASS PASS';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear below and are to the left of the arrow.</p>
+ <div>&lt;--</div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001-ref.html
new file mode 100644
index 0000000000..9ff414acf3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>The two lines below should be identical:</p>
+ <p>This sentence should be readable</p>
+ <p>This sentence should be readable</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001.xht
new file mode 100644
index 0000000000..11e106254f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-001.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: with character forced bidi - rlo</title>
+ <link rel="author" title="Eira Monstad, Opera Software ASA" href="mailto:public-testsuites@opera.com"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#direction"/>
+ <link rel="match" href="bidi-generated-content-001-ref.html" />
+ <meta name="assert" content="A right-to-left override should be applied when u+202E is inserted through the content property"/>
+ <style type="text/css"><![CDATA[
+ .force:before {
+ content: "\202E"
+ }
+ ]]></style>
+ </head>
+
+ <body>
+ <p>The two lines below should be identical:</p>
+ <p>This sentence should be readable</p>
+ <p>This sentence should be <span class="force">elbadaer</span></p>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002-ref.html
new file mode 100644
index 0000000000..a7eaddf816
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>The two lines below should be identical:</p>
+ <p>ab c d</p>
+ <p>ab c d</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002.xht
new file mode 100644
index 0000000000..f2c04930d7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/bidi-generated-content-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: with character forced bidi - lro</title>
+ <link rel="author" title="Eira Monstad, Opera Software ASA" href="mailto:public-testsuites@opera.com"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#direction"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content"/>
+ <link rel="match" href="bidi-generated-content-002-ref.html" />
+ <meta name="assert" content="A left-to-right override should be correctly applied when inserted through the content property"/>
+ <style type="text/css"><![CDATA[
+ .force:before {
+ content: "\202D"
+ }
+ ]]></style>
+ </head>
+
+ <body>
+ <p>The two lines below should be identical:</p>
+ <p>ab c d</p>
+ <p>&#x202E;d c <span class="force">ab</span>&#x202C;</p>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-001-ref.html
new file mode 100644
index 0000000000..b55f5fe2d3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-001-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <div></div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-001.xht
new file mode 100644
index 0000000000..da3acc30f1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-001.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with the value of 'none'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-001-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a value of 'none'." />
+ <style type="text/css">
+ div:before
+ {
+ content: "FAIL FAIL";
+ content: none;
+ color: red;
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-002.xht
new file mode 100644
index 0000000000..63676c9f4d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-002.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with the value of 'normal'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-001-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a value of 'normal'." />
+ <style type="text/css">
+ div:before
+ {
+ content: "FAIL FAIL";
+ content: normal;
+ color: red;
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-003-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-003-ref.html
new file mode 100644
index 0000000000..83017ff7e1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-003-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div>PASS PASS</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-003.xht
new file mode 100644
index 0000000000..2262466da6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-003.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a string as the value</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a string as a value." />
+ <style type="text/css">
+ div:before
+ {
+ content: "PASS PASS";
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-004.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-004.xht
new file mode 100644
index 0000000000..1388f76d47
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-004.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a url() to an image as a value</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/ref-filled-green-100px-square-only.html" />
+ <meta name="flags" content="image" />
+ <meta name="assert" content="The 'content' property properly handles the 'url()' function as a value." />
+ <style type="text/css">
+ div:before
+ {
+ content: url('../support/green_box.png');
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a filled green square.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-005-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-005-ref.html
new file mode 100644
index 0000000000..9947695209
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-005-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a zero "0" in the box below.</p>
+ <div>0</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-005.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-005.xht
new file mode 100644
index 0000000000..76a4efac95
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-005.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'counter()' function as a value</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-005-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function as a value." />
+ <style type="text/css">
+ div:before
+ {
+ content: counter(test);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a zero "0" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-006-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-006-ref.html
new file mode 100644
index 0000000000..1a59725150
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-006-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a bullet (&#x2022;) in the box below.</p>
+ <div>&#x2022;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-006.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-006.xht
new file mode 100644
index 0000000000..dc79cffa06
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-006.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'disc'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-006-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counter(test, disc);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a bullet (&#x2022;) in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-007-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-007-ref.html
new file mode 100644
index 0000000000..7e50aaa961
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-007-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a bullet (&#x25E6;) in the box below.</p>
+ <div>&#x25E6;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-007.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-007.xht
new file mode 100644
index 0000000000..d0fccb76a2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-007.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'circle'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-007-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counter(test, circle);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a bullet (&#x25E6;) in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-008.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-008.xht
new file mode 100644
index 0000000000..57c992613a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-008.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'square'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counter(test, square);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a bullet (&#x25A0;) in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-009.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-009.xht
new file mode 100644
index 0000000000..1685289920
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-009.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'decimal'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-005-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counter(test, decimal);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a zero "0" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-010-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-010-ref.html
new file mode 100644
index 0000000000..85979c53b2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-010-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there are double zeros "00" in the box below.</p>
+ <div>00</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-010.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-010.xht
new file mode 100644
index 0000000000..188543d7de
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-010.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'decimal-leading-zero'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-010-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counter(test, decimal-leading-zero);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are double zeros "00" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-011-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-011-ref.html
new file mode 100644
index 0000000000..8bc5f313b3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-011-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a letter "i" in the box below.</p>
+ <div>i</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-011.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-011.xht
new file mode 100644
index 0000000000..fc6c274069
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-011.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'lower-roman'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-011-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, lower-roman);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a letter "i" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-012-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-012-ref.html
new file mode 100644
index 0000000000..e628c5fc7c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-012-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a letter "I" in the box below.</p>
+ <div>I</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-012.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-012.xht
new file mode 100644
index 0000000000..3c9aa6e54b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-012.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'upper-roman'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-012-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, upper-roman);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a letter "I" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-013-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-013-ref.html
new file mode 100644
index 0000000000..dd22b26d6c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-013-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a greek letter "&#x03B1;" in the box below.</p>
+ <div>&#x03B1;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-013.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-013.xht
new file mode 100644
index 0000000000..87a3ccd25a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-013.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'lower-greek'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-013-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, lower-greek);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a greek letter "&#x03B1;" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-014-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-014-ref.html
new file mode 100644
index 0000000000..a3b3167a2d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-014-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a letter "a" in the box below.</p>
+ <div>a</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-014.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-014.xht
new file mode 100644
index 0000000000..a1b60da6fa
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-014.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'lower-latin'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-014-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, lower-latin);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a letter "a" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-015-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-015-ref.html
new file mode 100644
index 0000000000..f452a20e7d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-015-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a letter "A" in the box below.</p>
+ <div>A</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-015.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-015.xht
new file mode 100644
index 0000000000..082219e753
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-015.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'upper-latin'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-015-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, upper-latin);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a letter "A" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-016-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-016-ref.html
new file mode 100644
index 0000000000..023c98d56e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-016-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is an Armenian character "&#x0531;" below.</p>
+ <div>&#x0531;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-016.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-016.xht
new file mode 100644
index 0000000000..1513ce0240
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-016.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'armenian'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-016-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, armenian);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is an Armenian character "&#x0531;" below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-017-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-017-ref.html
new file mode 100644
index 0000000000..25d69f22be
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-017-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a Georgian character "&#x10d0;" in the box below.</p>
+ <div>&#x10d0;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-017.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-017.xht
new file mode 100644
index 0000000000..8e41792b1e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-017.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'georgian'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-017-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, georgian);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a Georgian character "&#x10d0;" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-018.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-018.xht
new file mode 100644
index 0000000000..269d04f318
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-018.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'lower-alpha'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-014-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, lower-alpha);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a letter "a" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-019.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-019.xht
new file mode 100644
index 0000000000..07ad5767fb
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-019.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'upper-alpha'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-015-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, upper-alpha);
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a letter "A" in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-020.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-020.xht
new file mode 100644
index 0000000000..a2f82d47b7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-020.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counter()' function with a list style set to 'none'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-001-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counter()' function with a list-style." />
+ <style type="text/css">
+ div:before
+ {
+ counter-increment: test;
+ content: counter(test, none);
+ color: red;
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-021-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-021-ref.html
new file mode 100644
index 0000000000..5e9cd46e68
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-021-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if the numbers "0" and "0.0" are in the box below.</p>
+ <div>0<br>0.0</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-021.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-021.xht
new file mode 100644
index 0000000000..48bc22d22f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-021.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string value</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-021-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string value." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".");
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the numbers "0" and "0.0" are in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-022-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-022-ref.html
new file mode 100644
index 0000000000..a7087f7bc6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-022-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are bullets "&#x2022;" and "&#x2022;.&#x2022;" in the box below.</p>
+ <div>&#x2022;<br>&#x2022;.&#x2022;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-022.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-022.xht
new file mode 100644
index 0000000000..6559e49480
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-022.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'disc'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-022-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", disc);
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are bullets "&#x2022;" and "&#x2022;.&#x2022;" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-023-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-023-ref.html
new file mode 100644
index 0000000000..c6f8a19309
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-023-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are circles "&#x25E6;" and "&#x25E6;.&#x25E6;" in the box below.</p>
+ <div>&#x25E6;<br>&#x25E6;.&#x25E6;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-023.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-023.xht
new file mode 100644
index 0000000000..71e0f3b424
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-023.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'circle'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-023-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", circle);
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are circles "&#x25E6;" and "&#x25E6;.&#x25E6;" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-024.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-024.xht
new file mode 100644
index 0000000000..d0f7c36bab
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-024.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'square'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", square);
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are squares "&#x25A0;" and "&#x25A0;.&#x25A0;" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-025.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-025.xht
new file mode 100644
index 0000000000..8d24769777
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-025.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'decimal'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-021-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", decimal);
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the numbers "0" and "0.0" are in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-026-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-026-ref.html
new file mode 100644
index 0000000000..c884052e44
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-026-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are numbers "00" and "00.00" in the box below.</p>
+ <div>00<br>00.00</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-026.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-026.xht
new file mode 100644
index 0000000000..59efafc59f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-026.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'decimal-leading-zero'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-026-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", decimal-leading-zero);
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are numbers "00" and "00.00" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-027-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-027-ref.html
new file mode 100644
index 0000000000..eb09da6bad
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-027-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are letters "i" and "i.i" in the box below.</p>
+ <div>i<br>i.i</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-027.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-027.xht
new file mode 100644
index 0000000000..2e2053daa7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-027.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'lower-roman'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-027-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", lower-roman);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are letters "i" and "i.i" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-028-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-028-ref.html
new file mode 100644
index 0000000000..78883ada67
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-028-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are letters "I" and "I.I" in the box below.</p>
+ <div>I<br>I.I</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-028.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-028.xht
new file mode 100644
index 0000000000..9d9535d752
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-028.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'upper-roman'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-028-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", upper-roman);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are letters "I" and "I.I" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-029-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-029-ref.html
new file mode 100644
index 0000000000..7e8e6c61d0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-029-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are greek letters "&#x03B1;" and "&#x03B1;.&#x03B1;" in the box below.</p>
+ <div>&#x03B1;<br>&#x03B1;.&#x03B1;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-029.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-029.xht
new file mode 100644
index 0000000000..1a3c087f43
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-029.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'lower-greek'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-029-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", lower-greek);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are greek letters "&#x03B1;" and "&#x03B1;.&#x03B1;" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-030-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-030-ref.html
new file mode 100644
index 0000000000..2a7a6c2e45
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-030-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are letters "a" and "a.a" in the box below.</p>
+ <div>a<br>a.a</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-030.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-030.xht
new file mode 100644
index 0000000000..d49e5aad1c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-030.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'lower-latin'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-030-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", lower-latin);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are letters "a" and "a.a" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-031-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-031-ref.html
new file mode 100644
index 0000000000..d97b57ba29
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-031-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are letters "A" and "A.A" in the box below.</p>
+ <div>A<br>A.A</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-031.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-031.xht
new file mode 100644
index 0000000000..b5dd7ee122
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-031.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'upper-latin'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-031-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", upper-latin);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are letters "A" and "A.A" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-032-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-032-ref.html
new file mode 100644
index 0000000000..55ea7be06e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-032-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are Armenian characters "&#x0531;" and "&#x0531;.&#x0531;" in the box below.</p>
+ <div>&#x0531;<br>&#x0531;.&#x0531;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-032.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-032.xht
new file mode 100644
index 0000000000..7dbe529526
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-032.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'armenian'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-032-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", armenian);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are Armenian characters "&#x0531;" and "&#x0531;.&#x0531;" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-033-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-033-ref.html
new file mode 100644
index 0000000000..fc0aa9eb5f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-033-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if there are Georgian characters "&#x10d0;" and "&#x10d0;.&#x10d0;" in the box below.</p>
+ <div>&#x10d0;<br>&#x10d0;.&#x10d0;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-033.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-033.xht
new file mode 100644
index 0000000000..033f681eb3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-033.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'georgian'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-033-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", georgian);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are Georgian characters "&#x10d0;" and "&#x10d0;.&#x10d0;" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-034.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-034.xht
new file mode 100644
index 0000000000..97d411ed37
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-034.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'lower-alpha'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-030-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", lower-alpha);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are letters "a" and "a.a" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-035.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-035.xht
new file mode 100644
index 0000000000..9f722770b6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-035.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'upper-alpha'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-031-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", upper-alpha);
+ counter-increment: test;
+ counter-reset: test;
+ }
+ #div1
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are letters "A" and "A.A" in the box below.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-036.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-036.xht
new file mode 100644
index 0000000000..3f860e9ebd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-036.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content using a 'counters()' function with a string and a list style set to 'none'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-001-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'counters()' function with a string and a list style." />
+ <style type="text/css">
+ div:before
+ {
+ content: counters(test, ".", none);
+ counter-increment: test;
+ counter-reset: test;
+ color: red;
+ }
+ div
+ {
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-037-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-037-ref.html
new file mode 100644
index 0000000000..39b5ba9284
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-037-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <table>
+ <tr>
+ <td>PASS PASS</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-037.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-037.xht
new file mode 100644
index 0000000000..433d7dc52f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-037.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'abbr'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-037-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'abbr'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(abbr);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <table>
+ <tr>
+ <td abbr="PASS PASS"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-038.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-038.xht
new file mode 100644
index 0000000000..5208f5c931
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-038.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'accept-charset'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'accept-charset'." />
+ <style type="text/css">
+ form:before
+ {
+ content: attr(accept-charset);
+ color: green;
+ }
+ form
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <form accept-charset="PASS PASS" action="#">
+ <div></div>
+ </form>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-039.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-039.xht
new file mode 100644
index 0000000000..f62560b337
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-039.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'accept'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'accept'." />
+ <style type="text/css">
+ form:before
+ {
+ content: attr(accept);
+ color: green;
+ }
+ form
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <form accept="PASS PASS" action="#">
+ <div></div>
+ </form>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-040-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-040-ref.html
new file mode 100644
index 0000000000..b5f7d0dd76
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-040-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the letter "P" appears in the box below.</p>
+ <div>P</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-040.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-040.xht
new file mode 100644
index 0000000000..fa1ae9b328
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-040.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'accesskey'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-040-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'accesskey'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(accesskey);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letter "P" appears in the box below.</p>
+ <div>
+ <a accesskey="P"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-041-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-041-ref.html
new file mode 100644
index 0000000000..c3868b3259
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-041-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <div>PASS</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-041.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-041.xht
new file mode 100644
index 0000000000..cee3fd8e5f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-041.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'action'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-041-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'action'." />
+ <style type="text/css">
+ form:before
+ {
+ content: attr(action);
+ color: green;
+ }
+ form
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <form action="PASS">
+ <div></div>
+ </form>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-042-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-042-ref.html
new file mode 100644
index 0000000000..3a3c43e878
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-042-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the words "center" appear in the box below.</p>
+ <div align="center">center</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-042.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-042.xht
new file mode 100644
index 0000000000..e4aac947e1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-042.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'align'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-042-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'align'." />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(align);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "center" appear in the box below.</p>
+ <div align="center"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-043-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-043-ref.html
new file mode 100644
index 0000000000..42f7ab0e61
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-043-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ color: green;
+ }
+</style>
+<body>
+ <div>#ffff00</div>
+ <p>Test passes if there is the text "#ffff00" above.</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-043.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-043.xht
new file mode 100644
index 0000000000..2ba9f71367
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-043.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'alink'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-043-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'alink'." />
+ <style type="text/css">
+ body:before
+ {
+ content: attr(alink);
+ color: green;
+ }
+ </style>
+ </head>
+ <body alink="#ffff00">
+ <p>Test passes if there is the text "#ffff00" above.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-046.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-046.xht
new file mode 100644
index 0000000000..cb96a3b5be
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-046.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'axis'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-037-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'axis'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(axis);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <table>
+ <tr>
+ <td axis="PASS PASS"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-047-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-047-ref.html
new file mode 100644
index 0000000000..317170fc0c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-047-ref.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ body {
+ margin: 0px;
+ }
+ .test {
+ color: green;
+ }
+ p {
+ margin-left: 8px;
+ }
+</style>
+<body>
+ <div class="test">PASS PASS</div>
+ <p>Test passes if the words "PASS PASS" appear above this text.</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-047.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-047.xht
new file mode 100644
index 0000000000..2189f95244
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-047.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'background'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-047-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'background'." />
+ <style type="text/css">
+ body:before {
+ content: attr(background);
+ color: green;
+ }
+ body {
+ margin: 0px;
+ }
+ p {
+ margin-left: 8px;
+ }
+ </style>
+ </head>
+ <body background="PASS PASS">
+ <p>Test passes if the words "PASS PASS" appear above this text.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-048-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-048-ref.html
new file mode 100644
index 0000000000..e871e3be62
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-048-ref.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ body {
+ background: #ffff00;
+ }
+ div {
+ color: green;
+ }
+</style>
+<body>
+ <div>#ffff00</div>
+ <p>Test passes if there is the text "#ffff00" above.</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-048.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-048.xht
new file mode 100644
index 0000000000..59597ab9a7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-048.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'bgcolor'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-048-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'bgcolor'." />
+ <style type="text/css">
+ body:before
+ {
+ content: attr(bgcolor);
+ color: green;
+ }
+ </style>
+ </head>
+ <body bgcolor="#ffff00">
+ <p>Test passes if there is the text "#ffff00" above.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-049.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-049.xht
new file mode 100644
index 0000000000..4f3622628d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-049.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'border'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'border'." />
+ <style type="text/css">
+ table:before
+ {
+ content: attr(border);
+ color: green;
+ }
+ table
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table border="1">
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-050-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-050-ref.html
new file mode 100644
index 0000000000..bf0b0a81a9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-050-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ table:before {
+ content: "1";
+ }
+ table {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table>
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-050.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-050.xht
new file mode 100644
index 0000000000..0b43248a53
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-050.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'cellpadding'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-050-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'cellpadding'." />
+ <style type="text/css">
+ table:before
+ {
+ content: attr(cellpadding);
+ color: green;
+ }
+ table
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table cellpadding="1">
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-051.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-051.xht
new file mode 100644
index 0000000000..dd4ad1513f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-051.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'cellspacing'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'cellspacing'." />
+ <style type="text/css">
+ table:before
+ {
+ content: attr(cellspacing);
+ color: green;
+ }
+ table
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table cellspacing="1">
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-052-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-052-ref.html
new file mode 100644
index 0000000000..630898c845
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-052-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if the letter "A" appears in the box below.</p>
+ <table>
+ <tr>
+ <td>A</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-052.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-052.xht
new file mode 100644
index 0000000000..9812d3134f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-052.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'char'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-052-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'char'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(char);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letter "A" appears in the box below.</p>
+ <table>
+ <tr>
+ <td char="A"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-053-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-053-ref.html
new file mode 100644
index 0000000000..6f639b174a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-053-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table>
+ <tr>
+ <td>1</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-053.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-053.xht
new file mode 100644
index 0000000000..f8ddb34981
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-053.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'charoff'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-053-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'charoff'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(charoff);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table>
+ <tr>
+ <td charoff="1"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-054.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-054.xht
new file mode 100644
index 0000000000..3a282056d2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-054.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'charset'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'charset'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(charset);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div>
+ <a charset="PASS PASS"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-056.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-056.xht
new file mode 100644
index 0000000000..0f7ee3b86f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-056.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'cite'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'cite'." />
+ <style type="text/css">
+ q:before
+ {
+ content: attr(cite);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div>
+ <q cite="PASS PASS"></q>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-057.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-057.xht
new file mode 100644
index 0000000000..5907a251b6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-057.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'class'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'class'." />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(class);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div class="PASS PASS"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-063-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-063-ref.html
new file mode 100644
index 0000000000..84a732bb1d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-063-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "green" appears in the box below.</p>
+ <div>green</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-063.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-063.xht
new file mode 100644
index 0000000000..2293fce5fe
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-063.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'color'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-063-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'color'." />
+ <style type="text/css">
+ font:before
+ {
+ content: attr(color);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "green" appears in the box below.</p>
+ <div>
+ <font color="green"></font>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-065.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-065.xht
new file mode 100644
index 0000000000..3eb962bc1e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-065.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'colspan'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-053-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'colspan'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(colspan);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table>
+ <tr>
+ <td colspan="1"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-066.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-066.xht
new file mode 100644
index 0000000000..63e28c1138
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-066.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'compact'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'compact'." />
+ <style type="text/css">
+ ul:before
+ {
+ content: attr(compact);
+ color: green;
+ }
+ ul
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "compact" appears in the box below.</p>
+ <ul compact="compact">
+ <li></li>
+ </ul>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-067.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-067.xht
new file mode 100644
index 0000000000..9ab92e3397
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-067.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'content'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-047-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'content'." />
+ <meta content="PASS PASS" />
+ <style type="text/css">
+ meta:before
+ {
+ content: attr(content);
+ color: green;
+ }
+ head, meta[content='PASS PASS']
+ {
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear above this text.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-068-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-068-ref.html
new file mode 100644
index 0000000000..e3c1796412
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-068-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the number "10" appears in the box below.</p>
+ <div>10</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-068.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-068.xht
new file mode 100644
index 0000000000..4c7578bf34
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-068.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'coords'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-068-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'coords'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(coords);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "10" appears in the box below.</p>
+ <div>
+ <a coords="10"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-070-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-070-ref.html
new file mode 100644
index 0000000000..2995930fc4
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-070-ref.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ ins {
+ border: 2px solid black;
+ color: green;
+ text-decoration-color: black;
+ }
+</style>
+<body>
+ <p>Test passes if the text "2000-01-01T00:00:00-08:00" appears in the box below.</p>
+ <ins>2000-01-01T00:00:00-08:00</ins>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-070.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-070.xht
new file mode 100644
index 0000000000..dec76a0274
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-070.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'datetime'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-070-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'datetime'." />
+ <style type="text/css">
+ ins:before
+ {
+ content: attr(datetime);
+ color: green;
+ }
+ ins
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the text "2000-01-01T00:00:00-08:00" appears in the box below.</p>
+ <div>
+ <ins datetime="2000-01-01T00:00:00-08:00"></ins>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-072-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-072-ref.html
new file mode 100644
index 0000000000..c8bc3266d8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-072-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "defer" appears in the box below.</p>
+ <div>defer</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-072.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-072.xht
new file mode 100644
index 0000000000..05d18bd094
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-072.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'defer'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-072-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'defer'." />
+ <style type="text/css">
+ script:before
+ {
+ content: attr(defer);
+ color: green;
+ }
+ script
+ {
+ border: 2px solid black;
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "defer" appears in the box below.</p>
+ <script defer="defer" type="text/javascript"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-073-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-073-ref.html
new file mode 100644
index 0000000000..41963db83c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-073-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the letters "ltr" appear in the box below.</p>
+ <div>ltr</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-073.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-073.xht
new file mode 100644
index 0000000000..c86d0dda43
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-073.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'dir'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-073-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'dir'." />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(dir);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ltr" appear in the box below.</p>
+ <div dir="ltr"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-075-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-075-ref.html
new file mode 100644
index 0000000000..2c0b63dbf3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-075-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the text "multipart/form-data" appear in the box below.</p>
+ <div>multipart/form-data</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-075.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-075.xht
new file mode 100644
index 0000000000..35cd1447c5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-075.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'enctype'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-075-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'enctype'." />
+ <style type="text/css">
+ form:before
+ {
+ content: attr(enctype);
+ color: green;
+ }
+ form
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the text "multipart/form-data" appear in the box below.</p>
+ <form action="#" enctype="multipart/form-data">
+ <div></div>
+ </form>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-076.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-076.xht
new file mode 100644
index 0000000000..a4bfdd0b9d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-076.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'face'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'face'." />
+ <style type="text/css">
+ font:before
+ {
+ content: attr(face);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div>
+ <font face="PASS PASS"></font>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-077.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-077.xht
new file mode 100644
index 0000000000..0be87d4269
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-077.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'for'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-041-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'for'." />
+ <style type="text/css">
+ label:before
+ {
+ content: attr(for);
+ color: green;
+ }
+ .box
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <div class="box">
+ <label for="PASS"></label>
+ <div id="PASS"></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-078.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-078.xht
new file mode 100644
index 0000000000..3fa0d1f6f1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-078.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'frame'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'frame'." />
+ <style type="text/css">
+ table:before
+ {
+ content: attr(frame);
+ color: green;
+ }
+ table
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "hsides" appears in the box below.</p>
+ <table frame="hsides">
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-080-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-080-ref.html
new file mode 100644
index 0000000000..6f5454c008
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-080-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <table>
+ <tr>
+ <td>PASS</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-080.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-080.xht
new file mode 100644
index 0000000000..ea4e72cb73
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-080.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'headers'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-080-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'headers'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(headers);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <table>
+ <tr>
+ <td headers="PASS"></td>
+ </tr>
+ <tr>
+ <th id="PASS"></th>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-081-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-081-ref.html
new file mode 100644
index 0000000000..7da539a72f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-081-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if the number "10" appears in the box below.</p>
+ <table>
+ <tr>
+ <td>10</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-081.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-081.xht
new file mode 100644
index 0000000000..937a691eb1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-081.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'height'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-081-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'height'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(height);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "10" appears in the box below.</p>
+ <table>
+ <tr>
+ <td height="10"></td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-082-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-082-ref.html
new file mode 100644
index 0000000000..db3242baa7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-082-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the character "#" appears in the box below.</p>
+ <a href="#"><div>#</div></a>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-082.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-082.xht
new file mode 100644
index 0000000000..a6a7afe1cf
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-082.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'href'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-082-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'href'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(href);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the character "#" appears in the box below.</p>
+ <div>
+ <a href="#"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-083-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-083-ref.html
new file mode 100644
index 0000000000..375572bac5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-083-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the letters "aa" appear in the box below.</p>
+ <div>aa</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-083.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-083.xht
new file mode 100644
index 0000000000..49e03bc852
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-083.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'hreflang'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-083-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'hreflang'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(hreflang);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "aa" appear in the box below.</p>
+ <div>
+ <a hreflang="aa"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-085.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-085.xht
new file mode 100644
index 0000000000..ea3bca8047
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-085.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'http-equiv'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-047-ref.html" />
+ <meta name="assert" content="The 'content' property correctly handles the 'attr()' function when calling the attribute 'http-equiv'." />
+ <meta content="" http-equiv="PASS PASS" />
+ <style type="text/css">
+ meta:before
+ {
+ content: attr(http-equiv);
+ color: green;
+ }
+ head, meta
+ {
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear above this text.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-086.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-086.xht
new file mode 100644
index 0000000000..94ca4dc57d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-086.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'id'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-041-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'id'." />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(id);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <div id="PASS"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-089-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-089-ref.html
new file mode 100644
index 0000000000..375572bac5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-089-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the letters "aa" appear in the box below.</p>
+ <div>aa</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-089.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-089.xht
new file mode 100644
index 0000000000..4090d04f7e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-089.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'lang'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-089-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'lang'." />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(lang);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "aa" appear in the box below.</p>
+ <div lang="aa"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-090-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-090-ref.html
new file mode 100644
index 0000000000..a8d8619059
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-090-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "ecmascript" appears in the box below.</p>
+ <div>ecmascript</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-090.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-090.xht
new file mode 100644
index 0000000000..982023deaa
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-090.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'language'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-090-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'language'." />
+ <style type="text/css">
+ script:before
+ {
+ content: attr(language);
+ color: green;
+ }
+ script
+ {
+ border: 2px solid black;
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "ecmascript" appears in the box below.</p>
+ <script language="ecmascript" type="text/ecmascript"></script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-091-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-091-ref.html
new file mode 100644
index 0000000000..b9cb6dd4bf
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-091-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ color: green;
+ }
+</style>
+<body>
+ <div>green</div>
+ <p>Test passes if the word "green" appears above.</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-091.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-091.xht
new file mode 100644
index 0000000000..1c1b35239e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-091.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'link'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-091-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'link'." />
+ <style type="text/css">
+ body:before
+ {
+ content: attr(link);
+ color: green;
+ }
+ </style>
+ </head>
+ <body link="green">
+ <p>Test passes if the word "green" appears above.</p>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-096-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-096-ref.html
new file mode 100644
index 0000000000..9518fe01f8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-096-ref.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ body {
+ margin: 0px;
+ }
+ .test {
+ color: green;
+ }
+ p {
+ margin-left: 8px;
+ }
+</style>
+<body>
+ <div class="test">all</div>
+ <p>Test passes if the word "all" appears above this text.</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-096.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-096.xht
new file mode 100644
index 0000000000..8fbd1fe5c8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-096.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'media'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-096-ref.html" />
+ <link media="all" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'media'." />
+ <style type="text/css">
+ link:before
+ {
+ content: attr(media);
+ color: green;
+ }
+ head, link
+ {
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "all" appears above this text.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-097-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-097-ref.html
new file mode 100644
index 0000000000..d68b7955f5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-097-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "get" appears in the box below.</p>
+ <div>get</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-097.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-097.xht
new file mode 100644
index 0000000000..bec72c932d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-097.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'method'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-097-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'method'." />
+ <style type="text/css">
+ form:before
+ {
+ content: attr(method);
+ color: green;
+ }
+ form
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "get" appears in the box below.</p>
+ <form action="" method="get">
+ <div></div>
+ </form>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-099.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-099.xht
new file mode 100644
index 0000000000..81ae3ebc11
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-099.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'name'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-041-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'name'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(name);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <div>
+ <a name="PASS"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-100-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-100-ref.html
new file mode 100644
index 0000000000..91b01cef30
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-100-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "nohref" appears in the box below.</p>
+ <div>nohref</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-100.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-100.xht
new file mode 100644
index 0000000000..733f22e829
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-100.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'nohref'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-100-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'nohref'." />
+ <style type="text/css">
+ area:before
+ {
+ content: attr(nohref);
+ color: green;
+ }
+ area
+ {
+ border: 2px solid black;
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "nohref" appears in the box below.</p>
+ <div>
+ <map id="test">
+ <area alt="" nohref="nohref" />
+ </map>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-103-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-103-ref.html
new file mode 100644
index 0000000000..d538ab4b47
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-103-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if the word "nowrap" appears in the box below.</p>
+ <table>
+ <tr>
+ <td>nowrap</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-103.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-103.xht
new file mode 100644
index 0000000000..352c7aabb3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-103.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'nowrap'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-103-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'nowrap'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(nowrap);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "nowrap" appears in the box below.</p>
+ <table>
+ <tr>
+ <td nowrap="nowrap"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-105.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-105.xht
new file mode 100644
index 0000000000..25eb7796f1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-105.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onblur'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html" />
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onblur'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(onblur);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div>
+ <a onblur="PASS();"></a>
+ </div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-107.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-107.xht
new file mode 100644
index 0000000000..f415ff338b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-107.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onclick'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onclick'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onclick);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onclick="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-108.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-108.xht
new file mode 100644
index 0000000000..1887a6d443
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-108.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'ondblclick'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'ondblclick'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(ondblclick);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div ondblclick="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-109.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-109.xht
new file mode 100644
index 0000000000..030d38d41d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-109.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onfocus'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html" />
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onfocus'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(onfocus);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div>
+ <a onfocus="PASS();"></a>
+ </div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-110.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-110.xht
new file mode 100644
index 0000000000..cf2cc1b286
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-110.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onkeydown'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onkeydown'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onkeydown);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onkeydown="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-111.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-111.xht
new file mode 100644
index 0000000000..e97431cdf5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-111.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onkeypress'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onkeypress'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onkeypress);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onkeypress="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-112.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-112.xht
new file mode 100644
index 0000000000..f45e00a5a1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-112.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onkeyup'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onkeyup'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onkeyup);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onkeyup="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-113-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-113-ref.html
new file mode 100644
index 0000000000..c17bdd7f09
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-113-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ color: green;
+ }
+</style>
+<body>
+ <div>PASS();</div>
+ <p>Test passes if only the word "PASS();" appears above. Fail if there is any other additional text.</p>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-113.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-113.xht
new file mode 100644
index 0000000000..559b7953d2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-113.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onload'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-113-ref.html" />
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onload'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ body:before
+ {
+ content: attr(onload);
+ color: green;
+ }
+ </style>
+ </head>
+ <body onload="PASS();">
+ <p>Test passes if only the word "PASS();" appears above. Fail if there is any other additional text.</p>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-114.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-114.xht
new file mode 100644
index 0000000000..67babfc45f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-114.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onmousedown'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onmousedown'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onmousedown);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onmousedown="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-115.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-115.xht
new file mode 100644
index 0000000000..4472f25dcc
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-115.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onmousemove'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onmousemove'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onmousemove);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onmousemove="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-116.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-116.xht
new file mode 100644
index 0000000000..3eca048b9d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-116.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onmouseout'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onmouseout'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onmouseout);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onmouseout="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-117.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-117.xht
new file mode 100644
index 0000000000..dc89bacc3f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-117.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onmouseover'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onmouseover'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onmouseover);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onmouseover="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-118.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-118.xht
new file mode 100644
index 0000000000..08fc22bb99
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-118.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onmouseup'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onmouseup'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(onmouseup);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <div onmouseup="PASS();"></div>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-119.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-119.xht
new file mode 100644
index 0000000000..37f69d4a71
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-119.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onreset'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onreset'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ form:before
+ {
+ content: attr(onreset);
+ color: green;
+ }
+ form
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <form action="" onreset="PASS();">
+ <div></div>
+ </form>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-121.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-121.xht
new file mode 100644
index 0000000000..f1f827f70f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-121.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onsubmit'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/only_pass_parens_semicolon.html"/>
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onsubmit'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ form:before
+ {
+ content: attr(onsubmit);
+ color: green;
+ }
+ form
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "PASS();" appears in the box below. Fail if there is any other additional text.</p>
+ <form action="" onsubmit="PASS();">
+ <div></div>
+ </form>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-122.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-122.xht
new file mode 100644
index 0000000000..a32ce892c3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-122.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'onunload'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-113-ref.html" />
+ <meta name="flags" content="dom" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'onunload'." />
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
+ <style type="text/css">
+ body:before
+ {
+ content: attr(onunload);
+ color: green;
+ }
+ </style>
+ </head>
+ <body onunload="PASS();">
+ <p>Test passes if only the word "PASS();" appears above. Fail if there is any other additional text.</p>
+ <script type="text/javascript">
+ function PASS()
+ {
+ return false;
+ }
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-123.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-123.xht
new file mode 100644
index 0000000000..85c5308c7e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-123.xht
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head profile="PASS PASS">
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'profile'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-047-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'profile'." />
+ <style type="text/css">
+ head:before
+ {
+ content: attr(profile);
+ color: green;
+ }
+ head
+ {
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear above this text.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-126-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-126-ref.html
new file mode 100644
index 0000000000..74f46da24c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-126-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if only the word "Alternate" appears in the box below.</p>
+ <div>Alternate</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-126.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-126.xht
new file mode 100644
index 0000000000..c3f8697b8a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-126.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'rel'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-126-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'rel'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(rel);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "Alternate" appears in the box below.</p>
+ <div>
+ <a rel="Alternate"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-127.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-127.xht
new file mode 100644
index 0000000000..7fa3429e87
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-127.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'rev'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-126-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'rev'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(rev);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "Alternate" appears in the box below.</p>
+ <div>
+ <a rev="Alternate"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-129.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-129.xht
new file mode 100644
index 0000000000..0346521aa1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-129.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'rowspan'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-053-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'rowspan'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(rowspan);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "1" appears in the box below.</p>
+ <table>
+ <tr>
+ <td rowspan="1"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-130.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-130.xht
new file mode 100644
index 0000000000..f104530438
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-130.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'rules'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'rules'." />
+ <style type="text/css">
+ table:before
+ {
+ content: attr(rules);
+ color: green;
+ }
+ table
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "all" appears in the box below.</p>
+ <table rules="all">
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-131.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-131.xht
new file mode 100644
index 0000000000..1e142a90bb
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-131.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'scheme'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-047-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'scheme'." />
+ <meta content="" scheme="PASS PASS" />
+ <style type="text/css">
+ meta:before
+ {
+ content: attr(scheme);
+ color: green;
+ }
+ head, meta
+ {
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear above this text.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-132-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-132-ref.html
new file mode 100644
index 0000000000..6c1736b5c6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-132-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if only the word "col" appears in the box below.</p>
+ <table>
+ <tr>
+ <td>col</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-132.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-132.xht
new file mode 100644
index 0000000000..54636ed2bf
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-132.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'scope'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-132-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'scope'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(scope);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "col" appears in the box below.</p>
+ <table>
+ <tr>
+ <td scope="col"></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-135-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-135-ref.html
new file mode 100644
index 0000000000..c1be10b7a2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-135-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if only the word "circle" appears in the box below.</p>
+ <div>circle</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-135.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-135.xht
new file mode 100644
index 0000000000..e62a4c2095
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-135.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'shape'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-135-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'shape'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(shape);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "circle" appears in the box below.</p>
+ <div>
+ <a shape="circle"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-136-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-136-ref.html
new file mode 100644
index 0000000000..2ec806a962
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-136-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ font {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if the number "5" appears in the box below.</p>
+ <div><font size="5">5</font></div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-136.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-136.xht
new file mode 100644
index 0000000000..419fad5bf6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-136.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'size'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-136-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'size'." />
+ <style type="text/css">
+ font:before
+ {
+ content: attr(size);
+ color: green;
+ }
+ font
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "5" appears in the box below.</p>
+ <div>
+ <font size="5"></font>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-138.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-138.xht
new file mode 100644
index 0000000000..8c3910211e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-138.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'src'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'src'." />
+ <style type="text/css">
+ script:before
+ {
+ content: attr(src);
+ color: green;
+ }
+ script
+ {
+ border: 2px solid black;
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <script src="PASS PASS" type="text/javascript"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-140.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-140.xht
new file mode 100644
index 0000000000..9c50299b3c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-140.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'start'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'start'." />
+ <style type="text/css">
+ ol:before
+ {
+ color: green;
+ content: attr(start);
+ }
+ ol
+ {
+ border: 2px solid black;
+ color: white;
+ font-size: 25px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a green number "1" in the box below.</p>
+ <ol start="1">
+ <li></li>
+ </ol>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-141-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-141-ref.html
new file mode 100644
index 0000000000..9a5d248bc6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-141-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the words "color: green;" appear in the box below.</p>
+ <div>color: green;</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-141.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-141.xht
new file mode 100644
index 0000000000..52ec51bb50
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-141.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'style'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-141-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'style'." />
+ <meta http-equiv="Content-Style-Type" content="text/css" />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(style);
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "color: green;" appear in the box below.</p>
+ <div style="color: green;"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-142.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-142.xht
new file mode 100644
index 0000000000..cb82c23663
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-142.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'summary'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'summary'." />
+ <style type="text/css">
+ table:before
+ {
+ content: attr(summary);
+ color: green;
+ }
+ table
+ {
+ border: 2px solid black;
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the words "PASS PASS" appear in the box below.</p>
+ <table summary="PASS PASS">
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-143-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-143-ref.html
new file mode 100644
index 0000000000..6a4e3dcf9c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-143-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the number "5" appears in the box below.</p>
+ <div>5</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-143.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-143.xht
new file mode 100644
index 0000000000..922f8accb8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-143.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'tabindex'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-143-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'tabindex'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(tabindex);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "5" appears in the box below.</p>
+ <div>
+ <a tabindex="5"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-144-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-144-ref.html
new file mode 100644
index 0000000000..f89a44c850
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-144-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the word "_blank" appears in the box below.</p>
+ <div>_blank</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-144.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-144.xht
new file mode 100644
index 0000000000..18c5069223
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-144.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'target'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-144-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'target'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(target);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "_blank" appears in the box below.</p>
+ <div>
+ <a target="_blank"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-145.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-145.xht
new file mode 100644
index 0000000000..08027dd3da
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-145.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'text'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-091-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'text'." />
+ <style type="text/css">
+ body:before
+ {
+ content: attr(text);
+ }
+ p
+ {
+ color: black;
+ }
+ </style>
+ </head>
+ <body text="green">
+ <p>Test passes if the word "green" appears above.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-146.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-146.xht
new file mode 100644
index 0000000000..6dd3f73526
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-146.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'title'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-003-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'title'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(title);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear in the box below.</p>
+ <div>
+ <a title="PASS PASS"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-147-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-147-ref.html
new file mode 100644
index 0000000000..8c056131d9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-147-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the words "text/plain" appear in the box below.</p>
+ <div>text/plain</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-147.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-147.xht
new file mode 100644
index 0000000000..58e269b288
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-147.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'type'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-147-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'type'." />
+ <style type="text/css">
+ a:before
+ {
+ content: attr(type);
+ color: green;
+ }
+ div
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "text/plain" appear in the box below.</p>
+ <div>
+ <a type="text/plain"></a>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-149-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-149-ref.html
new file mode 100644
index 0000000000..55641ccda0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-149-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ td {
+ color: green;
+ border: 2px solid black;
+ }
+</style>
+<body>
+ <p>Test passes if only the word "baseline" appears in the box below.</p>
+ <table>
+ <tr>
+ <td>baseline</td>
+ </tr>
+ </table>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-149.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-149.xht
new file mode 100644
index 0000000000..ab98d48e1c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-149.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'valign'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-149-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'valign'." />
+ <style type="text/css">
+ td:before
+ {
+ content: attr(valign);
+ color: green;
+ }
+ td
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the word "baseline" appears in the box below.</p>
+ <table>
+ <tr>
+ <td valign="baseline"></td>
+ </tr>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-150-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-150-ref.html
new file mode 100644
index 0000000000..2a24d705b0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-150-ref.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ li {
+ color: green;
+ border: 2px solid black;
+ display: block;
+ }
+</style>
+<body>
+ <p>Test passes if only the number "1" appears in the box below.</p>
+ <ol>
+ <li>1</li>
+ </ol>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-150.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-150.xht
new file mode 100644
index 0000000000..f8545a90d8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-150.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'value'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-150-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'value'." />
+ <style type="text/css">
+ li:before
+ {
+ content: attr(value);
+ color: green;
+ }
+ li
+ {
+ border: 2px solid black;
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the number "1" appears in the box below.</p>
+ <ol>
+ <li value="1"></li>
+ </ol>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-151.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-151.xht
new file mode 100644
index 0000000000..5d56b1846e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-151.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'valuetype'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'valuetype'." />
+ <style type="text/css">
+ param:before
+ {
+ content: attr(valuetype);
+ color: green;
+ }
+ param
+ {
+ border: 2px solid black;
+ display: block;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "data" appears in the box below.</p>
+ <div>
+ <object>
+ <param name="test" valuetype="data" />
+ </object>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-152.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-152.xht
new file mode 100644
index 0000000000..5db11c6028
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-152.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" version="PASS PASS">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'version'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-047-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'version'." />
+ <style type="text/css">
+ html:before
+ {
+ content: attr(version);
+ color: green;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the words "PASS PASS" appear above this text.</p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-153.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-153.xht
new file mode 100644
index 0000000000..36c0344763
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-153.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'vlink'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-091-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'vlink'." />
+ <style type="text/css">
+ body:before
+ {
+ content: attr(vlink);
+ color: green;
+ }
+ </style>
+ </head>
+ <body vlink="green">
+ <p>Test passes if the word "green" appears above.</p>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-155-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-155-ref.html
new file mode 100644
index 0000000000..373e467765
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-155-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ pre {
+ border: 2px solid black;
+ color: green;
+ }
+</style>
+<body>
+ <p>Test passes if the number "10" appears in the box below.</p>
+ <pre>10</pre>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-155.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-155.xht
new file mode 100644
index 0000000000..d7ab8392e0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-155.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with a 'attr()' function as a value selecting 'width'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-155-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles the 'attr()' function when calling the attribute 'width'." />
+ <style type="text/css">
+ pre:before
+ {
+ content: attr(width);
+ color: green;
+ }
+ pre
+ {
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the number "10" appears in the box below.</p>
+ <pre width="10"></pre>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-156-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-156-ref.html
new file mode 100644
index 0000000000..1dab980f97
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-156-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid blue;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a quote (") in the blue box below.</p>
+ <div>"</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-156.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-156.xht
new file mode 100644
index 0000000000..26ff550a7a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-156.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with the value of 'open-quote'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-156-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles an 'open-quote' value." />
+ <style type="text/css">
+ div:lang(en)
+ {
+ quotes: '"' '"' "'" "'";
+ }
+ div:before
+ {
+ content: open-quote;
+ }
+ div
+ {
+ border: 2px solid blue;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a quote (") in the blue box below.</p>
+ <div lang="en"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-157.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-157.xht
new file mode 100644
index 0000000000..4ee73ab9db
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-157.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with the value of 'close-quote'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-156-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'close-quote' value." />
+ <style type="text/css">
+ div:lang(en)
+ {
+ quotes: '"' '"' "'" "'";
+ }
+ div:before
+ {
+ content: no-open-quote;
+ }
+ div:after
+ {
+ content: close-quote;
+ }
+ div
+ {
+ border: 2px solid blue;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a quote (") in the blue box below.</p>
+ <div lang="en"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-158-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-158-ref.html
new file mode 100644
index 0000000000..f54324da84
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-158-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid blue;
+ height: 30px;
+ }
+</style>
+<body>
+ <p>Test passes if there is a single quote (') in the blue box below.</p>
+ <div>'</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-158.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-158.xht
new file mode 100644
index 0000000000..1b4b21a38d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-158.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with the value of 'no-open-quote'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-158-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'no-open-quote' value." />
+ <style type="text/css">
+ div:lang(en)
+ {
+ quotes: '"' '"' "'" "'";
+ }
+ .noopen:before
+ {
+ content: no-open-quote;
+ }
+ #div2:before
+ {
+ content: open-quote;
+ }
+ #div1
+ {
+ border: 2px solid blue;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is a single quote (') in the blue box below.</p>
+ <div id="div1" class="noopen" lang="en">
+ <div id="div2" class="noopen"></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-159-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-159-ref.html
new file mode 100644
index 0000000000..bd17b1fe02
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-159-ref.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: 2px solid blue;
+ }
+</style>
+<body>
+ <p>Test passes if there are 3 quotes (" ' ") in the blue box.</p>
+ <div>" ' "</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-159.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-159.xht
new file mode 100644
index 0000000000..8a86f7aabf
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-159.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with the value of 'no-close-quote'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-159-ref.html" />
+ <meta name="assert" content="The 'content' property properly handles a 'no-close-quote' value." />
+ <style type="text/css">
+ div:lang(en)
+ {
+ quotes: '"' '"' "'" "'";
+ }
+ .spans:before
+ {
+ content: open-quote;
+ }
+ .spans:after
+ {
+ content: close-quote;
+ }
+ #span2:after
+ {
+ content: no-close-quote;
+ }
+ div
+ {
+ border: 2px solid blue;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are 3 quotes (" ' ") in the blue box.</p>
+ <div id="wrapper" lang="en">
+ <span id="span1" class="spans">
+ <span id="span2" class="spans"></span>
+ </span>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-160.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-160.xht
new file mode 100644
index 0000000000..adc29c8e68
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-160.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with the value of 'inherit'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The 'content' property correctly handles an 'inherit' value." />
+ <style type="text/css">
+ #div1
+ {
+ background: white;
+ color: blue;
+ content: "TEXT";
+ }
+ div:before
+ {
+ color: green;
+ content: inherit;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is nothing displayed below or the words "TEXT TEXT" are below, and the left "TEXT" is green and the right "TEXT' is blue.</p>
+ <div id="div1">
+ <div></div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-171-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-171-ref.xht
new file mode 100644
index 0000000000..1a758584b3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-171-ref.xht
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ div
+ {
+ background-color: green;
+ color: white;
+ font: 1em/1 monospace;
+ width: 15em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if "Line 1" and "Line 2" are white inside a green stripe.</p>
+
+ <div>Line 1</div>
+ <div>Line 2</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-171.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-171.xht
new file mode 100644
index 0000000000..05eba6a2b9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-171.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content: Simple \A</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/001.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-171-ref.xht" />
+
+ <style type="text/css">
+ div { font: 1em/1em monospace; background: red; color: yellow; height: 2em; width: 15em; }
+ div:before { content: 'Line 1\A Line 2'; white-space: pre; background: green; color: white; display: block; }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if "Line 1" and "Line 2" are white inside a green stripe.</p>
+ <div></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-172-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-172-ref.xht
new file mode 100644
index 0000000000..9168cc2de8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-172-ref.xht
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ td
+ {
+ border: black solid medium;
+ font: 1em/1 monospace;
+ }
+
+ tr.normal div {white-space: normal;}
+
+ tr.pre div {white-space: pre;}
+
+ tr.nowrap div {white-space: nowrap;}
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>The following two columns should be pixel-perfect identical (the
+ first two rows should just be rows of Xs, the last row should be
+ a step pattern):</p>
+
+ <table>
+ <thead>
+ <tr>
+ <th> Test </th>
+ <th> Control </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="normal">
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ </tr>
+ <tr class="nowrap">
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ </tr>
+ <tr class="pre">
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-172.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-172.xht
new file mode 100644
index 0000000000..c1fb7bf21b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-172.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content: \A and white-space</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/002.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-172-ref.xht" />
+
+ <style type="text/css">
+ /* Setup */
+ td { font: 1em/1em monospace; border: solid; }
+ .normal div { white-space: normal; }
+ .pre div { white-space: pre; }
+ .nowrap div { white-space: nowrap; }
+ :before, :after { white-space: inherit; /* this isn't a cascade test */ }
+
+ /* Test */
+ .test:before { content: 'XXX\A XXX\A '; }
+ .test:after { content: 'XXX'; }
+ </style>
+ </head>
+ <body>
+
+ <p>The following two columns should be pixel-perfect identical (the
+ first two rows should just be rows of Xs, the last row should be
+ a step pattern):</p>
+
+ <table>
+ <thead>
+ <tr>
+ <th> Test </th>
+ <th> Control </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="normal">
+ <td>
+<div class="test"></div>
+ </td>
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ </tr>
+ <tr class="nowrap">
+ <td>
+<div class="test"></div>
+ </td>
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ </tr>
+ <tr class="pre">
+ <td>
+<div class="test"></div>
+ </td>
+ <td>
+<div>XXX
+ XXX
+ XXX</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-173-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-173-ref.xht
new file mode 100644
index 0000000000..6810135e2b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-173-ref.xht
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ td
+ {
+ border: black solid medium;
+ font: 1em/1 monospace;
+ }
+
+ div {white-space: pre;}
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>The following two boxes should be perfectly <strong>identical</strong>,
+ <em>including</em> the blank lines and the margin between the edges
+ of the image and the border:</p>
+
+ <table>
+ <thead>
+ <tr>
+ <th> Test </th>
+ <th> Control </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="pre">
+ <td>
+<div>
+ ,
+ _/((
+ _.---. .' `\
+ .' ` ^ T=
+ / \ .--'
+ | / )'-.
+ ; , &lt;__..-( '-.) <!--significant white space at the end of this line-->
+ \ \-.__) ``--._)
+ jgs '.'-.__.-.
+ '-...-'
+ </div>
+ </td>
+ <td>
+<div>
+ ,
+ _/((
+ _.---. .' `\
+ .' ` ^ T=
+ / \ .--'
+ | / )'-.
+ ; , &lt;__..-( '-.) <!--significant white space at the end of this line-->
+ \ \-.__) ``--._)
+ jgs '.'-.__.-.
+ '-...-'
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The cats should also be <strong>aligned vertically</strong>
+ (i.e. be at the same height); if they are not, then the test
+ has not passed.</p>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-173.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-173.xht
new file mode 100644
index 0000000000..5a39c8a6e1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-173.xht
@@ -0,0 +1,73 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<!-- WARNING!
+ ! This file contains SIGNIFICANT trailing white space characters!
+ ! Edit with care!
+ !-->
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content: Nasty parsing and generated content test</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/003.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-173-ref.xht" />
+
+ <style type="text/css"><![CDATA[
+ td { font: 1em/1em monospace; border: solid; }
+ div { white-space: pre; }
+/*******************************************************************************/
+/* FOR THE LOVE OF ALL CATS, DO NOT CHANGE THE FOLLOWING LINES IN ANY WAY! */
+/*******************************************************************************/
+ .test:before { content: '\A ,\A _/((\A \
+ _.---. .\' `\\\A .\' '
+ ' ` ^ T=\A / \\ .--\'\A \
+ | / )\'-.\A '; }
+ .test:after { content: ' ; , <__..-( \'-.) \A \\ \\-.__) ``--._\
+)\A jgs \'.\'-.__.-.\A \20\020 \0020\00020\000020 \'-.' '.' '.-\'\A' '\A'; }
+/*******************************************************************************/
+
+ ]]></style>
+ </head>
+ <body>
+
+ <p>The following two boxes should be perfectly <strong>identical</strong>,
+ <em>including</em> the blank lines and the margin between the edges
+ of the image and the border:</p>
+
+ <table>
+ <thead>
+ <tr>
+ <th> Test </th>
+ <th> Control </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="pre">
+ <td>
+<div class="test"></div>
+ </td>
+ <td>
+<div>
+ ,
+ _/((
+ _.---. .' `\
+ .' ` ^ T=
+ / \ .--'
+ | / )'-.
+ ; , &lt;__..-( '-.) <!--significant white space at the end of this line-->
+ \ \-.__) ``--._)
+ jgs '.'-.__.-.
+ '-...-'
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The cats should also be <strong>aligned vertically</strong>
+ (i.e. be at the same height); if they are not, then the test
+ has not passed.</p>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-174-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-174-ref.xht
new file mode 100644
index 0000000000..4533dcfedc
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-174-ref.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ div
+ {
+ background-color: green;
+ color: white;
+ display: inline;
+ font: 1em/1 monospace;
+ vertical-align: top;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <div>Test passes if this sentence has a green background.</div>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-174.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-174.xht
new file mode 100644
index 0000000000..8aff716e4c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-174.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content: \A and white-space</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/004.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-174-ref.xht" />
+
+ <style type="text/css">
+ .red { background: red; width: 5em; font: 1em/1 monospace; height: 1em; }
+ .small { width: 1em; }
+ span:before { background: green; color: white; white-space: nowrap; content: 'Test\Apasses if this sentence has a green background.'; }
+ </style>
+ </head>
+ <body>
+ <div class="red">
+ <div class="small">
+ <span></span>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-175-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-175-ref.xht
new file mode 100644
index 0000000000..3679fd86d2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-175-ref.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ p {margin: 0px auto 2em;}
+
+ div
+ {
+ background-color: navy;
+ color: navy;
+ display: inline;
+ margin-left: 10em;
+ padding-right: 1em;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is only one single straight blue stripe.</p>
+
+ <div>This test has failed.&nbsp;&nbsp;&nbsp;</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-175.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-175.xht
new file mode 100644
index 0000000000..84e2b96d0e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-175.xht
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content: \A and white-space</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/005.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-175-ref.xht" />
+
+ <style type="text/css">
+ .test { width: 20em; padding: 2em 10em; }
+ .test div { display: inline; padding: 0 1em 0 0; background: navy; color: navy; }
+ .test div:after { content: ' \A'; white-space: pre; }
+ </style>
+ </head>
+ <body>
+ <div>Test passes if there is only one single straight blue stripe.</div>
+ <div class="test"><div>
+ This test has failed.
+ </div></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-177-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-177-ref.xht
new file mode 100644
index 0000000000..f43c543443
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-177-ref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ div
+ {
+ color: green;
+ font: 3em sans-serif;
+ }
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <p>Test passes if there is a jumble of green letters and symbols that makes no sense and if there is <strong>no red</strong>.</p>
+
+ <div>TEST &amp;#x46;&amp;#x41;&amp;#x49;&amp;#x4c;ED</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-177.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-177.xht
new file mode 100644
index 0000000000..66116d844d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-177.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content: Entities</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/007.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-177-ref.xht" />
+
+ <style type="text/css"><![CDATA[
+ div { position: relative; font: 3em sans-serif; color: red; }
+ span { position: absolute; top: 0; left: 0; }
+ .control { color: green; }
+ .test:before { content: 'TEST &#x46;&#x41;&#x49;&#x4c;'; }
+ ]]></style>
+ </head>
+ <body>
+ <p>Test passes if there is a jumble of green letters and symbols that makes no sense and if there is <strong>no red</strong>.</p>
+ <div><span class="test">ED</span><span class="control">TEST &amp;#x46;&amp;#x41;&amp;#x49;&amp;#x4c;ED</span></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-178.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-178.xht
new file mode 100644
index 0000000000..5ac03b9a4d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-178.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content and :hover</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact" />
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/dynamic/001.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="flags" content="interact"/>
+ <style type="text/css">
+ div:before { content: "Hover here."; display: block; background: navy; color: white; }
+ div:hover:before { content: "PASS"; background: green; }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the following navy block turns green and says PASS when you hover it:</p>
+ <div></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-applies-to-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-applies-to-001.xht
new file mode 100644
index 0000000000..5344676c08
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-applies-to-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property works only with :before and :after</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="Content property only works in conjunction with the :before and :after pseudo-elements." />
+ <style type="text/css">
+ div
+ {
+ content: "GENERATED";
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if only the words "Filler Text" or the word "GENERATED" appear below. If both "Filler Text" and "GENERATED" are present the test fails.</p>
+ <div>Filler Text</div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-attr-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-001.xht
new file mode 100644
index 0000000000..b40b5ba00b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property missing attr(x)</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../reference/ref-nothing-below.xht" />
+ <meta name="assert" content="If attribute (x) does not exist then an empty string is returned for the attr(x) value." />
+ <style type="text/css">
+ div:before
+ {
+ content: attr(title);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is nothing below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-attr-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-002.xht
new file mode 100644
index 0000000000..12a6f86faa
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-002.xht
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Generated Content from Attributes</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/content/attributes/001.html" type="text/html"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+
+ <style type="text/css">
+ html, body, head { margin: 0; padding: 0; display: block; }
+ head * { display: none; }
+ link, p { display: block; margin: 1em; }
+ link:before { content: 'The test has '; }
+ link:after { content: attr(media); }
+ </style>
+ <link rel="stylesheet" href="support/content-attr-002.css" media="passed."/>
+ </head>
+ <body>
+ <p>Test passes if there is a sentence above which says "The test has passed."</p>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-001.html b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-001.html
new file mode 100644
index 0000000000..2ba49f9558
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-001.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>CSS Test: Content property attr(x) case sensitivity</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/">
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content">
+ <link rel="match" href="../../reference/pass_if_pass_below.html" />
+ <meta name="flags" content="HTMLonly">
+ <meta name="assert" content="The attr(x) function selects the attribute even when case does not match.">
+ <style type="text/css">
+ div:before
+ {
+ content: attr(Title);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div title="PASS"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-002.xht
new file mode 100644
index 0000000000..d3126bafcd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-attr-case-002.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content attr(x) case sensitivity</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../reference/no-red-on-blank-page-ref.xht" />
+ <meta name="flags" content="nonHTML" />
+ <meta name="assert" content="Verify in XHTML that attr(x) does not select the attribute when the case does not match" />
+ <style type="text/css">
+ #test:before
+ {
+ background: red;
+ color: yellow;
+ content: attr(Title);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <div id="test" title="FAIL"></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001-ref.html
new file mode 100644
index 0000000000..3a2e1d7e2e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001-ref.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>Test passes if there is the number '0' below.</p>
+ <div>0</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001.xht
new file mode 100644
index 0000000000..1eec9768b5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-auto-reset-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property on out of scope counter</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-auto-reset-001-ref.html" />
+ <meta name="assert" content="If content refers to a counter that is not in scope, it is assumed that a counter-reset has occurred and the counter is reset to zero." />
+ <style type="text/css">
+ div:before
+ {
+ content: counter(outofscope);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the number '0' below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-000-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-000-ref.xht
new file mode 100644
index 0000000000..7b8deb8d9d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-000-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+</div>
+<div>
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-000.xht
new file mode 100644
index 0000000000..328ba64164
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-000.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-000-ref.xht"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-001.xht
new file mode 100644
index 0000000000..8f06e686e1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-001.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, none)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="about:blank"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, none) "z"; }
+
+ </style>
+ </head>
+ <body>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-002-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-002-ref.xht
new file mode 100644
index 0000000000..7c53335c75
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-002-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+div {
+ white-space: nowrap;
+}
+
+#test {
+ color: blue;
+}
+</style>
+</head>
+<body>
+<p>There should be a string of 12 blue filled circles below. (A string of
+12 black circles is provided on the second line for reference.):</p>
+<div id="test">
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+</div>
+<div>
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+&#x2022;
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-002.xht
new file mode 100644
index 0000000000..c5d1234626
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-002.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, disc)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-002-ref.xht"/>
+ <style type="text/css">
+
+ div { white-space: nowrap; }
+
+
+ #test { counter-reset: c; color: blue; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, disc); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>There should be a string of 12 blue filled circles below. (A string of
+ 12 black circles is provided on the second line for reference.):</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ &#x2022;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-003-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-003-ref.xht
new file mode 100644
index 0000000000..953494bb1b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-003-ref.xht
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+div {
+ white-space: nowrap;
+}
+
+#test {
+ color: blue;
+}
+</style>
+</head>
+<body>
+<p>There should be a string of 12 blue hollow circles below. (A string of
+12 black hollow circles is provided on the second line for reference.):</p>
+<div id="test">
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+</div>
+<div>
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+&#x25E6;
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-003.xht
new file mode 100644
index 0000000000..eb0f616c4b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-003.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, circle)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-003-ref.xht"/>
+ <style type="text/css">
+
+ div { white-space: nowrap; }
+
+
+ #test { counter-reset: c; color: blue; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, circle); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>There should be a string of 12 blue hollow circles below. (A string of
+ 12 black hollow circles is provided on the second line for reference.):</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ &#x25E6;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-004-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-004-ref.xht
new file mode 100644
index 0000000000..4c5eacd4dd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-004-ref.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+#test {
+ color: blue;
+}
+li { list-style-type: square; list-style-position: inside; }
+li::marker { font-family: inherit; }
+ib { }
+</style>
+</head>
+<body>
+<p>Test passes if there are 12 blue filled squares below.</p>
+<div id="test">
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-004.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-004.xht
new file mode 100644
index 0000000000..cda1a54811
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-004.xht
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, square)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-004-ref.xht"/>
+ <style type="text/css">
+
+ #test { counter-reset: c; color: blue; }
+ #test span { display: block; counter-increment: c; }
+ #test span:before { content: counter(c, square); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>Test passes if there are 12 blue filled squares below.</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-005.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-005.xht
new file mode 100644
index 0000000000..bcbbca1c06
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-005.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, decimal)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-000-ref.xht"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, decimal); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-006-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-006-ref.xht
new file mode 100644
index 0000000000..d80b3cec23
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-006-ref.xht
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+01
+02
+03
+04
+05
+06
+07
+08
+09
+10
+11
+12
+99
+100
+101
+</div>
+<div>
+01
+02
+03
+04
+05
+06
+07
+08
+09
+10
+11
+12
+99
+100
+101
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-006.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-006.xht
new file mode 100644
index 0000000000..be91103910
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-006.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, decimal-leading-zero)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-006-ref.xht"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, decimal-leading-zero); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 98"></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 01
+ 02
+ 03
+ 04
+ 05
+ 06
+ 07
+ 08
+ 09
+ 10
+ 11
+ 12
+ 99
+ 100
+ 101
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-007-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-007-ref.xht
new file mode 100644
index 0000000000..9e39e6411e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-007-ref.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+i
+ii
+iii
+iv
+v
+vi
+vii
+viii
+ix
+x
+xi
+xii
+xlix
+l
+ccclxxxix
+cccxc
+mmmcdlxxxix
+mmmcdxc
+mmmcdxci
+</div>
+<div>
+i
+ii
+iii
+iv
+v
+vi
+vii
+viii
+ix
+x
+xi
+xii
+xlix
+l
+ccclxxxix
+cccxc
+mmmcdlxxxix
+mmmcdxc
+mmmcdxci
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-007.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-007.xht
new file mode 100644
index 0000000000..198f1f4e1c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-007.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, lower-roman)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-007-ref.xht"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, lower-roman); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 48"></span>
+ <span></span>
+ <span style="counter-reset: c 388"></span>
+ <span></span>
+ <span style="counter-reset: c 3488"></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ i
+ ii
+ iii
+ iv
+ v
+ vi
+ vii
+ viii
+ ix
+ x
+ xi
+ xii
+ xlix
+ l
+ ccclxxxix
+ cccxc
+ mmmcdlxxxix
+ mmmcdxc
+ mmmcdxci
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-008-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-008-ref.xht
new file mode 100644
index 0000000000..bb8c7fa667
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-008-ref.xht
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+I
+II
+III
+IV
+V
+VI
+VII
+VIII
+IX
+X
+XI
+XII
+XLIX
+L
+CCCLXXXIX
+CCCXC
+MMMCDLXXXIX
+MMMCDXC
+MMMCDXCI
+</div>
+<div>
+I
+II
+III
+IV
+V
+VI
+VII
+VIII
+IX
+X
+XI
+XII
+XLIX
+L
+CCCLXXXIX
+CCCXC
+MMMCDLXXXIX
+MMMCDXC
+MMMCDXCI
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-008.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-008.xht
new file mode 100644
index 0000000000..647978e9cd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-008.xht
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, upper-roman)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-008-ref.xht"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, upper-roman); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 48"></span>
+ <span></span>
+ <span style="counter-reset: c 388"></span>
+ <span></span>
+ <span style="counter-reset: c 3488"></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ I
+ II
+ III
+ IV
+ V
+ VI
+ VII
+ VIII
+ IX
+ X
+ XI
+ XII
+ XLIX
+ L
+ CCCLXXXIX
+ CCCXC
+ MMMCDLXXXIX
+ MMMCDXC
+ MMMCDXCI
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-009-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-009-ref.xht
new file mode 100644
index 0000000000..c3614b9c59
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-009-ref.xht
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+&#x10D0;
+&#x10D1;
+&#x10D2;
+&#x10D3;
+&#x10D4;
+&#x10D5;
+&#x10D6;
+&#x10F1;
+&#x10D7;
+&#x10D8;
+&#x10D8;&#x10D0;
+&#x10D8;&#x10D1;
+&#x10D9;
+&#x10DA;
+&#x10DB;
+&#x10DC;
+&#x10F2;
+&#x10DD;
+&#x10DE;
+&#x10DF;
+&#x10E0;
+&#x10E1;
+&#x10E2;
+&#x10F3;
+&#x10E4;
+&#x10E5;
+&#x10E6;
+&#x10E7;
+&#x10E8;
+&#x10E9;
+&#x10EA;
+&#x10EB;
+&#x10EC;
+&#x10ED;
+&#x10EE;
+&#x10F4;
+&#x10EF;
+&#x10F0;
+&#x10F5;
+&#x10F5;&#x10F0;&#x10E8;&#x10DF;&#x10D7;
+</div>
+<div>
+&#x10D0;
+&#x10D1;
+&#x10D2;
+&#x10D3;
+&#x10D4;
+&#x10D5;
+&#x10D6;
+&#x10F1;
+&#x10D7;
+&#x10D8;
+&#x10D8;&#x10D0;
+&#x10D8;&#x10D1;
+&#x10D9;
+&#x10DA;
+&#x10DB;
+&#x10DC;
+&#x10F2;
+&#x10DD;
+&#x10DE;
+&#x10DF;
+&#x10E0;
+&#x10E1;
+&#x10E2;
+&#x10F3;
+&#x10E4;
+&#x10E5;
+&#x10E6;
+&#x10E7;
+&#x10E8;
+&#x10E9;
+&#x10EA;
+&#x10EB;
+&#x10EC;
+&#x10ED;
+&#x10EE;
+&#x10F4;
+&#x10EF;
+&#x10F0;
+&#x10F5;
+&#x10F5;&#x10F0;&#x10E8;&#x10DF;&#x10D7;
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-009.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-009.xht
new file mode 100644
index 0000000000..f5ac6c2309
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-009.xht
@@ -0,0 +1,113 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, georgian)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-009-ref.xht"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, georgian); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 19"></span>
+ <span style="counter-reset: c 29"></span>
+ <span style="counter-reset: c 39"></span>
+ <span style="counter-reset: c 49"></span>
+ <span style="counter-reset: c 59"></span>
+ <span style="counter-reset: c 69"></span>
+ <span style="counter-reset: c 79"></span>
+ <span style="counter-reset: c 89"></span>
+ <span style="counter-reset: c 99"></span>
+ <span style="counter-reset: c 199"></span>
+ <span style="counter-reset: c 299"></span>
+ <span style="counter-reset: c 399"></span>
+ <span style="counter-reset: c 499"></span>
+ <span style="counter-reset: c 599"></span>
+ <span style="counter-reset: c 699"></span>
+ <span style="counter-reset: c 799"></span>
+ <span style="counter-reset: c 899"></span>
+ <span style="counter-reset: c 999"></span>
+ <span style="counter-reset: c 1999"></span>
+ <span style="counter-reset: c 2999"></span>
+ <span style="counter-reset: c 3999"></span>
+ <span style="counter-reset: c 4999"></span>
+ <span style="counter-reset: c 5999"></span>
+ <span style="counter-reset: c 6999"></span>
+ <span style="counter-reset: c 7999"></span>
+ <span style="counter-reset: c 8999"></span>
+ <span style="counter-reset: c 9999"></span>
+ <span style="counter-reset: c 19998"></span>
+ </div>
+
+ <div>
+ &#x10D0;
+ &#x10D1;
+ &#x10D2;
+ &#x10D3;
+ &#x10D4;
+ &#x10D5;
+ &#x10D6;
+ &#x10F1;
+ &#x10D7;
+ &#x10D8;
+ &#x10D8;&#x10D0;
+ &#x10D8;&#x10D1;
+ &#x10D9;
+ &#x10DA;
+ &#x10DB;
+ &#x10DC;
+ &#x10F2;
+ &#x10DD;
+ &#x10DE;
+ &#x10DF;
+ &#x10E0;
+ &#x10E1;
+ &#x10E2;
+ &#x10F3;
+ &#x10E4;
+ &#x10E5;
+ &#x10E6;
+ &#x10E7;
+ &#x10E8;
+ &#x10E9;
+ &#x10EA;
+ &#x10EB;
+ &#x10EC;
+ &#x10ED;
+ &#x10EE;
+ &#x10F4;
+ &#x10EF;
+ &#x10F0;
+ &#x10F5;
+ &#x10F5;&#x10F0;&#x10E8;&#x10DF;&#x10D7;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-010-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-010-ref.xht
new file mode 100644
index 0000000000..8ab0ea69a9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-010-ref.xht
@@ -0,0 +1,97 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+&#x531;
+&#x532;
+&#x533;
+&#x534;
+&#x535;
+&#x536;
+&#x537;
+&#x538;
+&#x539;
+&#x53A;
+&#x53A;&#x531;
+&#x53A;&#x532;
+&#x53B;
+&#x53C;
+&#x53D;
+&#x53E;
+&#x53F;
+&#x540;
+&#x541;
+&#x542;
+&#x543;
+&#x544;
+&#x545;
+&#x546;
+&#x547;
+&#x548;
+&#x549;
+&#x54A;
+&#x54B;
+&#x54C;
+&#x54D;
+&#x54E;
+&#x54F;
+&#x550;
+&#x551;
+&#x552;
+&#x553;
+&#x554;
+&#x554;&#x54B;&#x542;&#x539;
+</div>
+<div>
+&#x531;
+&#x532;
+&#x533;
+&#x534;
+&#x535;
+&#x536;
+&#x537;
+&#x538;
+&#x539;
+&#x53A;
+&#x53A;&#x531;
+&#x53A;&#x532;
+&#x53B;
+&#x53C;
+&#x53D;
+&#x53E;
+&#x53F;
+&#x540;
+&#x541;
+&#x542;
+&#x543;
+&#x544;
+&#x545;
+&#x546;
+&#x547;
+&#x548;
+&#x549;
+&#x54A;
+&#x54B;
+&#x54C;
+&#x54D;
+&#x54E;
+&#x54F;
+&#x550;
+&#x551;
+&#x552;
+&#x553;
+&#x554;
+&#x554;&#x54B;&#x542;&#x539;
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-010.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-010.xht
new file mode 100644
index 0000000000..05c1112f16
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-010.xht
@@ -0,0 +1,111 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, armenian)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-010-ref.xht"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, armenian); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 19"></span>
+ <span style="counter-reset: c 29"></span>
+ <span style="counter-reset: c 39"></span>
+ <span style="counter-reset: c 49"></span>
+ <span style="counter-reset: c 59"></span>
+ <span style="counter-reset: c 69"></span>
+ <span style="counter-reset: c 79"></span>
+ <span style="counter-reset: c 89"></span>
+ <span style="counter-reset: c 99"></span>
+ <span style="counter-reset: c 199"></span>
+ <span style="counter-reset: c 299"></span>
+ <span style="counter-reset: c 399"></span>
+ <span style="counter-reset: c 499"></span>
+ <span style="counter-reset: c 599"></span>
+ <span style="counter-reset: c 699"></span>
+ <span style="counter-reset: c 799"></span>
+ <span style="counter-reset: c 899"></span>
+ <span style="counter-reset: c 999"></span>
+ <span style="counter-reset: c 1999"></span>
+ <span style="counter-reset: c 2999"></span>
+ <span style="counter-reset: c 3999"></span>
+ <span style="counter-reset: c 4999"></span>
+ <span style="counter-reset: c 5999"></span>
+ <span style="counter-reset: c 6999"></span>
+ <span style="counter-reset: c 7999"></span>
+ <span style="counter-reset: c 8999"></span>
+ <span style="counter-reset: c 9998"></span>
+ </div>
+
+ <div>
+ &#x531;
+ &#x532;
+ &#x533;
+ &#x534;
+ &#x535;
+ &#x536;
+ &#x537;
+ &#x538;
+ &#x539;
+ &#x53A;
+ &#x53A;&#x531;
+ &#x53A;&#x532;
+ &#x53B;
+ &#x53C;
+ &#x53D;
+ &#x53E;
+ &#x53F;
+ &#x540;
+ &#x541;
+ &#x542;
+ &#x543;
+ &#x544;
+ &#x545;
+ &#x546;
+ &#x547;
+ &#x548;
+ &#x549;
+ &#x54A;
+ &#x54B;
+ &#x54C;
+ &#x54D;
+ &#x54E;
+ &#x54F;
+ &#x550;
+ &#x551;
+ &#x552;
+ &#x553;
+ &#x554;
+ &#x554;&#x54B;&#x542;&#x539;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-011-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-011-ref.xht
new file mode 100644
index 0000000000..8325d72d4e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-011-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+a
+b
+c
+d
+e
+f
+g
+h
+i
+j
+k
+l
+</div>
+<div>
+a
+b
+c
+d
+e
+f
+g
+h
+i
+j
+k
+l
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-011.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-011.xht
new file mode 100644
index 0000000000..a103f713b9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-011.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, lower-latin)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-011-ref.xht"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, lower-latin); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ a
+ b
+ c
+ d
+ e
+ f
+ g
+ h
+ i
+ j
+ k
+ l
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-012.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-012.xht
new file mode 100644
index 0000000000..a65cf76877
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-012.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, lower-alpha)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-011-ref.xht"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, lower-alpha); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ a
+ b
+ c
+ d
+ e
+ f
+ g
+ h
+ i
+ j
+ k
+ l
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-013-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-013-ref.xht
new file mode 100644
index 0000000000..a9a3c70126
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-013-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+A
+B
+C
+D
+E
+F
+G
+H
+I
+J
+K
+L
+</div>
+<div>
+A
+B
+C
+D
+E
+F
+G
+H
+I
+J
+K
+L
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-013.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-013.xht
new file mode 100644
index 0000000000..4db0b345b5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-013.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, upper-latin)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-013-ref.xht"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, upper-latin); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ A
+ B
+ C
+ D
+ E
+ F
+ G
+ H
+ I
+ J
+ K
+ L
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-014.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-014.xht
new file mode 100644
index 0000000000..86bed13945
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-014.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, upper-alpha)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-013-ref.xht"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, upper-alpha); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ A
+ B
+ C
+ D
+ E
+ F
+ G
+ H
+ I
+ J
+ K
+ L
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-015-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-015-ref.xht
new file mode 100644
index 0000000000..79bc5d5437
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-015-ref.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>CSS Reftest Reference</title>
+<link rel="author" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
+<style type="text/css">
+body {
+ white-space: nowrap;
+}
+</style>
+</head>
+<body>
+<p>The following two lines should look the same:</p>
+<div>
+&#x3B1;
+&#x3B2;
+&#x3B3;
+&#x3B4;
+&#x3B5;
+&#x3B6;
+&#x3B7;
+&#x3B8;
+&#x3B9;
+&#x3BA;
+&#x3BB;
+&#x3BC;
+</div>
+<div>
+&#x3B1;
+&#x3B2;
+&#x3B3;
+&#x3B4;
+&#x3B5;
+&#x3B6;
+&#x3B7;
+&#x3B8;
+&#x3B9;
+&#x3BA;
+&#x3BB;
+&#x3BC;
+</div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-015.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-015.xht
new file mode 100644
index 0000000000..442e4ef636
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-015.xht
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter(c, lower-greek)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-015-ref.xht"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c; }
+ #test span { counter-increment: c; }
+ #test span:before { content: counter(c, lower-greek); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ &#x3B1;
+ &#x3B2;
+ &#x3B3;
+ &#x3B4;
+ &#x3B5;
+ &#x3B6;
+ &#x3B7;
+ &#x3B8;
+ &#x3B9;
+ &#x3BA;
+ &#x3BB;
+ &#x3BC;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counter-016.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-016.xht
new file mode 100644
index 0000000000..1449aa92cb
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counter-016.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counter() error cases</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <link rel="match" href="content-counter-000-ref.xht"/>
+ <meta name="flags" content="invalid"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test { counter-reset: c 0 f 1000; }
+ #test span { counter-increment: c; }
+ #test span:before {
+ content: counter(c);
+ content: counter(f, ".");
+ content: counter(f, ".", decimal);
+ content: counter(f, decimal, ".");
+ content: counter(f, decimal, decimal);
+ }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-000.xht
new file mode 100644
index 0000000000..2d93833b80
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-000.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".")</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, "."); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 1.1
+ 1.2
+ 1.3
+ 1.4
+ 1.5
+ 1.6
+ 1.7
+ 1.8
+ 1.9
+ 1.10
+ 1.11
+ 1.12
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-001.xht
new file mode 100644
index 0000000000..80a5f883cd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-001.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", none)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", none) "z"; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look <em>approximately</em> the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ .z
+ .z
+ .z
+ .z
+ .z
+ .z
+ .z
+ .z
+ .z
+ .z
+ .z
+ .z
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-002.xht
new file mode 100644
index 0000000000..7effad4dc2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-002.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", disc)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", disc); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look <em>approximately</em> the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ &#x2022;.&#x2022;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-003.xht
new file mode 100644
index 0000000000..7bc6fa0f1b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-003.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", circle)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", circle); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look <em>approximately</em> the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ &#x25E6;.&#x25E6;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-004.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-004.xht
new file mode 100644
index 0000000000..452f34cf3a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-004.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", square)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", square); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>Test passes if below there are 6 groups of: filled in box, period, filled in box.</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-005.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-005.xht
new file mode 100644
index 0000000000..e993b9ed1f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-005.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", decimal)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", decimal); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 1.1
+ 1.2
+ 1.3
+ 1.4
+ 1.5
+ 1.6
+ 1.7
+ 1.8
+ 1.9
+ 1.10
+ 1.11
+ 1.12
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-006.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-006.xht
new file mode 100644
index 0000000000..db259a510e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-006.xht
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", decimal-leading-zero)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test span:first-child { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", decimal-leading-zero); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 98"></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 01.01
+ 01.02
+ 01.03
+ 01.04
+ 01.05
+ 01.06
+ 01.07
+ 01.08
+ 01.09
+ 01.10
+ 01.11
+ 01.12
+ 01.99
+ 01.100
+ 01.101
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-007.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-007.xht
new file mode 100644
index 0000000000..38233d084e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-007.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", lower-roman)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test span:first-child { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", lower-roman); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 48"></span>
+ <span></span>
+ <span style="counter-reset: c 388"></span>
+ <span></span>
+ <span style="counter-reset: c 3488"></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ i.i
+ i.ii
+ i.iii
+ i.iv
+ i.v
+ i.vi
+ i.vii
+ i.viii
+ i.ix
+ i.x
+ i.xi
+ i.xii
+ i.xlix
+ i.l
+ i.ccclxxxix
+ i.cccxc
+ i.mmmcdlxxxix
+ i.mmmcdxc
+ i.mmmcdxci
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-008.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-008.xht
new file mode 100644
index 0000000000..85b7df60ec
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-008.xht
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", upper-roman)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test span:first-child { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", upper-roman); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 48"></span>
+ <span></span>
+ <span style="counter-reset: c 388"></span>
+ <span></span>
+ <span style="counter-reset: c 3488"></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ I.I
+ I.II
+ I.III
+ I.IV
+ I.V
+ I.VI
+ I.VII
+ I.VIII
+ I.IX
+ I.X
+ I.XI
+ I.XII
+ I.XLIX
+ I.L
+ I.CCCLXXXIX
+ I.CCCXC
+ I.MMMCDLXXXIX
+ I.MMMCDXC
+ I.MMMCDXCI
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-009.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-009.xht
new file mode 100644
index 0000000000..db8f141831
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-009.xht
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", georgian)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test span:first-child { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", georgian); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 19"></span>
+ <span style="counter-reset: c 29"></span>
+ <span style="counter-reset: c 39"></span>
+ <span style="counter-reset: c 49"></span>
+ <span style="counter-reset: c 59"></span>
+ <span style="counter-reset: c 69"></span>
+ <span style="counter-reset: c 79"></span>
+ <span style="counter-reset: c 89"></span>
+ <span style="counter-reset: c 99"></span>
+ <span style="counter-reset: c 199"></span>
+ <span style="counter-reset: c 299"></span>
+ <span style="counter-reset: c 399"></span>
+ <span style="counter-reset: c 499"></span>
+ <span style="counter-reset: c 599"></span>
+ <span style="counter-reset: c 699"></span>
+ <span style="counter-reset: c 799"></span>
+ <span style="counter-reset: c 899"></span>
+ <span style="counter-reset: c 999"></span>
+ <span style="counter-reset: c 1999"></span>
+ <span style="counter-reset: c 2999"></span>
+ <span style="counter-reset: c 3999"></span>
+ <span style="counter-reset: c 4999"></span>
+ <span style="counter-reset: c 5999"></span>
+ <span style="counter-reset: c 6999"></span>
+ <span style="counter-reset: c 7999"></span>
+ <span style="counter-reset: c 8999"></span>
+ <span style="counter-reset: c 9999"></span>
+ <span style="counter-reset: c 19998"></span>
+ </div>
+
+ <div>
+ &#x10D0;.&#x10D0;
+ &#x10D0;.&#x10D1;
+ &#x10D0;.&#x10D2;
+ &#x10D0;.&#x10D3;
+ &#x10D0;.&#x10D4;
+ &#x10D0;.&#x10D5;
+ &#x10D0;.&#x10D6;
+ &#x10D0;.&#x10F1;
+ &#x10D0;.&#x10D7;
+ &#x10D0;.&#x10D8;
+ &#x10D0;.&#x10D8;&#x10D0;
+ &#x10D0;.&#x10D8;&#x10D1;
+ &#x10D0;.&#x10D9;
+ &#x10D0;.&#x10DA;
+ &#x10D0;.&#x10DB;
+ &#x10D0;.&#x10DC;
+ &#x10D0;.&#x10F2;
+ &#x10D0;.&#x10DD;
+ &#x10D0;.&#x10DE;
+ &#x10D0;.&#x10DF;
+ &#x10D0;.&#x10E0;
+ &#x10D0;.&#x10E1;
+ &#x10D0;.&#x10E2;
+ &#x10D0;.&#x10F3;
+ &#x10D0;.&#x10E4;
+ &#x10D0;.&#x10E5;
+ &#x10D0;.&#x10E6;
+ &#x10D0;.&#x10E7;
+ &#x10D0;.&#x10E8;
+ &#x10D0;.&#x10E9;
+ &#x10D0;.&#x10EA;
+ &#x10D0;.&#x10EB;
+ &#x10D0;.&#x10EC;
+ &#x10D0;.&#x10ED;
+ &#x10D0;.&#x10EE;
+ &#x10D0;.&#x10F4;
+ &#x10D0;.&#x10EF;
+ &#x10D0;.&#x10F0;
+ &#x10D0;.&#x10F5;
+ &#x10D0;.&#x10F5;&#x10F0;&#x10E8;&#x10DF;&#x10D7;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-010.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-010.xht
new file mode 100644
index 0000000000..6780dbe7c9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-010.xht
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", armenian)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test span:first-child { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", armenian); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span style="counter-reset: c 19"></span>
+ <span style="counter-reset: c 29"></span>
+ <span style="counter-reset: c 39"></span>
+ <span style="counter-reset: c 49"></span>
+ <span style="counter-reset: c 59"></span>
+ <span style="counter-reset: c 69"></span>
+ <span style="counter-reset: c 79"></span>
+ <span style="counter-reset: c 89"></span>
+ <span style="counter-reset: c 99"></span>
+ <span style="counter-reset: c 199"></span>
+ <span style="counter-reset: c 299"></span>
+ <span style="counter-reset: c 399"></span>
+ <span style="counter-reset: c 499"></span>
+ <span style="counter-reset: c 599"></span>
+ <span style="counter-reset: c 699"></span>
+ <span style="counter-reset: c 799"></span>
+ <span style="counter-reset: c 899"></span>
+ <span style="counter-reset: c 999"></span>
+ <span style="counter-reset: c 1999"></span>
+ <span style="counter-reset: c 2999"></span>
+ <span style="counter-reset: c 3999"></span>
+ <span style="counter-reset: c 4999"></span>
+ <span style="counter-reset: c 5999"></span>
+ <span style="counter-reset: c 6999"></span>
+ <span style="counter-reset: c 7999"></span>
+ <span style="counter-reset: c 8999"></span>
+ <span style="counter-reset: c 9998"></span>
+ </div>
+
+ <div>
+ &#x531;.&#x531;
+ &#x531;.&#x532;
+ &#x531;.&#x533;
+ &#x531;.&#x534;
+ &#x531;.&#x535;
+ &#x531;.&#x536;
+ &#x531;.&#x537;
+ &#x531;.&#x538;
+ &#x531;.&#x539;
+ &#x531;.&#x53A;
+ &#x531;.&#x53A;&#x531;
+ &#x531;.&#x53A;&#x532;
+ &#x531;.&#x53B;
+ &#x531;.&#x53C;
+ &#x531;.&#x53D;
+ &#x531;.&#x53E;
+ &#x531;.&#x53F;
+ &#x531;.&#x540;
+ &#x531;.&#x541;
+ &#x531;.&#x542;
+ &#x531;.&#x543;
+ &#x531;.&#x544;
+ &#x531;.&#x545;
+ &#x531;.&#x546;
+ &#x531;.&#x547;
+ &#x531;.&#x548;
+ &#x531;.&#x549;
+ &#x531;.&#x54A;
+ &#x531;.&#x54B;
+ &#x531;.&#x54C;
+ &#x531;.&#x54D;
+ &#x531;.&#x54E;
+ &#x531;.&#x54F;
+ &#x531;.&#x550;
+ &#x531;.&#x551;
+ &#x531;.&#x552;
+ &#x531;.&#x553;
+ &#x531;.&#x554;
+ &#x531;.&#x554;&#x54B;&#x542;&#x539;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-011.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-011.xht
new file mode 100644
index 0000000000..c0955c1267
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-011.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", lower-latin)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", lower-latin); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ a.a
+ a.b
+ a.c
+ a.d
+ a.e
+ a.f
+ a.g
+ a.h
+ a.i
+ a.j
+ a.k
+ a.l
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-012.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-012.xht
new file mode 100644
index 0000000000..b837735e9d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-012.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", lower-alpha)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", lower-alpha); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ a.a
+ a.b
+ a.c
+ a.d
+ a.e
+ a.f
+ a.g
+ a.h
+ a.i
+ a.j
+ a.k
+ a.l
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-013.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-013.xht
new file mode 100644
index 0000000000..94e7139428
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-013.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", upper-latin)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", upper-latin); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ A.A
+ A.B
+ A.C
+ A.D
+ A.E
+ A.F
+ A.G
+ A.H
+ A.I
+ A.J
+ A.K
+ A.L
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-014.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-014.xht
new file mode 100644
index 0000000000..938c1ba6c8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-014.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", upper-alpha)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", upper-alpha); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ A.A
+ A.B
+ A.C
+ A.D
+ A.E
+ A.F
+ A.G
+ A.H
+ A.I
+ A.J
+ A.K
+ A.L
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-015.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-015.xht
new file mode 100644
index 0000000000..515c0a4c02
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-015.xht
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters(c, ".", lower-greek)</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+ #test span:before { content: counters(c, ".", lower-greek); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ &#x3B1;.&#x3B1;
+ &#x3B1;.&#x3B2;
+ &#x3B1;.&#x3B3;
+ &#x3B1;.&#x3B4;
+ &#x3B1;.&#x3B5;
+ &#x3B1;.&#x3B6;
+ &#x3B1;.&#x3B7;
+ &#x3B1;.&#x3B8;
+ &#x3B1;.&#x3B9;
+ &#x3B1;.&#x3BA;
+ &#x3B1;.&#x3BB;
+ &#x3B1;.&#x3BC;
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-016.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-016.xht
new file mode 100644
index 0000000000..198ad99195
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-016.xht
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters() string argument</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ p, #test span { counter-increment: c; }
+
+ span#one:before { content: counters(c, ".") " - "; }
+ span#two:before { content: counters(c, "") " - "; }
+ span#three:before { content: counters(c, ".", decimal) "-- --" counters(c, "-------", decimal); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test"><span id="one"></span><span id="two"></span><span id="three"></span></div>
+
+ <div>1.1 - 12 - 1.3-- --1-------3</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-017.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-017.xht
new file mode 100644
index 0000000000..1408079007
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-017.xht
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters() string argument</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c; }
+ div, :before, :after { white-space: pre; }
+ p, #test span { counter-increment: c; }
+
+ span#one:before { content: counters(c, ".") " - "; }
+ span#two:before { content: counters(c, "") " - "; }
+ span#three:before { content: counters(c, ".", decimal) "-- --" counters(c, "-------", decimal); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test"><span id="one"></span><span id="two"></span><span id="three"></span></div>
+
+ <div>1.1 - 12 - 1.3-- --1-------3</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-counters-018.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-018.xht
new file mode 100644
index 0000000000..24d57da9ef
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-counters-018.xht
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: content: counters() error cases</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counter-styles"/>
+ <meta name="flags" content="invalid"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body, #test { counter-reset: c 0 f 1000; }
+ p, #test span { counter-increment: c; }
+ #test span:before {
+ content: counters(c, ".");
+ content: counters(f);
+ content: counters(f, decimal);
+ content: counters(f, decimal, ".");
+ content: counters(f, ".", decimal, decimal);
+ content: counters(f, ".", decimal, ".");
+ }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should look the same:</p>
+
+ <div id="test">
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ <span></span>
+ </div>
+
+ <div>
+ 1.1
+ 1.2
+ 1.3
+ 1.4
+ 1.5
+ 1.6
+ 1.7
+ 1.8
+ 1.9
+ 1.10
+ 1.11
+ 1.12
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-001.xht
new file mode 100644
index 0000000000..24a806a38a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-001.xht
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: CSS inheritance: content</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/inheritance/content/001.xml" type="application/xhtml+xml"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <style type="text/css">
+ body { content: 'PASSED'; }
+ .test { content: inherit; }
+ .test:after { content: inherit; color: green; }
+ </style>
+ </head>
+ <body>
+ <span class="test">
+ This test has:
+ </span>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002-ref.xht
new file mode 100644
index 0000000000..855af55406
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002-ref.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+ <head>
+
+ <title>CSS Reftest Reference</title>
+
+ <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+
+ <style type="text/css"><![CDATA[
+ span#control {color: black;}
+
+ span {color: green;}
+ ]]></style>
+
+ </head>
+
+ <body>
+
+ <table><tr><td>(Control: <span id="control">PASSED)</span></td></tr></table>
+
+ <table><tr><td>Test 1 has: <span>PASSED</span></td></tr></table>
+
+ <table><tr><td>Test 2 has: <span>PASSED</span></td></tr></table>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002.xht
new file mode 100644
index 0000000000..1080ab19c4
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-inherit-002.xht
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: CSS inheritance: content with tables</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/inheritance/content/002.xml" type="application/xhtml+xml"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-inherit-002-ref.xht" />
+
+ <style type="text/css">
+ .control td:after { content: 'PASSED)'; }
+ .test1 td { content: 'PASSED'; }
+ .test1 td:after { content: inherit; color: green; }
+ .test2 tr { content: 'PASSED'; }
+ .test2 td { content: inherit; }
+ .test2 td:after { content: inherit; color: green; }
+ </style>
+ </head>
+ <body>
+ <table class="control"><tr><td>(Control: </td></tr></table>
+ <table class="test1"><tr><td>Test 1 has: </td></tr></table>
+ <table class="test2"><tr><td>Test 2 has: </td></tr></table>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-newline-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-newline-001-ref.html
new file mode 100644
index 0000000000..22d77944e4
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-newline-001-ref.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ height: 100px;
+ width: 200px;
+ }
+</style>
+<body>
+ <p>Test passes if there are exactly two lines of text below.</p>
+ <div>This text<br />should be on two lines.</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-newline-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-newline-001.xht
new file mode 100644
index 0000000000..0aab447de7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-newline-001.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property \A creates newline</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-newline-001-ref.html" />
+ <meta name="assert" content="A '\A' creates a newline for strings in the content property." />
+ <style type="text/css">
+ div
+ {
+ height: 100px;
+ white-space: pre;
+ width: 200px;
+ }
+ div:before
+ {
+ content: "This text\Ashould be on two lines.";
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are exactly two lines of text below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-uri-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-uri-001.xht
new file mode 100644
index 0000000000..eb5f18927f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-uri-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property with missing image</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="flags" content="image" />
+ <meta name="assert" content="When the URI resource cannot be displayed the user agent needs to leave it out or display some indication that the resource cannot be displayed." />
+ <style type="text/css">
+ div:before
+ {
+ content: url('missingImage.png');
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is nothing displayed below or there is a missing image icon displayed.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001-ref.html
new file mode 100644
index 0000000000..cbc297ec13
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: solid green;
+ width: 25em;
+ }
+ #test {
+ border: solid blue;
+ }
+</style>
+<body>
+ <p>Test passes if the text in the green box and the blue box have the same spacing between words and the lines wrap at the same point.</p>
+ <div>This text<br />should be on two lines.</div>
+ <div id="test">This text<br />should be on two lines.</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001.xht
new file mode 100644
index 0000000000..d1236c47bc
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-001.xht
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property and white-space: pre-line</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-white-space-001-ref.html" />
+ <meta name="assert" content="'white-space: pre-line' applies to generated string content." />
+ <style type="text/css">
+ #reference, #test
+ {
+ width: 25em;
+ }
+ #reference
+ {
+ border: solid green;
+ }
+ #test
+ {
+ border: solid blue;
+ }
+ #test:before
+ {
+ content: "This text\A should be on two lines.";
+ white-space: pre-line;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the text in the green box and the blue box have the same spacing between words and the lines wrap at the same point.</p>
+ <div id="reference">This text<br />should be on two lines.</div>
+ <div id="test"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002-ref.html
new file mode 100644
index 0000000000..62b54e2d85
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: solid silver;
+ margin: 0.5em;
+ padding: 0.2em;
+ color: blue;
+ white-space: pre;
+ }
+</style>
+<body>
+ <p>Test passes if the contents of the two silver boxes are identical.</p>
+ <div>This text
+ should be on
+ four
+ lines.</div>
+ <div>This text
+ should be on
+ four
+ lines.</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002.xht
new file mode 100644
index 0000000000..f485c0bef2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-002.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property and white-space: pre</title>
+ <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-white-space-002-ref.html" />
+ <meta name="assert" content="'white-space: pre' applies to generated string content." />
+ <style type="text/css">
+ div {
+ border: solid silver;
+ margin: 0.5em;
+ padding: 0.2em;
+ color: blue;
+ }
+ #reference
+ {
+ white-space: pre;
+ }
+ #test:before
+ {
+ content: "This text\A should be on\A four\A lines.";
+ white-space: pre;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the contents of the two silver boxes are identical.</p>
+ <div id="reference">This text
+ should be on
+ four
+ lines.</div>
+ <div id="test"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003-ref.html
new file mode 100644
index 0000000000..283bd8186f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003-ref.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: solid silver;
+ margin: 0.5em;
+ padding: 0.2em;
+ color: blue;
+ }
+</style>
+<body>
+ <p>Test passes if the contents of the two silver boxes are identical.</p>
+ <div>This text should be on one line.</div>
+ <div>This text should be on one line.</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003.xht
new file mode 100644
index 0000000000..897aef3e61
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-003.xht
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property and white-space: nowrap</title>
+ <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-white-space-003-ref.html" />
+ <meta name="assert" content="'white-space: nowrap' applies to generated string content." />
+ <style type="text/css">
+ div.outer {
+ border: solid silver;
+ margin: 0.5em;
+ padding: 0.2em;
+ color: blue;
+ }
+ div div {
+ width: 4em;
+ }
+ #reference
+ {
+ white-space: nowrap;
+ }
+ #test:before
+ {
+ content: "This text\A should be on\A one\A line.";
+ white-space: nowrap;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the contents of the two silver boxes are identical.</p>
+ <div class="outer"> <div id="reference">This text should be on one line.</div></div>
+ <div class="outer"><div id="test"></div></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004-ref.html
new file mode 100644
index 0000000000..5c5fa20633
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<style>
+ div {
+ border: solid silver;
+ margin: 0.5em;
+ padding: 0.2em;
+ color: blue;
+ width: 10em;
+ }
+</style>
+<body>
+ <p>Test passes if the contents of the two silver boxes are identical.</p>
+ <div>This text should wrap normally.</div>
+ <div>This text should wrap normally.</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004.xht b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004.xht
new file mode 100644
index 0000000000..57eb58df43
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/content-white-space-004.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content property and white-space: nowrap</title>
+ <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact" />
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="content-white-space-004-ref.html" />
+ <meta name="assert" content="'white-space: normal' applies to generated string content." />
+ <style type="text/css">
+ div {
+ border: solid silver;
+ margin: 0.5em;
+ padding: 0.2em;
+ color: blue;
+ width: 10em;
+ }
+ #test:before
+ {
+ content: "This text\A should\A wrap\A normally.";
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the contents of the two silver boxes are identical.</p>
+ <div id="reference">This text should wrap normally.</div>
+ <div id="test"></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-000.xht
new file mode 100644
index 0000000000..e1bf95eaba
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-000.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: dynamic changes to 'counter-increment'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <meta name="flags" content="dom"/>
+ <meta http-equiv="Content-Script-Type" content="text/javascript"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test, .reset { counter-reset: c; }
+ .increment:before { content: counters(c, ".") "-"; }
+ .increment { counter-increment: c; }
+
+ </style>
+ <script type="text/javascript">
+
+ function run() {
+ var t = document.getElementById("test");
+ var s = document.createElement("span");
+ s.setAttribute("class", "increment");
+ s.appendChild(document.createTextNode("new-"));
+ t.insertBefore(s, t.childNodes.item(1));
+ }
+
+ </script>
+ </head>
+ <body onload="setTimeout('run()', 0)">
+
+ <p>The following two lines should be the same:</p>
+
+ <div id="test"><span class="increment"></span><span class="increment"></span><span class="increment"></span></div>
+
+ <div id="reference">1-2-new-3-4-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-001.xht
new file mode 100644
index 0000000000..2065a2d9af
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-001.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: dynamic changes to 'counter-increment'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <meta name="flags" content="dom"/>
+ <meta http-equiv="Content-Script-Type" content="text/javascript"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test, .reset { counter-reset: c; }
+ .increment:before { content: counters(c, ".") "-"; }
+ .increment { counter-increment: c; }
+
+ </style>
+ <script type="text/javascript">
+
+ function run() {
+ var t = document.getElementById("test");
+ t.removeChild(t.childNodes.item(1));
+ }
+
+ </script>
+ </head>
+ <body onload="setTimeout('run()', 0)">
+
+ <p>The following two lines should be the same:</p>
+
+ <div id="test"><span class="increment"></span><span class="increment">FAIL-</span><span class="increment"></span><span class="increment"></span></div>
+
+ <div id="reference">1-2-3-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-002.xht
new file mode 100644
index 0000000000..0d3bce1176
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counter-increment-002.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: dynamic changes to 'counter-increment'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <meta name="flags" content="dom"/>
+ <meta http-equiv="Content-Style-Type" content="text/css"/>
+ <meta http-equiv="Content-Script-Type" content="text/javascript"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test, .reset { counter-reset: c; }
+ .increment:before, .use:before { content: counters(c, ".") "-"; }
+ .increment { counter-increment: c; }
+
+ </style>
+ <script type="text/javascript">
+
+ function run() {
+ document.getElementById("one").removeAttribute("class");
+ document.getElementById("two").setAttribute("class", "increment");
+ document.getElementById("three").setAttribute("style", "counter-increment: c");
+ }
+
+ </script>
+ </head>
+ <body onload="setTimeout('run()', 0)">
+
+ <p>The following two lines should be the same:</p>
+
+ <div id="test"><span id="one" class="increment"></span><span><span class="reset"><span class="increment"></span><span id="two" class="increment"></span></span></span><span id="three" class="use"></span><span class="increment"></span></div>
+
+ <div id="reference">0.1-0.2-1-2-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-000.xht
new file mode 100644
index 0000000000..5ee028730e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-000.xht
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: dynamic changes to 'counter-increment'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <meta name="flags" content="dom"/>
+ <meta http-equiv="Content-Script-Type" content="text/javascript"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test, .reset { counter-reset: c; }
+ .increment:before { content: counters(c, ".") "-"; }
+ .increment { counter-increment: c; }
+
+ </style>
+ <script type="text/javascript">
+
+ function run() {
+ var t = document.getElementById("test");
+ var s = document.createElement("span");
+ s.setAttribute("class", "reset");
+ t.insertBefore(s, t.childNodes.item(1));
+ }
+
+ </script>
+ </head>
+ <body onload="setTimeout('run()', 0)">
+
+ <p>The following two lines should be the same:</p>
+
+ <div id="test"><span class="increment"></span><span class="increment"></span><span class="increment"></span></div>
+
+ <div id="reference">1-1.1-1.2-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-001.xht
new file mode 100644
index 0000000000..d5ee826659
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-001.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: dynamic changes to 'counter-increment'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <meta name="flags" content="dom"/>
+ <meta http-equiv="Content-Script-Type" content="text/javascript"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test, .reset { counter-reset: c; }
+ .increment:before { content: counters(c, ".") "-"; }
+ .increment { counter-increment: c; }
+
+ </style>
+ <script type="text/javascript">
+
+ function run() {
+ var t = document.getElementById("test");
+ t.removeChild(t.childNodes.item(1));
+ }
+
+ </script>
+ </head>
+ <body onload="setTimeout('run()', 0)">
+
+ <p>The following two lines should be the same:</p>
+
+ <div id="test"><span class="increment"></span><span class="reset"></span><span class="increment"></span><span class="increment"></span></div>
+
+ <div id="reference">1-2-3-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-002.xht
new file mode 100644
index 0000000000..cc1f9b1423
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counter-reset-002.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: dynamic changes to 'counter-increment'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <meta name="flags" content="dom"/>
+ <meta http-equiv="Content-Script-Type" content="text/javascript"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #test, .reset { counter-reset: c; }
+ .increment:before { content: counters(c, ".") "-"; }
+ .increment { counter-increment: c; }
+
+ </style>
+ <script type="text/javascript">
+
+ function run() {
+ document.getElementById("one").setAttribute("class", "reset");
+ document.getElementById("two").removeAttribute("class");
+ }
+
+ </script>
+ </head>
+ <body onload="setTimeout('run()', 0)">
+
+ <p>The following two lines should be the same:</p>
+
+ <div id="test"><span class="increment"></span><span><span id="one"><span class="increment"></span></span></span><span class="increment"></span><span><span id="two" class="reset"><span class="increment"></span></span></span><span class="increment"></span></div>
+
+ <div id="reference">1-1.1-2-3-4-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000-ref.html
new file mode 100644
index 0000000000..db63888d61
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>The following should be identical:</p>
+ <div>0</div>
+ <div>0</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000.xht
new file mode 100644
index 0000000000..a3c62481f6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-000.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter properties on 'content: none' pseudo-elements</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#undisplayed-counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="match" href="counters-hidden-000-ref.html" />
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ div { counter-reset: c }
+ #one:before { counter-increment: c }
+ #two:before { content: counter(c) }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div><span id="one"></span><span id="two"></span></div>
+ <div>0</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-001.xht
new file mode 100644
index 0000000000..b872609331
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter properties on 'display: none' elements</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#undisplayed-counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="match" href="counters-hidden-000-ref.html" />
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ div { counter-reset: c }
+ #one { display: none; counter-increment: c }
+ #two:before { content: counter(c) }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div><span id="one"></span><span id="two"></span></div>
+ <div>0</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002-ref.html
new file mode 100644
index 0000000000..ce3c9fc0c6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>The following should be identical:</p>
+ <div>1</div>
+ <div>1</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002.xht
new file mode 100644
index 0000000000..3253f3e7d9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-hidden-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter properties on 'visibility: hidden' elements</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#undisplayed-counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="match" href="counters-hidden-002-ref.html" />
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ div { counter-reset: c }
+ #one { visibility: hidden; counter-increment: c }
+ #two:before { content: counter(c) }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div><span id="one"></span><span id="two"></span></div>
+ <div>1</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000-ref.html
new file mode 100644
index 0000000000..09c607f67c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>The following should be identical:</p>
+ <div>12</div>
+ <div>12</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000.xht
new file mode 100644
index 0000000000..1c9bab5a7d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-000.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Multiple resets for same counter</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="match" href="counters-multi-000-ref.html" />
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #one:before { counter-reset: one 1; content: counter(one) }
+ #two:before { counter-reset: two 7 two 2; content: counter(two) }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div><span id="one"></span><span id="two"></span></div>
+ <div>12</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-001.xht
new file mode 100644
index 0000000000..a67d6ce14c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-multi-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Multiple increments and resets</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="match" href="counters-multi-000-ref.html" />
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ body { counter-reset: one 7 two -2; }
+ #one:before { counter-increment: one -6; content: counter(one) }
+ #two:before { counter-increment: dummy two 7 two two -4 silly 7; content: counter(two) }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div><span id="one"></span><span id="two"></span></div>
+ <div>12</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-order-000-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/counters-order-000-ref.html
new file mode 100644
index 0000000000..341484cf54
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-order-000-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>The following should be identical:</p>
+ <div>0 1 2 3 4 4 4 4 8 9 10 11 12 12 12 12</div>
+ <div>0 1 2 3 4 4 4 4 8 9 10 11 12 12 12 12</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-order-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-order-000.xht
new file mode 100644
index 0000000000..7fd5bb6b99
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-order-000.xht
@@ -0,0 +1,68 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Order of 'counter-reset', 'counter-increment', and counter use, including pseudo-elements</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="match" href="counters-order-000-ref.html" />
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ span.c span:before { content: counter(c); }
+ span.c { counter-reset: c 0; }
+ span.one { counter-reset: c 1; }
+ span.two { counter-increment: c 2; }
+ span.four:before { counter-reset: c 4; }
+ span.eight:before { counter-increment: c 8; }
+ span.c span:after { counter-increment: c 100; counter-reset: c 200; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div>
+ <span class="c"><span class=""></span></span>
+ <span class="c"><span class="one"></span></span>
+ <span class="c"><span class="two"></span></span>
+ <span class="c"><span class="two one"></span></span>
+ <span class="c"><span class="four"></span></span>
+ <span class="c"><span class="four one"></span></span>
+ <span class="c"><span class="four two"></span></span>
+ <span class="c"><span class="four two one"></span></span>
+ <span class="c"><span class="eight"></span></span>
+ <span class="c"><span class="eight one"></span></span>
+ <span class="c"><span class="eight two"></span></span>
+ <span class="c"><span class="eight two one"></span></span>
+ <span class="c"><span class="eight four"></span></span>
+ <span class="c"><span class="eight four one"></span></span>
+ <span class="c"><span class="eight four two"></span></span>
+ <span class="c"><span class="eight four two one"></span></span>
+ </div>
+
+ <div>
+ 0
+ 1
+ 2
+ 3
+ 4
+ 4
+ 4
+ 4
+ 8
+ 9
+ 10
+ 11
+ 12
+ 12
+ 12
+ 12
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-order-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-order-001.xht
new file mode 100644
index 0000000000..16048a5ed5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-order-001.xht
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Order of counters in out-of-flow content</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ ul { display: block; margin: 0; padding: 0; counter-reset: c; }
+ li { counter-increment: c; }
+ li, div { display: block; margin: 0; padding: 0;
+ width: 3em; border: thin solid; }
+ li:before, div:before { content: counter(c); }
+
+ #four { border: none; }
+ #four:before { content: none; }
+
+ #two { float: left; }
+ #three { position: relative; }
+ #four { position: relative; }
+ #four div { position: absolute; left: 8em; }
+ #six { position: absolute; top: 5em; left: 12em; }
+ #eight { position: fixed; top: 8em; left: 4em; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>You should see nine boxes below, each just containing a unique
+ multiple of eleven, from 11 to 99, and nothing else.</p>
+
+ <ul>
+ <li id="one">1</li>
+ <li id="two">2</li>
+ <li id="three">3</li>
+ <li id="four"><div>4</div></li>
+ <li id="five">5</li>
+ <li id="six">6</li>
+ <li id="seven">7</li>
+ <li id="eight">8</li>
+ <li id="nine">9</li>
+ </ul>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-root-000-ref.html b/testing/web-platform/tests/css/CSS2/generated-content/counters-root-000-ref.html
new file mode 100644
index 0000000000..ecf2645466
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-root-000-ref.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Reference</title>
+<body>
+ <p>The following should be identical:</p>
+ <div>4.8</div>
+ <div>4.8</div>
+</body>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-root-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-root-000.xht
new file mode 100644
index 0000000000..d588241d52
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-root-000.xht
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: counters on the root element</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <link rel="match" href="counters-root-000-ref.html" />
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+ html { counter-reset: c 0 c 4 c 0; counter-increment: c 1 c 3; }
+ html:before { content: " "; counter-reset: c 9999; counter-increment: c 9999; }
+ body { counter-reset: c 3; counter-increment: c 5; }
+
+ span.c:before { content: counters(c, "."); }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div>
+ <span class="c"></span>
+ </div>
+
+ <div>
+ 4.8
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-000.xht
new file mode 100644
index 0000000000..8e96aac432
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-000.xht
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter scope</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#scope"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ .scope { counter-reset: c 1; }
+ .scope:before, .scope:after { content: counter(c); }
+ .c:before { content: counter(c); }
+
+ .one:before { counter-reset: c 2; }
+ .two { counter-reset: c 3; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The next 2 lines should be identical:</p>
+
+ <div>
+ <span class="scope"><span class="one c"><span class="c"></span></span><span class="c"></span></span><span class="c"></span>
+ <span class="scope"><span class="two c"><span class="c"></span></span><span class="c"></span></span><span class="c"></span>
+ </div>
+
+ <div>
+ 122111
+ 133331
+ </div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-001.xht
new file mode 100644
index 0000000000..c13354bd19
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-001.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter scope and nesting on elements</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#scope"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ span:before { counter-increment: c 1; content: "B" counters(c,".") "-" }
+ span:after { counter-increment: c 1; content: "A" counters(c,".") "-" }
+
+ body, span#reset { counter-reset: c 0; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should be the same:</p>
+
+ <div><span><span><span id="reset"><span></span><span></span></span><span><span></span></span></span></span></div>
+ <div>B1-B2-B2.1-B2.2-A2.3-B2.4-A2.5-A2.6-B2.7-B2.8-A2.9-A2.10-A2.11-A3-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-002.xht
new file mode 100644
index 0000000000..5e419d4d7a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter scope and nesting on :before</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#scope"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ span:before { counter-increment: c 1; content: "B" counters(c,".") "-" }
+ span:after { counter-increment: c 1; content: "A" counters(c,".") "-" }
+
+ body, span#reset:before { counter-reset: c 0; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should be the same:</p>
+
+ <div><span><span id="reset"><span></span></span></span></div>
+ <div>B1-B1.1-B1.2-A1.3-A1.4-A2-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-003.xht
new file mode 100644
index 0000000000..7e514d3f75
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-003.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter scope and nesting on :after</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#scope"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ span:before { counter-increment: c 1; content: "B" counters(c,".") "-" }
+ span:after { counter-increment: c 1; content: "A" counters(c,".") "-" }
+
+ body, span#reset:after { counter-reset: c 0; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should be the same:</p>
+
+ <div><span><span id="reset"><span></span></span></span></div>
+ <div>B1-B2-B3-A4-A4.1-A5-</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-004.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-004.xht
new file mode 100644
index 0000000000..dd99bbbef7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-004.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Counter scope and nesting</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#scope"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ .reset { counter-reset: c; }
+ .rb:before { counter-reset: c; content: "R"; }
+ .use { counter-increment: c; }
+ .use:before { content: counters(c, ".") " "; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The next two lines should be the same:</p>
+
+ <div><span class="reset"></span><span class="use"></span><span class="reset"></span><span class="use"></span><span class="rb"><span class="use"></span><span class="reset"></span><span class="use"></span></span></div>
+ <div>1 1 R1.1 1.1</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-000.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-000.xht
new file mode 100644
index 0000000000..97de4ab6a5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-000.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Implied counter scopes with no 'counter-increment' or 'counter-reset'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ #one:before { content: counter(one) }
+ #two:before { content: counter(two) }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following should be identical:</p>
+
+ <div><span id="one"></span><span id="two"></span></div>
+ <div>00</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-001.xht
new file mode 100644
index 0000000000..c5d1be65c0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Implied counter scopes by counter use</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ .i { counter-increment: c 1; }
+ .r { counter-reset: c 0; }
+ .u:before { content: counters(c, ".") " "; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should be identical:</p>
+
+ <div><span class="u"></span><span class="r"><span class="i u"></span></span></div>
+
+ <div>0 1</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-002.xht
new file mode 100644
index 0000000000..8184ee995a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/counters-scope-implied-002.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Implied counter scopes by 'counter-increment'</title>
+ <link rel="author" title="L. David Baron" href="https://dbaron.org/"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#counters"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-content"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#counter"/>
+ <style type="text/css">
+
+ body { white-space: nowrap; }
+
+
+ .i { counter-increment: c 1; }
+ .ib:before { counter-increment: c 1; content: "B" }
+ .r { counter-reset: c 0; }
+ .u:before { content: counters(c, ".") " "; }
+
+ </style>
+ </head>
+ <body>
+
+ <p>The following two lines should be identical:</p>
+
+ <div><span class="ib"><span class="u"></span><span class="r"><span class="u"></span></span></span><span class="i"><span class="u"></span><span class="r"><span class="u"></span></span></span></div>
+
+ <div>B1 0 1 1.0</div>
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/multiple-content-values-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/multiple-content-values-001.xht
new file mode 100644
index 0000000000..09da15a315
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/multiple-content-values-001.xht
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Content with multiple content values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="When 'content' property values produce no visual effect or are invalid in the current context the other 'content' property values still apply." />
+ <style type="text/css">
+ div:before
+ {
+ content: no-open-quote "P" "A" "S" "S";
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/other-attribute-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/other-attribute-001.xht
new file mode 100644
index 0000000000..4aa2d1b7ac
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/other-attribute-001.xht
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Function 'attr()' referencing another elements attribute data</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <link rel="match" href="../reference/no-red-on-blank-page-ref.xht"/>
+ <meta name="assert" content="The 'attr()' function can only retrieve data from the same element that is called from." />
+ <style type="text/css">
+ span:before
+ {
+ color: red;
+ content: attr(class);
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is no red visible on the page.</p>
+ <p class="FAIL">
+ <span></span>
+ </p>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-001.xht
new file mode 100644
index 0000000000..66fbaee9bf
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-001.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with two values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying only one set of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote;
+ }
+ div:after
+ {
+ content: close-quote;
+ }
+ div
+ {
+ quotes: "A" "Z";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "AZ" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-002.xht
new file mode 100644
index 0000000000..1c52feb63c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-002.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with four values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="The 'quotes' property handles specifying two sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote;
+ }
+ div
+ {
+ quotes: "P" "S" "A" "S";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-003.xht
new file mode 100644
index 0000000000..0f4578f170
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-003.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with six values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="The 'quotes' property handles specifying three sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "P" "D" "A" "E" "S" "S";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASSED" appears in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-004.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-004.xht
new file mode 100644
index 0000000000..c98f59d05b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-004.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with eight values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying four sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "H" "B" "G" "C" "F" "D" "E";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGH" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-005.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-005.xht
new file mode 100644
index 0000000000..9e2452c3bd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-005.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with ten values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying five sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "J" "B" "I" "C" "H" "D" "G" "E" "F";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJ" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-006.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-006.xht
new file mode 100644
index 0000000000..d574c87a18
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-006.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with twelve values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying six sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "L" "B" "K" "C" "J" "D" "I" "E" "H" "F" "G";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKL" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-007.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-007.xht
new file mode 100644
index 0000000000..3ae5774ec1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-007.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with fourteen values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying seven sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "N" "B" "M" "C" "L" "D" "K" "E" "J" "F" "I" "G" "H";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKLMN" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-008.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-008.xht
new file mode 100644
index 0000000000..93b4134b87
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-008.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with sixteen values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying eight sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "P" "B" "O" "C" "N" "D" "M" "E" "L" "F" "K" "G" "J" "H" "I";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKLMNOP" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-009.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-009.xht
new file mode 100644
index 0000000000..348288f85e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-009.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with eighteen values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying nine sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "R" "B" "Q" "C" "P" "D" "O" "E" "N" "F" "M" "G" "L" "H" "K" "I" "J";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKLMNOPQR" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-010.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-010.xht
new file mode 100644
index 0000000000..df486f88cb
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-010.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with twenty values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying ten sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "T" "B" "S" "C" "R" "D" "Q" "E" "P" "F" "O" "G" "N" "H" "M" "I" "L" "J" "K";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKLMNOPQRST" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-011.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-011.xht
new file mode 100644
index 0000000000..d8cd4568fa
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-011.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with twenty-two values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying eleven sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "V" "B" "U" "C" "T" "D" "S" "E" "R" "F" "Q" "G" "P" "H" "O" "I" "N" "J" "M" "K" "L";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKLMNOPQRSTUV" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-012.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-012.xht
new file mode 100644
index 0000000000..d661f0fa2c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-012.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with twenty-four values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twelve sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "X" "B" "W" "C" "V" "D" "U" "E" "T" "F" "S" "G" "R" "H" "Q" "I" "P" "J" "O" "K" "N" "L" "M";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKLMNOPQRSTUVWX" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-013.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-013.xht
new file mode 100644
index 0000000000..b269515379
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-013.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with twenty-six values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying thirteen sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "Z" "B" "Y" "C" "X" "D" "W" "E" "V" "F" "U" "G" "T" "H" "S" "I" "R" "J" "Q" "K" "P" "L" "O" "M" "N";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the letters "ABCDEFGHIJKLMNOPQRSTUVWXYZ" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-014.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-014.xht
new file mode 100644
index 0000000000..a12c73fc73
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-014.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with twenty-eight values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying fourteen sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "2" "B" "1" "C" "Z" "D" "Y" "E" "X" "F" "W" "G" "V" "H" "U" "I" "T" "J" "S" "K" "R" "L" "Q" "M" "P" "N" "O";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ12" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-015.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-015.xht
new file mode 100644
index 0000000000..f4d9e68819
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-015.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with thirty values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying fifteen sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "4" "B" "3" "C" "2" "D" "1" "E" "Z" "F" "Y" "G" "X" "H" "W" "I" "V" "J" "U" "K" "T" "L" "S" "M" "R" "N" "Q" "O" "P";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-016.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-016.xht
new file mode 100644
index 0000000000..841a0f7391
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-016.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with thirty-two values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying sixteen sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "6" "B" "5" "C" "4" "D" "3" "E" "2" "F" "1" "G" "Z" "H" "Y" "I" "X" "J" "W" "K" "V" "L" "U" "M" "T" "N" "S" "O" "R" "P" "Q";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ123456" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-017.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-017.xht
new file mode 100644
index 0000000000..a88d51d50f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-017.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with thirty-four values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying seventeen sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "8" "B" "7" "C" "6" "D" "5" "E" "4" "F" "3" "G" "2" "H" "1" "I" "Z" "J" "Y" "K" "X" "L" "W" "M" "V" "N" "U" "O" "T" "P" "S" "Q" "R";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ12345678" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-018.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-018.xht
new file mode 100644
index 0000000000..30c6d13c10
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-018.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with thirty-six values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying eighteen sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "0" "B" "9" "C" "8" "D" "7" "E" "6" "F" "5" "G" "4" "H" "3" "I" "2" "J" "1" "K" "Z" "L" "Y" "M" "X" "N" "W" "O" "V" "P" "U" "Q" "T" "R" "S";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-019.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-019.xht
new file mode 100644
index 0000000000..f280240540
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-019.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with thirty-eight values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying nineteen sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "|" "B" "*" "C" "0" "D" "9" "E" "8" "F" "7" "G" "6" "H" "5" "I" "4" "J" "3" "K" "2" "L" "1" "M" "Z" "N" "Y" "O" "X" "P" "W" "Q" "V" "R" "U" "S" "T";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-020.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-020.xht
new file mode 100644
index 0000000000..0226d1f575
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-020.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with forty values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "b" "B" "a" "C" "|" "D" "*" "E" "0" "F" "9" "G" "8" "H" "7" "I" "6" "J" "5" "K" "4" "L" "3" "M" "2" "N" "1" "O" "Z" "P" "Y" "Q" "X" "R" "W" "S" "V" "T" "U";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|ab" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-021.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-021.xht
new file mode 100644
index 0000000000..e74357dfa1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-021.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with forty-two values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-one sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "d" "B" "c" "C" "b" "D" "a" "E" "|" "F" "*" "G" "0" "H" "9" "I" "8" "J" "7" "K" "6" "L" "5" "M" "4" "N" "3" "O" "2" "P" "1" "Q" "Z" "R" "Y" "S" "X" "T" "W" "U" "V";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcd" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-022.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-022.xht
new file mode 100644
index 0000000000..2e95fcda1b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-022.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with forty-four values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-two sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "f" "B" "e" "C" "d" "D" "c" "E" "b" "F" "a" "G" "|" "H" "*" "I" "0" "J" "9" "K" "8" "L" "7" "M" "6" "N" "5" "O" "4" "P" "3" "Q" "2" "R" "1" "S" "Z" "T" "Y" "U" "X" "V" "W";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdef" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-023.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-023.xht
new file mode 100644
index 0000000000..ea9a9078fb
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-023.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with forty-six values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-three sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "h" "B" "g" "C" "f" "D" "e" "E" "d" "F" "c" "G" "b" "H" "a" "I" "|" "J" "*" "K" "0" "L" "9" "M" "8" "N" "7" "O" "6" "P" "5" "Q" "4" "R" "3" "S" "2" "T" "1" "U" "Z" "V" "Y" "W" "X";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefgh" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-024.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-024.xht
new file mode 100644
index 0000000000..6a032b973b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-024.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with forty-eight values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-four sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "j" "B" "i" "C" "h" "D" "g" "E" "f" "F" "e" "G" "d" "H" "c" "I" "b" "J" "a" "K" "|" "L" "*" "M" "0" "N" "9" "O" "8" "P" "7" "Q" "6" "R" "5" "S" "4" "T" "3" "U" "2" "V" "1" "W" "Z" "X" "Y";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghij" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-025.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-025.xht
new file mode 100644
index 0000000000..0678338f6b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-025.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with fifty values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-five sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "l" "B" "k" "C" "j" "D" "i" "E" "h" "F" "g" "G" "f" "H" "e" "I" "d" "J" "c" "K" "b" "L" "a" "M" "|" "N" "*" "O" "0" "P" "9" "Q" "8" "R" "7" "S" "6" "T" "5" "U" "4" "V" "3" "W" "2" "X" "1" "Y" "Z";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijkl" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-026.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-026.xht
new file mode 100644
index 0000000000..00a86306db
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-026.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with fifty-two values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-six sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "n" "B" "m" "C" "l" "D" "k" "E" "j" "F" "i" "G" "h" "H" "g" "I" "f" "J" "e" "K" "d" "L" "c" "M" "b" "N" "a" "O" "|" "P" "*" "Q" "0" "R" "9" "S" "8" "T" "7" "U" "6" "V" "5" "W" "4" "X" "3" "Y" "2" "Z" "1";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijklmn" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-027.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-027.xht
new file mode 100644
index 0000000000..2a031ada50
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-027.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with fifty-four values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-seven sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "p" "B" "o" "C" "n" "D" "m" "E" "l" "F" "k" "G" "j" "H" "i" "I" "h" "J" "g" "K" "f" "L" "e" "M" "d" "N" "c" "O" "b" "P" "a" "Q" "|" "R" "*" "S" "0" "T" "9" "U" "8" "V" "7" "W" "6" "X" "5" "Y" "4" "Z" "3" "1" "2";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijklmnop" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-028.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-028.xht
new file mode 100644
index 0000000000..4df6b1bc18
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-028.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with fifty-six values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-eight sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "r" "B" "q" "C" "p" "D" "o" "E" "n" "F" "m" "G" "l" "H" "k" "I" "j" "J" "i" "K" "h" "L" "g" "M" "f" "N" "e" "O" "d" "P" "c" "Q" "b" "R" "a" "S" "|" "T" "*" "U" "0" "V" "9" "W" "8" "X" "7" "Y" "6" "Z" "5" "1" "4" "2" "3";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijklmnopqr" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-029.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-029.xht
new file mode 100644
index 0000000000..f1ca5c0c13
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-029.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with fifty-eight values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying twenty-nine sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "t" "B" "s" "C" "r" "D" "q" "E" "p" "F" "o" "G" "n" "H" "m" "I" "l" "J" "k" "K" "j" "L" "i" "M" "h" "N" "g" "O" "f" "P" "e" "Q" "d" "R" "c" "S" "b" "T" "a" "U" "|" "V" "*" "W" "0" "X" "9" "Y" "8" "Z" "7" "1" "6" "2" "5" "3" "4";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijklmnopqrst" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-030.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-030.xht
new file mode 100644
index 0000000000..8550e17a9f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-030.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with sixty values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying thirty sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "v" "B" "u" "C" "t" "D" "s" "E" "r" "F" "q" "G" "p" "H" "o" "I" "n" "J" "m" "K" "l" "L" "k" "M" "j" "N" "i" "O" "h" "P" "g" "Q" "f" "R" "e" "S" "d" "T" "c" "U" "b" "V" "a" "W" "|" "X" "*" "Y" "0" "Z" "9" "1" "8" "2" "7" "3" "6" "4" "5";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijklmnopqrstuv" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-031.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-031.xht
new file mode 100644
index 0000000000..94b43155f3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-031.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with sixty-two values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying thirty-one sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "x" "B" "w" "C" "v" "D" "u" "E" "t" "F" "s" "G" "r" "H" "q" "I" "p" "J" "o" "K" "n" "L" "m" "M" "l" "N" "k" "O" "j" "P" "i" "Q" "h" "R" "g" "S" "f" "T" "e" "U" "d" "V" "c" "W" "b" "X" "a" "Y" "|" "Z" "*" "1" "0" "2" "9" "3" "8" "4" "7" "5" "6";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijklmnopqrstuvwx" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-032.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-032.xht
new file mode 100644
index 0000000000..820f75964e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-032.xht
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with sixty-four values</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="Verify that quotes is supported when specifying thirty-two sets of quotes." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote close-quote;
+ }
+ div
+ {
+ quotes: "A" "z" "B" "y" "C" "x" "D" "w" "E" "v" "F" "u" "G" "t" "H" "s" "I" "r" "J" "q" "K" "p" "L" "o" "M" "n" "N" "m" "O" "l" "P" "k" "Q" "j" "R" "i" "S" "h" "T" "g" "U" "f" "V" "e" "W" "d" "X" "c" "Y" "b" "Z" "a" "1" "|" "2" "*" "3" "0" "4" "9" "5" "8" "6" "7";
+ border: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890*|abcdefghijklmnopqrstuvwxyz" appear, in the same order, in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-033.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-033.xht
new file mode 100644
index 0000000000..5b29b15fa0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-033.xht
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with a value of 'none'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="The 'quotes' property set to 'none' does not allow quotes to be generated." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote;
+ }
+ div:after
+ {
+ content: close-quote;
+ }
+ div
+ {
+ quotes: none;
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if box below is empty.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-034.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-034.xht
new file mode 100644
index 0000000000..d735ae27dd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-034.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes set to 'inherit'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="The quotes property set to 'inherit' correctly inherits the value from the patent element." />
+ <style type="text/css">
+ body
+ {
+ quotes: "P" "S" "A" "S";
+ }
+ div:before
+ {
+ content: open-quote open-quote;
+ }
+ div:after
+ {
+ content: close-quote close-quote;
+ }
+ body div
+ {
+ quotes: inherit;
+ }
+ div
+ {
+ quotes: "F" "L" "A" "I";
+ border: 2px solid black;
+ height: 30px;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the word "PASS" appears in the box below.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-035-ref.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-035-ref.xht
new file mode 100644
index 0000000000..6654646ee6
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-035-ref.xht
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Reftest Reference</title>
+ <link rel="author" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact"/>
+ <style type="text/css"><![CDATA[
+ .test { margin-left: 2em; }
+ ]]></style>
+ </head>
+ <body>
+ <div class="test">Isn't it wonderful to see CSS quotes work!!!</div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-035.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-035.xht
new file mode 100644
index 0000000000..eb0bf21563
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-035.xht
@@ -0,0 +1,84 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: CSS and Quotes: Counting Right (Slightly Simpler Version)</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/quotes/001.xml" type="application/xhtml+xml"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes" />
+ <link rel="match" href="quotes-035-ref.xht"/>
+ <meta name="flags" content="should"/>
+ <style type="text/css">
+ <![CDATA[
+ .party1 * { display: inline; }
+ .party1 .a { quotes: "Isn" "'"
+ "t" "FAIL!"
+ "FAIL!" " i"; }
+ .party1 .b { quotes: "" "FAIL!!"
+ " wonderful" "!!!"
+ " to " " work"
+ "see " " [FAIL to]"
+ "C" "quotes"
+ "S" " "; }
+ .party1 .c { quotes: none; }
+ .party1 .d { quotes: "FAIL!" "FAIL!"
+ "FAIL!" "FAIL!"
+ "" ""; }
+ .test { margin-left: 2em; }
+ .test .no-open:before { content: no-open-quote; }
+ .test .open:before { content: open-quote; }
+ .test .triple-open:before { content: open-quote open-quote open-quote; }
+ .test .no-close:after { content: no-close-quote; }
+ .test .triple-no-close:after { content: no-close-quote no-close-quote no-close-quote; }
+ .test .close:after { content: close-quote; }
+ .test .triple-close:after { content: close-quote close-quote close-quote; }
+ .test .no-close-open:before { content: no-close-quote open-quote; }
+
+ ]]>
+ </style>
+ </head>
+ <body>
+
+ <!-- this is the same as the 002.xml version except the <br> and <hr> nodes are <div>s. -->
+
+ <!-- Isn't it wonderful to see CSS quotes work!!!
+ --><div class="test c party1"><!-- c 0
+ --><div class="a open close"><!-- open a 1 isn
+ --></div><!-- close a 0 '
+ --><div class="a"><!-- a 0
+ --><div class="c open"><!-- open c 1
+ --><div class="a open"><!-- open a 2 t
+ --></div><!-- a 2
+ --></div><!-- c 2
+ --><div class="no-open close"><!-- a 3 [FAIL!]
+ --></div><!-- close a 2 i
+ --></div><!-- a 2
+ --><div class="no-close-open no-close a"><!-- a 2 [FAIL!] t
+ --></div><!-- close a 1
+ --><div class="d no-open no-close"><!-- open d 2 [FAIL!]
+ --><div class="open close"><!-- open d 3
+ --><div class="open close"><!-- open d 4
+ --></div><!-- close d 3
+ --></div><!-- close d 2
+ --></div><!-- close d 1 [FAIL!]
+ --><div class="b no-close"><!-- b 1
+ --><div class="triple-no-close"/><!-- close b 0 [FAIL!!]
+ --><div class="triple-open"/><!-- open x 3 b 3 "", "wonderful ", "to "
+ --><div class="triple-open"/><!-- open x 3 b 6 "see ", "C", "S"
+ --><div class="open close"><!-- open b 7 S
+ --><div class="close"><!-- b 7
+ --><div class="no-close"><!-- b 7
+ --><div class="close"><!-- b 7
+ --><div class="no-close"><!-- b 7
+ --><div class="close"><!-- b 7
+ --></div><!-- close b 6 " "
+ --></div><!-- close b 5 [" "]
+ --></div><!-- close b 4 quotes
+ --></div><!-- close b 3 [ FAIL to]
+ --></div><!-- close b 2 work
+ --></div><!-- close b 1 !!!
+ --></div><!-- close b 0 [FAIL!!]
+ --></div><!-- b 0
+ -->
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-035a.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-035a.xht
new file mode 100644
index 0000000000..fc87f5e0d7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-035a.xht
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: CSS and Quotes: Counting Right (Slightly Simpler Version)</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/quotes/001.xml" type="application/xhtml+xml"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes" />
+ <link rel="match" href="quotes-035-ref.xht"/>
+ <style type="text/css">
+ <![CDATA[
+ .party1 * { display: inline; }
+ .party1 .a { quotes: "Isn" "'"
+ "t" "FAIL!"
+ "FAIL!" " i"; }
+ .party1 .b { quotes: "" "FAIL!!"
+ " wonderful" "!!!"
+ " to " " work"
+ "see " " [FAIL to]"
+ "C" "quotes"
+ "S" " "
+ "S" " "; }
+ .party1 .c { quotes: none; }
+ .party1 .d { quotes: "FAIL!" "FAIL!"
+ "FAIL!" "FAIL!"
+ "" ""
+ "" ""; }
+ .test { margin-left: 2em; }
+ .test .no-open:before { content: no-open-quote; }
+ .test .open:before { content: open-quote; }
+ .test .triple-open:before { content: open-quote open-quote open-quote; }
+ .test .no-close:after { content: no-close-quote; }
+ .test .triple-no-close:after { content: no-close-quote no-close-quote no-close-quote; }
+ .test .close:after { content: close-quote; }
+ .test .triple-close:after { content: close-quote close-quote close-quote; }
+ .test .no-close-open:before { content: no-close-quote open-quote; }
+
+ ]]>
+ </style>
+ </head>
+ <body>
+
+ <!-- this is the same as the 002.xml version except the <br> and <hr> nodes are <div>s. -->
+
+ <!-- Isn't it wonderful to see CSS quotes work!!!
+ --><div class="test c party1"><!-- c 0
+ --><div class="a open close"><!-- open a 1 isn
+ --></div><!-- close a 0 '
+ --><div class="a"><!-- a 0
+ --><div class="c open"><!-- open c 1
+ --><div class="a open"><!-- open a 2 t
+ --></div><!-- a 2
+ --></div><!-- c 2
+ --><div class="no-open close"><!-- a 3 [FAIL!]
+ --></div><!-- close a 2 i
+ --></div><!-- a 2
+ --><div class="no-close-open no-close a"><!-- a 2 [FAIL!] t
+ --></div><!-- close a 1
+ --><div class="d no-open no-close"><!-- open d 2 [FAIL!]
+ --><div class="open close"><!-- open d 3
+ --><div class="open close"><!-- open d 4
+ --></div><!-- close d 3
+ --></div><!-- close d 2
+ --></div><!-- close d 1 [FAIL!]
+ --><div class="b no-close"><!-- b 1
+ --><div class="no-close"/><!-- close b 0 [FAIL!!]
+ --><div class="triple-open"/><!-- open x 3 b 3 "", "wonderful ", "to "
+ --><div class="triple-open"/><!-- open x 3 b 6 "see ", "C", "S"
+ --><div class="open close"><!-- open b 7 S
+ --><div class="close"><!-- b 7
+ --><div class="no-close"><!-- b 7
+ --><div class="close"><!-- b 7
+ --><div class="no-close"><!-- b 7
+ --><div class="close"><!-- b 7
+ --></div><!-- close b 6 " "
+ --></div><!-- close b 5 [" "]
+ --></div><!-- close b 4 quotes
+ --></div><!-- close b 3 [ FAIL to]
+ --></div><!-- close b 2 work
+ --></div><!-- close b 1 !!!
+ --></div><!-- close b 0 [FAIL!!]
+ --></div><!-- b 0
+ -->
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-036.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-036.xht
new file mode 100644
index 0000000000..f853ca2c69
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-036.xht
@@ -0,0 +1,88 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: CSS and Quotes: Counting Right (Evil Version)</title>
+ <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch"/>
+ <link rel="alternate" href="http://www.hixie.ch/tests/adhoc/css/quotes/002.xml" type="application/xhtml+xml"/>
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes" />
+ <link rel="match" href="quotes-035-ref.xht"/>
+ <meta name="flags" content="may"/>
+ <style type="text/css">
+ <![CDATA[
+ .party1 * { display: inline; }
+ .party1 .a { quotes: "Isn" "'"
+ "t" "FAIL!"
+ "FAIL!" " i"; }
+ .party1 .b { quotes: "" "FAIL!!"
+ " wonderful" "!!!"
+ " to " " work"
+ "see " " [FAIL to]"
+ "C" "quotes"
+ "S" " "; }
+ .party1 .c { quotes: none; }
+ .party1 .d { quotes: "FAIL!" "FAIL!"
+ "FAIL!" "FAIL!"
+ "" ""; }
+ .test { margin-left: 2em; }
+ .test .no-open:before { content: no-open-quote; }
+ .test .open:before { content: open-quote; }
+ .test .triple-open:before { content: open-quote open-quote open-quote; }
+ .test .no-close:after { content: no-close-quote; }
+ .test .triple-no-close:after { content: no-close-quote no-close-quote no-close-quote; }
+ .test .close:after { content: close-quote; }
+ .test .triple-close:after { content: close-quote close-quote close-quote; }
+ .test .no-close-open:before { content: no-close-quote open-quote; }
+
+ /* hr br */
+ .test hr, .test br { display: inline; margin: 0; padding: 0;
+ height: auto; width: auto; border: none; color: inherit;
+ background: transparent; }
+ .test br:before { content: "" }
+ .test br:after { content: "" }
+ ]]>
+ </style>
+ </head>
+ <body>
+
+ <!-- Isn't it wonderful to see CSS quotes work!!!
+ --><div class="test c party1"><!-- c 0
+ --><div class="a open close"><!-- open a 1 isn
+ --></div><!-- close a 0 '
+ --><div class="a"><!-- a 0
+ --><div class="c open"><!-- open c 1
+ --><div class="a open"><!-- open a 2 t
+ --></div><!-- a 2
+ --></div><!-- c 2
+ --><div class="no-open close"><!-- a 3 [FAIL!]
+ --></div><!-- close a 2 i
+ --></div><!-- a 2
+ --><div class="no-close-open no-close a"><!-- a 2 [FAIL!] t
+ --></div><!-- close a 1
+ --><div class="d no-open no-close"><!-- open d 2 [FAIL!]
+ --><div class="open close"><!-- open d 3
+ --><div class="open close"><!-- open d 4
+ --></div><!-- close d 3
+ --></div><!-- close d 2
+ --></div><!-- close d 1 [FAIL!]
+ --><div class="b no-close"><!-- b 1
+ --><br class="triple-no-close"/><!-- close b 0 [FAIL!!] <<< EVIL
+ --><hr class="triple-open"/><!-- open x 3 b 3 "", "wonderful ", "to " <<< EVIL
+ --><br class="triple-open"/><!-- open x 3 b 6 "see ", "C", "S" <<< EVIL
+ --><div class="open close"><!-- open b 7 S
+ --><div class="close"><!-- b 7
+ --><div class="no-close"><!-- b 7
+ --><div class="close"><!-- b 7
+ --><div class="no-close"><!-- b 7
+ --><div class="close"><!-- b 7
+ --></div><!-- close b 6 " "
+ --></div><!-- close b 5 [" "]
+ --></div><!-- close b 4 quotes
+ --></div><!-- close b 3 [ FAIL to]
+ --></div><!-- close b 2 work
+ --></div><!-- close b 1 !!!
+ --></div><!-- close b 0 [FAIL!!]
+ --></div><!-- b 0
+ -->
+
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-001.xht
new file mode 100644
index 0000000000..ac2ea1a1bd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-001.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-row-group'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'table-row-group'." />
+ <style type="text/css">
+ #test
+ {
+ display: table-row-group;
+ quotes: "P" "S" "A" "S";
+ }
+ #table
+ {
+ display: table;
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="test">
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-002.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-002.xht
new file mode 100644
index 0000000000..24cf5ecedd
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-002.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-header-group'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'table-header-group'." />
+ <style type="text/css">
+ #test
+ {
+ display: table-header-group;
+ quotes: "P" "S" "A" "S";
+ }
+ #table
+ {
+ display: table;
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="test">
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-003.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-003.xht
new file mode 100644
index 0000000000..6da6c51053
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-003.xht
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-footer-group'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'table-footer-group'." />
+ <style type="text/css">
+ #test
+ {
+ display: table-footer-group;
+ quotes: "P" "S" "A" "S";
+ }
+ #table
+ {
+ display: table;
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="test">
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-004.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-004.xht
new file mode 100644
index 0000000000..684910744c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-004.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-row'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'table-row'." />
+ <style type="text/css">
+ #table
+ {
+ display: table;
+ }
+ #row
+ {
+ display: table-row;
+ quotes: "P" "S" "A" "S";
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-005.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-005.xht
new file mode 100644
index 0000000000..28023af01b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-005.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-column-group'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="The 'quotes' property does not apply to elements with a 'display' set to 'table-column-group'." />
+ <style type="text/css">
+ #test
+ {
+ display: table-column-group;
+ quotes: "F" "L" "A" "I";
+ }
+ #table
+ {
+ display: table;
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are only quotes below.</p>
+ <div id="table">
+ <div id="test"></div>
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-006.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-006.xht
new file mode 100644
index 0000000000..6fff77054f
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-006.xht
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-column'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="The 'quotes' property does not apply to elements with a 'display' set to 'table-column'." />
+ <style type="text/css">
+ #test
+ {
+ display: table-column;
+ quotes: "F" "L" "A" "I";
+ }
+ #table
+ {
+ display: table;
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are only quotes below.</p>
+ <div id="table">
+ <div id="test"></div>
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-007.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-007.xht
new file mode 100644
index 0000000000..8591ed2f01
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-007.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-cell'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'table-cell'." />
+ <style type="text/css">
+ #table
+ {
+ display: table;
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ quotes: "P" "S" "A" "S";
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-008.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-008.xht
new file mode 100644
index 0000000000..3cad22af66
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-008.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'inline'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'inline'." />
+ <style type="text/css">
+ div
+ {
+ display: inline;
+ quotes: "P" "S" "A" "S";
+ }
+ div:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-009.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-009.xht
new file mode 100644
index 0000000000..f881d20e91
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-009.xht
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'block'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'block'." />
+ <style type="text/css">
+ span
+ {
+ display: block;
+ quotes: "P" "S" "A" "S";
+ }
+ span:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div>
+ <span></span>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-010.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-010.xht
new file mode 100644
index 0000000000..e4c1cd9782
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-010.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'list-item'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'list-item'." />
+ <style type="text/css">
+ div
+ {
+ display: list-item;
+ margin-left: 2em;
+ quotes: "P" "S" "A" "S";
+ }
+ div:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below and there is a marker bullet on the left-hand side of the word.</p>
+ <div></div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-012.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-012.xht
new file mode 100644
index 0000000000..beafc64267
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-012.xht
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'inline-block'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'inline-block'." />
+ <style type="text/css">
+ div
+ {
+ display: inline-block;
+ quotes: "P" "S" "A" "S";
+ }
+ div:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div></div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-013.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-013.xht
new file mode 100644
index 0000000000..9ff27c83a3
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-013.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'table'." />
+ <style type="text/css">
+ #table
+ {
+ display: table;
+ quotes: "P" "S" "A" "S";
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-014.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-014.xht
new file mode 100644
index 0000000000..75f19776d1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-014.xht
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'inline-table'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'inline-table'." />
+ <style type="text/css">
+ #table
+ {
+ display: inline-table;
+ quotes: "P" "S" "A" "S";
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ #cell:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-015.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-015.xht
new file mode 100644
index 0000000000..a0b5079762
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-applies-to-015.xht
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes applied to elements with 'display' set to 'table-caption'</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#propdef-quotes" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#quotes-specify" />
+ <link rel="match" href="../../reference/pass_if_pass_below.html"/>
+ <meta name="assert" content="The 'quotes' property applies to elements with a 'display' set to 'table-caption'." />
+ <style type="text/css">
+ #test
+ {
+ display: table-caption;
+ quotes: "P" "S" "A" "S";
+ }
+ #test:before
+ {
+ content: open-quote open-quote close-quote close-quote;
+ }
+ #table
+ {
+ display: inline-table;
+ }
+ #row
+ {
+ display: table-row;
+ }
+ #cell
+ {
+ display: table-cell;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there is the word "PASS" below.</p>
+ <div id="table">
+ <div id="test"></div>
+ <div id="row">
+ <div id="cell"></div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-negative-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-negative-001.xht
new file mode 100644
index 0000000000..b711b8b65a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-negative-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes with negative depth</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="When a 'close-quote' makes the depth negative then depth stays at 0. Insertion of a quote does not occur but the remainder of the content string is inserted." />
+ <style type="text/css">
+ div:before
+ {
+ content: "PASS" close-quote;
+ }
+ div
+ {
+ quotes: 'FAIL' 'FAIL' 'FAIL' 'FAIL';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if there are three instances of the word 'PASS' below. If there are any additional characters below this test fails.</p>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-page-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-page-001.xht
new file mode 100644
index 0000000000..d8f1906305
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-page-001.xht
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quotes not affected by page level quotes</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="The page content quotes do not affect the depth of generated quotes." />
+ <style type="text/css">
+ #test
+ {
+ border: solid blue;
+ quotes: '"' '"' "'" "'";
+ }
+ #test div:before
+ {
+ content: open-quote;
+ }
+ #test div:after
+ {
+ content: close-quote;
+ }
+ #reference
+ {
+ border: solid orange;
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes if the characters in the blue box exactly match the characters in the orange box.</p>
+ <div id="test">
+ "document level open quote
+ <div>first open generated quote
+ <div>second set of quotes</div>
+ close first generated quote</div>
+ document level close quote"
+ </div>
+ <div id="reference">
+ "document level open quote
+ <div>"first open generated quote
+ <div>'second set of quotes'</div>
+ close first generated quote"</div>
+ document level close quote"
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/quotes-repeat-001.xht b/testing/web-platform/tests/css/CSS2/generated-content/quotes-repeat-001.xht
new file mode 100644
index 0000000000..2c38c54f10
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/quotes-repeat-001.xht
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>CSS Test: Quote depth exceeded</title>
+ <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
+ <link rel="help" href="http://www.w3.org/TR/CSS21/generate.html#content" />
+ <meta name="assert" content="If the depth of the 'quotes' is more than the defined pairs then repeat the last set of pair." />
+ <style type="text/css">
+ div:before
+ {
+ content: open-quote;
+ }
+ div
+ {
+ quotes: 'PASS' 'FAIL' 'PASS' 'FAIL';
+ }
+ </style>
+ </head>
+ <body>
+ <p>Test passes is there are three instances of the word "PASS" below.</p>
+ <div>
+ <div>
+ <div></div>
+ </div>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-green.png b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-green.png
new file mode 100644
index 0000000000..b98ca0ba0a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-green.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-lime.png b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-lime.png
new file mode 100644
index 0000000000..cb397fb090
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-lime.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-maroon.png b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-maroon.png
new file mode 100644
index 0000000000..3f86b07219
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-maroon.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-navy.png b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-navy.png
new file mode 100644
index 0000000000..9b9a03955b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-navy.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-red.png b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-red.png
new file mode 100644
index 0000000000..6bd73ac101
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-red.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-white.png b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-white.png
new file mode 100644
index 0000000000..dd43faec54
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/1x1-white.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/60x60-gg-rr.png b/testing/web-platform/tests/css/CSS2/generated-content/support/60x60-gg-rr.png
new file mode 100644
index 0000000000..84f5b2a4f1
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/60x60-gg-rr.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/60x60-green.png b/testing/web-platform/tests/css/CSS2/generated-content/support/60x60-green.png
new file mode 100644
index 0000000000..b3c8cf3eb4
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/60x60-green.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/a-green.css b/testing/web-platform/tests/css/CSS2/generated-content/support/a-green.css
new file mode 100644
index 0000000000..b0dbb071d5
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/a-green.css
@@ -0,0 +1 @@
+.a { color: green; }
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/b-green.css b/testing/web-platform/tests/css/CSS2/generated-content/support/b-green.css
new file mode 100644
index 0000000000..a0473f5ca2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/b-green.css
@@ -0,0 +1 @@
+.b { color: green; } \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/blue15x15.png b/testing/web-platform/tests/css/CSS2/generated-content/support/blue15x15.png
new file mode 100644
index 0000000000..89de32fdb8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/blue15x15.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/c-red.css b/testing/web-platform/tests/css/CSS2/generated-content/support/c-red.css
new file mode 100644
index 0000000000..d4ba5c64e9
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/c-red.css
@@ -0,0 +1 @@
+.c { color: red; } \ No newline at end of file
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/cat.png b/testing/web-platform/tests/css/CSS2/generated-content/support/cat.png
new file mode 100644
index 0000000000..85dd732481
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/cat.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/content-attr-002.css b/testing/web-platform/tests/css/CSS2/generated-content/support/content-attr-002.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/content-attr-002.css
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/diamond.png b/testing/web-platform/tests/css/CSS2/generated-content/support/diamond.png
new file mode 100644
index 0000000000..51112efc7c
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/diamond.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/green15x15.png b/testing/web-platform/tests/css/CSS2/generated-content/support/green15x15.png
new file mode 100644
index 0000000000..51741584a0
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/green15x15.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rgr-grg.png b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rgr-grg.png
new file mode 100644
index 0000000000..9b88fbd811
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rgr-grg.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rrg-rgg.png b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rrg-rgg.png
new file mode 100644
index 0000000000..fcf4f3fd7d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-grg-rrg-rgg.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-rgr-grg-rgr.png b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-rgr-grg-rgr.png
new file mode 100644
index 0000000000..d454e3a630
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-rgr-grg-rgr.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-tr.png b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-tr.png
new file mode 100644
index 0000000000..8b4b25364e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/pattern-tr.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/ring.png b/testing/web-platform/tests/css/CSS2/generated-content/support/ring.png
new file mode 100644
index 0000000000..061bb94eba
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/ring.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/square-outline-32x32.png b/testing/web-platform/tests/css/CSS2/generated-content/support/square-outline-32x32.png
new file mode 100644
index 0000000000..917163f409
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/square-outline-32x32.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/square-purple.png b/testing/web-platform/tests/css/CSS2/generated-content/support/square-purple.png
new file mode 100644
index 0000000000..0f522d7872
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/square-purple.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/square-teal.png b/testing/web-platform/tests/css/CSS2/generated-content/support/square-teal.png
new file mode 100644
index 0000000000..e567f51b91
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/square-teal.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/square-white.png b/testing/web-platform/tests/css/CSS2/generated-content/support/square-white.png
new file mode 100644
index 0000000000..5853cbb238
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/square-white.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-blue.png b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-blue.png
new file mode 100644
index 0000000000..bf2759634d
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-blue.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-green.png b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-green.png
new file mode 100644
index 0000000000..0aa79b0c86
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-green.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-lime.png b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-lime.png
new file mode 100644
index 0000000000..55fd7fdaed
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-lime.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-orange.png b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-orange.png
new file mode 100644
index 0000000000..d3cd498b52
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-orange.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-red.png b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-red.png
new file mode 100644
index 0000000000..1caf25c992
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-red.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-white.png b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-white.png
new file mode 100644
index 0000000000..1a7d4323d7
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-white.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-yellow.png b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-yellow.png
new file mode 100644
index 0000000000..1591aa0e2e
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/swatch-yellow.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/test-bl.png b/testing/web-platform/tests/css/CSS2/generated-content/support/test-bl.png
new file mode 100644
index 0000000000..904e24e996
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/test-bl.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/test-br.png b/testing/web-platform/tests/css/CSS2/generated-content/support/test-br.png
new file mode 100644
index 0000000000..f413ff5c1a
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/test-br.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/test-outer.png b/testing/web-platform/tests/css/CSS2/generated-content/support/test-outer.png
new file mode 100644
index 0000000000..82eeace7fc
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/test-outer.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/test-tl.png b/testing/web-platform/tests/css/CSS2/generated-content/support/test-tl.png
new file mode 100644
index 0000000000..f6ac0ef7e8
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/test-tl.png
Binary files differ
diff --git a/testing/web-platform/tests/css/CSS2/generated-content/support/test-tr.png b/testing/web-platform/tests/css/CSS2/generated-content/support/test-tr.png
new file mode 100644
index 0000000000..59843ae54b
--- /dev/null
+++ b/testing/web-platform/tests/css/CSS2/generated-content/support/test-tr.png
Binary files differ