LeaVerou/css3test — pull request #35 by syoichi (2012-11-12 15:22:12+00:00)
Title: 4 Bugfixes & 4 Updates

About Bugfixes:
1. Fix bug that border-image test is incorrect
According to [CSS Backgrounds and Borders Module Level 3](http://www.w3.org/TR/css3-background/), border-image property's fourth value is border-image-outset property's value, not border-image-width property's value. border-image-outset property doesn't accept a percentage value.
>Name:	border-image
>Value: \<‘border-image-source’\> || \<‘border-image-slice’\> [ / \<‘border-image-width’\> | / \<‘border-image-width’\>? / __\<‘border-image-outset’\>__ ]? || \<‘border-image-repeat’\>

http://www.w3.org/TR/css3-background/#the-border-image
>Name:	border-image-outset
>Value:	[ \ | \ ]{1,4}

http://www.w3.org/TR/css3-background/#border-image-outset
2. Fix bug that Media Queries's "not" keyword test is incorrect
According to [Media Queries](http://www.w3.org/TR/css3-mediaqueries/), "not" keyword cannot be put in expression.
>media_query_list
> : S* [media_query [ ',' S* media_query ]* ]?
> ;
>media_query
> : [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
> | expression [ AND S* expression ]*
> ;
>media_type
> : IDENT
> ;
>expression
> : '(' S* media_feature S* [ ':' S* expr ]? ')' S*
> ;
>media_feature
> : IDENT
> ;

http://www.w3.org/TR/css3-mediaqueries/#syntax
3. Fix bug that cursor test is incorrect
According to [CSS Basic User Interface Module Level 3](http://dev.w3.org/csswg/css3-ui/), in case of image cursors, cursor property is two-value syntax, not one-value syntax.
>Name:	cursor
>Value: [ [\ [\ \]?,]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out ] ] | inherit

http://dev.w3.org/csswg/css3-ui/#cursor
4. Remove border-width from properties of Values and Units
According to [CSS Backgrounds and Borders Module Level 3](http://www.w3.org/TR/css3-background/) and [CSS Values and Units Module Level 3](http://dev.w3.org/csswg/css3-values/), border-width property doesn't accept a value containing the percentage, like __"calc(100%/3 - 2*1em - 2*1px)"__.
>\ = \ | thin | medium | thick

http://www.w3.org/TR/css3-background/#ltborder-widthgt

>If percentages are accepted in the context in which the expression is placed, a PERCENTAGE token has the type of the value that percentages are relative to; otherwise, a math expression containing percentages is invalid.

http://dev.w3.org/csswg/css3-values/#calc-type-checking

About Updates:
1. Update Text
I added support for [CSS Text Decoration Module Level 3](http://dev.w3.org/csswg/css-text-decor-3/).
According to [CSS Text Module Level 3](http://dev.w3.org/csswg/css3-text/), [CSS Text Decoration Module Level 3](http://dev.w3.org/csswg/css-text-decor-3/) is a spec separating from [CSS Text Module Level 3](http://dev.w3.org/csswg/css3-text/).
>Shifted text decoration chapter to a separate Text Decoration module

http://dev.w3.org/csswg/css3-text/#recent-changes
2. Update Text Decoration
According to [CSS Text Decoration Module Level 3](http://dev.w3.org/csswg/css-text-decor-3/)...
* text-decoration-skip: add "box-decoration"

>Name:	text-decoration-skip
>Value: none | [ objects || spaces || ink || edges || box-decoration ]

http://dev.w3.org/csswg/css-text-decor-3/#text-decoration-skip-property
* text-underline-position: change "below" to "under"

>Name:	text-underline-position
>Value: auto | alphabetic | [ under || [ left | right ] ]

http://dev.w3.org/csswg/css-text-decor-3/#text-underline-position-property
* text-emphasis-position: change "above" and "below" to "over" and "under"

>Name:	text-emphasis-position
>Value: [ over | under ] && [ right | left ]

http://dev.w3.org/csswg/css-text-decor-3/#text-emphasis-position-property
3. Update Fonts
According to [CSS Fonts Module Level 3](http://dev.w3.org/csswg/css3-fonts/)...
* font-variant-ligatures: add "contextual" and "no-contextual"

>Name:	font-variant-ligatures
>Value: normal | none | [ \ || \ || \ || \ ]
>\(snip\)
>\ = [ common-ligatures | no-common-ligatures ]
>\ = [ discretionary-ligatures | no-discretionary-ligatures ]
>\ = [ historical-ligatures | no-historical-ligatures ]
>\ = [ contextual | no-contextual ]

http://dev.w3.org/csswg/css3-fonts/#font-variant-ligatures-prop
* font-variant-alternates: remove "contextual" and "no-contextual"

>Name:	font-variant-alternates
>Value: normal | [ stylistic(\) || historical-forms || styleset(\#) || character-variant(\#) || swash(\) || ornaments(\) || annotation(\) ]

http://dev.w3.org/csswg/css3-fonts/#font-variant-alternates-prop
* font-variant: add "none"

>Name:	font-variant
>Value: normal | none | [ \ || \ || \ || \ || stylistic(\) || historical-forms || styleset(\#) || character-variant(\#) || swash(\) || ornaments(\) || annotation(\) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || \ || \ || \ || ordinal || slashed-zero || \ || \ || ruby ]

http://dev.w3.org/csswg/css3-fonts/#font-variant-prop
4. Update Writing Modes
According to [CSS Writing Modes Module Level 3](http://dev.w3.org/csswg/css3-writing-modes/)...
* unicode-bidi: add "isolate-override"

>Name:	unicode-bidi
>Value: normal | embed | isolate | bidi-override | isolate-override | plaintext

http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi
* text-orientation: change "mixed-right" to "mixed"

>Name:	text-orientation
>Value: mixed | upright | sideways-right | sideways-left | sideways | use-glyph-orientation

http://dev.w3.org/csswg/css3-writing-modes/#text-orientation
* text-combine-horizontal: remove "numeric 2", "digits 2", "alpha 2", "latin 2", "alphanumeric 2"

>Name:	text-combine-horizontal
>Value: none | all

http://dev.w3.org/csswg/css3-writing-modes/#text-combine-horizontal
* remove text-combine-mode

>Removed ‘text-combine-mode’ property.

http://dev.w3.org/csswg/css3-writing-modes/#recent-changes