From 32ed7d0984f0dd872b4aaac0ac12c18471f291a0 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 28 Jan 2012 20:25:01 +0000 Subject: Add support for parsing CSS3 Multi-column layout properties: + break-after + break-before + break-inside + column-count + column-fill + column-gap + column-rule-color + column-rule-style + column_rule-width + column_span + column_width TODO: Shorthand properties (columns, column-rule) TODO: Selection svn path=/trunk/libcss/; revision=13412 --- test/data/parse/properties.dat | 444 +++++++++++++++++++++++++++ test/data/parse2/INDEX | 3 +- test/data/parse2/multicol.dat | 665 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1111 insertions(+), 1 deletion(-) create mode 100644 test/data/parse2/multicol.dat (limited to 'test/data') diff --git a/test/data/parse/properties.dat b/test/data/parse/properties.dat index 29b5eb6..efe06ee 100644 --- a/test/data/parse/properties.dat +++ b/test/data/parse/properties.dat @@ -3818,3 +3818,447 @@ p:before { content: open-quote url('http://picodrive.acornarcade.com/') " : " at | 0x02000062 0xfffffc00 #reset +## +## 64 - break-after +## + +#data +* { break-after: auto; } +#errors +#expected +| 1 * +| 0x00000064 +#reset + +#data +* { break-after: always; } +#errors +#expected +| 1 * +| 0x00040064 +#reset + +#data +* { break-after: avoid; } +#errors +#expected +| 1 * +| 0x00080064 +#reset + +#data +* { break-after: left; } +#errors +#expected +| 1 * +| 0x000c0064 +#reset + +#data +* { break-after: right; } +#errors +#expected +| 1 * +| 0x00100064 +#reset + +#data +* { break-after: page; } +#errors +#expected +| 1 * +| 0x00140064 +#reset + +#data +* { break-after: column; } +#errors +#expected +| 1 * +| 0x00180064 +#reset + +#data +* { break-after: avoid-page; } +#errors +#expected +| 1 * +| 0x001c0064 +#reset + +#data +* { break-after: avoid-column; } +#errors +#expected +| 1 * +| 0x00200064 +#reset + +## +## 65 - break-before +## + +#data +* { break-before: auto; } +#errors +#expected +| 1 * +| 0x00000065 +#reset + +#data +* { break-before: always; } +#errors +#expected +| 1 * +| 0x00040065 +#reset + +#data +* { break-before: avoid; } +#errors +#expected +| 1 * +| 0x00080065 +#reset + +#data +* { break-before: left; } +#errors +#expected +| 1 * +| 0x000c0065 +#reset + +#data +* { break-before: right; } +#errors +#expected +| 1 * +| 0x00100065 +#reset + +#data +* { break-before: page; } +#errors +#expected +| 1 * +| 0x00140065 +#reset + +#data +* { break-before: column; } +#errors +#expected +| 1 * +| 0x00180065 +#reset + +#data +* { break-before: avoid-page; } +#errors +#expected +| 1 * +| 0x001c0065 +#reset + +#data +* { break-before: avoid-column; } +#errors +#expected +| 1 * +| 0x00200065 +#reset + +## +## 66 - break-inside +## + +#data +* { break-inside: auto; } +#errors +#expected +| 1 * +| 0x00000066 +#reset + +#data +* { break-inside: avoid; } +#errors +#expected +| 1 * +| 0x00040066 +#reset + +#data +* { break-inside: avoid-page; } +#errors +#expected +| 1 * +| 0x00080066 +#reset + +#data +* { break-inside: avoid-column; } +#errors +#expected +| 1 * +| 0x000c0066 +#reset + +## +## 67 - column-count +## + +#data +* { column-count: auto; } +#errors +#expected +| 1 * +| 0x00000067 +#reset + +#data +* { column-count: 2; } +#errors +#expected +| 1 * +| 0x02000067 0x00000800 +#reset + +## +## 68 - column-fill +## + +#data +* { column-fill: balance; } +#errors +#expected +| 1 * +| 0x00000068 +#reset + +#data +* { column-fill: auto; } +#errors +#expected +| 1 * +| 0x00040068 +#reset + +## +## 69 - column-gap +## + +#data +* { column-gap: normal; } +#errors +#expected +| 1 * +| 0x00000069 +#reset + +#data +* { column-gap: 0.1em; } +#errors +#expected +| 1 * +| 0x02000069 0x00000066 0x00000002 +#reset + +## +## 6a - column-rule-color +## + +#data +* { column-rule-color: #BBC; } +#errors +#expected +| 1 * +| 0x0200006a 0xffbbbbcc +#reset + +#data +* { column-rule-color: currentColor } +#errors +#expected +| 1 * +| 0x0004006a +#reset + +#data +* { column-rule-color: transparent } +#errors +#expected +| 1 * +| 0x0000006a +#reset + +## +## 6b - column-rule-style +## + +#data +* { column-rule-style: none; } +#errors +#expected +| 1 * +| 0x0000006b +#reset + +#data +* { column-rule-style: hidden; } +#errors +#expected +| 1 * +| 0x0004006b +#reset + +#data +* { column-rule-style: dotted; } +#errors +#expected +| 1 * +| 0x0008006b +#reset + +#data +* { column-rule-style: dashed; } +#errors +#expected +| 1 * +| 0x000c006b +#reset + +#data +* { column-rule-style: solid; } +#errors +#expected +| 1 * +| 0x0010006b +#reset + +#data +* { column-rule-style: double; } +#errors +#expected +| 1 * +| 0x0014006b +#reset + +#data +* { column-rule-style: groove; } +#errors +#expected +| 1 * +| 0x0018006b +#reset + +#data +* { column-rule-style: ridge; } +#errors +#expected +| 1 * +| 0x001c006b +#reset + +#data +* { column-rule-style: inset; } +#errors +#expected +| 1 * +| 0x0020006b +#reset + +#data +* { column-rule-style: outset; } +#errors +#expected +| 1 * +| 0x0024006b +#reset + +## +## 6c - column-rule-width +## + +#data +* { column-rule-width: thin; } +#errors +#expected +| 1 * +| 0x0000006c +#reset + +#data +* { column-rule-width: medium; } +#errors +#expected +| 1 * +| 0x0004006c +#reset + +#data +* { column-rule-width: thick; } +#errors +#expected +| 1 * +| 0x0008006c +#reset + +#data +* { column-rule-width: 3px; } +#errors +#expected +| 1 * +| 0x0200006c 0x00000c00 0x00000000 +#reset + +#data +* { column-rule-width: 0; } +#errors +#expected +| 1 * +| 0x0200006c 0x00000000 0x00000000 +#reset + +## +## 6d - column-span +## + +#data +* { column-span: none; } +#errors +#expected +| 1 * +| 0x0000006d +#reset + +#data +* { column-span: all; } +#errors +#expected +| 1 * +| 0x0004006d +#reset + +## +## 6e - column-width +## + +#data +* { column-width: auto; } +#errors +#expected +| 1 * +| 0x0000006e +#reset + +#data +* { column-width: 0.1em; } +#errors +#expected +| 1 * +| 0x0200006e 0x00000066 0x00000002 +#reset + diff --git a/test/data/parse2/INDEX b/test/data/parse2/INDEX index e51befb..651a87e 100644 --- a/test/data/parse2/INDEX +++ b/test/data/parse2/INDEX @@ -17,4 +17,5 @@ font.dat Font property tests list.dat List property tests margin.dat Margin property tests outline.dat Outline property tests -padding.dat Padding property tests \ No newline at end of file +padding.dat Padding property tests +multicol.dat Multi-column layout property tests \ No newline at end of file diff --git a/test/data/parse2/multicol.dat b/test/data/parse2/multicol.dat new file mode 100644 index 0000000..d9a7650 --- /dev/null +++ b/test/data/parse2/multicol.dat @@ -0,0 +1,665 @@ +#data +* { break-after: #fff inherit; } +#errors +#expected +| * +#reset + +#data +* { break-after: 10; } +#errors +#expected +| * +#reset + +#data +* { break-after: 10em !important; } +#errors +#expected +| * +#reset + +#data +* { break-after: column; } +#errors +#expected +| * +| break-after: column +#reset + +#data +* { break-after: page !important; } +#errors +#expected +| * +| break-after: page !important +#reset + +#data +* { break-after: inherit; } +#errors +#expected +| * +| break-after: inherit +#reset + +#data +* { break-after: normal; } +#errors +#expected +| * +#reset + +#data +* { break-before: #fff inherit; } +#errors +#expected +| * +#reset + +#data +* { break-before: 10; } +#errors +#expected +| * +#reset + +#data +* { break-before: 10em !important; } +#errors +#expected +| * +#reset + +#data +* { break-before: column; } +#errors +#expected +| * +| break-before: column +#reset + +#data +* { break-before: page !important; } +#errors +#expected +| * +| break-before: page !important +#reset + +#data +* { break-before: inherit; } +#errors +#expected +| * +| break-before: inherit +#reset + +#data +* { break-before: normal; } +#errors +#expected +| * +#reset + +#data +* { break-inside: #fff inherit; } +#errors +#expected +| * +#reset + +#data +* { break-inside: 10; } +#errors +#expected +| * +#reset + +#data +* { break-inside: 10em !important; } +#errors +#expected +| * +#reset + +#data +* { break-inside: avoid-column; } +#errors +#expected +| * +| break-inside: avoid-column +#reset + +#data +* { break-inside: avoid-page !important; } +#errors +#expected +| * +| break-inside: avoid-page !important +#reset + +#data +* { break-inside: page !important; } +#errors +#expected +| * +#reset + +#data +* { break-inside: inherit; } +#errors +#expected +| * +| break-inside: inherit +#reset + +#data +* { break-inside: normal; } +#errors +#expected +| * +#reset + + + + +#data +* { column-count: normal; } +#errors +#expected +| * +#reset + +#data +* { column-count: auto; } +#errors +#expected +| * +| column-count: auto +#reset + +#data +* { column-count: 3; } +#errors +#expected +| * +| column-count: 3 +#reset + +#data +* { column-count: 3px; } +#errors +#expected +| * +#reset + +#data +* { column-count: 2 3; } +#errors +#expected +| * +#reset + +#data +* { column-fill: 2; } +#errors +#expected +| * +#reset + +#data +* { column-fill: 2em; } +#errors +#expected +| * +#reset + +#data +* { column-fill: normal; } +#errors +#expected +| * +#reset + +#data +* { column-fill: balance; } +#errors +#expected +| * +| column-fill: balance +#reset + +#data +* { column-fill: auto; } +#errors +#expected +| * +| column-fill: auto +#reset + +#data +* { column-fill: inherit; } +#errors +#expected +| * +| column-fill: inherit +#reset + +#data +* { column-fill: inherit !important; } +#errors +#expected +| * +| column-fill: inherit !important +#reset + +#data +* { column-gap: 2; } +#errors +#expected +| * +#reset + +#data +* { column-gap: ; } +#errors +#expected +| * +#reset + +#data +* { column-gap: auto; } +#errors +#expected +| * +#reset + +#data +* { column-gap: normal; } +#errors +#expected +| * +| column-gap: normal +#reset + +#data +* { column-gap: 2em; } +#errors +#expected +| * +| column-gap: 2em +#reset + +#data +* { column-gap: inherit; } +#errors +#expected +| * +| column-gap: inherit +#reset + +#data +* { column-gap: inherit !important; } +#errors +#expected +| * +| column-gap: inherit !important +#reset + +#data +* { column-gap: !important; } +#errors +#expected +| * +#reset + + + +#data +* { column-rule-color: !important; } +#errors +#expected +| * +#reset + +#data +* { column-rule-color: red green; } +#errors +#expected +| * +#reset + +#data +* { column-rule-color: normal; } +#errors +#expected +| * +#reset + +#data +* { column-rule-color: auto; } +#errors +#expected +| * +#reset + +#data +* { column-rule-color: red; } +#errors +#expected +| * +| column-rule-color: #ffff0000 +#reset + +#data +* { column-rule-color: red !important; } +#errors +#expected +| * +| column-rule-color: #ffff0000 !important +#reset + +#data +* { column-rule-color: #BBC; } +#errors +#expected +| * +| column-rule-color: #ffbbbbcc +#reset + + + +#data +* { column-rule-style: !important; } +#errors +#expected +| * +#reset + +#data +* { column-rule-style: none auto; } +#errors +#expected +| * +#reset + +#data +* { column-rule-style: normal; } +#errors +#expected +| * +#reset + +#data +* { column-rule-style: solid 10px; } +#errors +#expected +| * +#reset + +#data +* { column-rule-style: 10px; } +#errors +#expected +| * +#reset + +#data +* { column-rule-style: dashed; } +#errors +#expected +| * +| column-rule-style: dashed +#reset + +#data +* { column-rule-style: groove; } +#errors +#expected +| * +| column-rule-style: groove +#reset + +#data +* { column-rule-style: none; } +#errors +#expected +| * +| column-rule-style: none +#reset + +#data +* { column-rule-style: dotted; } +#errors +#expected +| * +| column-rule-style: dotted +#reset + +#data +* { column-rule-style: outset; } +#errors +#expected +| * +| column-rule-style: outset +#reset + +#data +* { column-rule-style: solid !important; } +#errors +#expected +| * +| column-rule-style: solid !important +#reset + +#data +* { column-rule-style: inset; } +#errors +#expected +| * +| column-rule-style: inset +#reset + +#data +* { column-rule-style: inherit; } +#errors +#expected +| * +| column-rule-style: inherit +#reset + +#data +* { column-rule-style: hidden; } +#errors +#expected +| * +| column-rule-style: hidden +#reset + + + +#data +* { column-rule-width: !important; } +#errors +#expected +| * +#reset + +#data +* { column-rule-width: red green; } +#errors +#expected +| * +#reset + +#data +* { column-rule-width: normal; } +#errors +#expected +| * +#reset + +#data +* { column-rule-width: auto; } +#errors +#expected +| * +#reset + +#data +* { column-rule-width: thin; } +#errors +#expected +| * +| column-rule-width: thin +#reset + +#data +* { column-rule-width: medium !important; } +#errors +#expected +| * +| column-rule-width: medium !important +#reset + +#data +* { column-rule-width: 3px; } +#errors +#expected +| * +| column-rule-width: 3px +#reset + +#data +* { column-rule-width: 3px !important; } +#errors +#expected +| * +| column-rule-width: 3px !important +#reset + +#data +* { column-rule-width: inherit; } +#errors +#expected +| * +| column-rule-width: inherit +#reset + + + +#data +* { column-span: !important; } +#errors +#expected +| * +#reset + +#data +* { column-span: auto; } +#errors +#expected +| * +#reset + +#data +* { column-span: 4em; } +#errors +#expected +| * +#reset + +#data +* { column-span: 3; } +#errors +#expected +| * +#reset + +#data +* { column-span: 3 !important; } +#errors +#expected +| * +#reset + +#data +* { column-span: all; } +#errors +#expected +| * +| column-span: all +#reset + +#data +* { column-span: none; } +#errors +#expected +| * +| column-span: none +#reset + +#data +* { column-span: none !important; } +#errors +#expected +| * +| column-span: none !important +#reset + + + +#data +* { column-width: !important; } +#errors +#expected +| * +#reset + +#data +* { column-width: red green; } +#errors +#expected +| * +#reset + +#data +* { column-width: normal; } +#errors +#expected +| * +#reset + +#data +* { column-width: auto; } +#errors +#expected +| * +| column-width: auto +#reset + +#data +* { column-width: 30em; } +#errors +#expected +| * +| column-width: 30em +#reset + +#data +* { column-width: 30em !important; } +#errors +#expected +| * +| column-width: 30em !important +#reset + +#data +* { column-width: inherit; } +#errors +#expected +| * +| column-width: inherit +#reset + -- cgit v1.2.3