testPreserveComments

Input/* left /* right */left: 10px
Expect/* left /* right */right: 10px
Output/* left /* right */right: 10px
Resultpass


testPreserveComments

Input/*left*//*left*/left: 10px
Expect/*left*//*left*/right: 10px
Output/*left*//*left*/right: 10px
Resultpass


testPreserveComments

Input/* padding-right 1 2 3 4 */\n#test {left: 10px}\n/*right*/
Expect/* padding-right 1 2 3 4 */\n#test {right: 10px}\n/*right*/
Output/* padding-right 1 2 3 4 */\n#test {right: 10px}\n/*right*/
Resultpass


testPreserveComments

Input/** Two line comment\n * left\n \*/\n#test {left: 10px}
Expect/** Two line comment\n * left\n \*/\n#test {right: 10px}
Output/** Two line comment\n * left\n \*/\n#test {right: 10px}
Resultpass


testPositionAbsoluteOrRelativeValues

Inputleft: 10px
Expectright: 10px
Outputright: 10px
Resultpass


testFourNotation

Inputpadding: .25em 15px 0pt 0ex
Expectpadding: .25em 0ex 0pt 15px
Outputpadding: .25em 0ex 0pt 15px
Resultpass


testFourNotation

Inputmargin: 1px -4px 3px 2px
Expectmargin: 1px 2px 3px -4px
Outputmargin: 1px 2px 3px -4px
Resultpass


testFourNotation

Inputpadding:0 15px .25em 0
Expectpadding:0 0 .25em 15px
Outputpadding:0 0 .25em 15px
Resultpass


testFourNotation

Inputpadding: 1px 4.1grad 3px 2%
Expectpadding: 1px 2% 3px 4.1grad
Outputpadding: 1px 2% 3px 4.1grad
Resultpass


testFourNotation

Inputpadding: 1px 2px 3px auto
Expectpadding: 1px auto 3px 2px
Outputpadding: 1px auto 3px 2px
Resultpass


testFourNotation

Inputpadding: 1px inherit 3px auto
Expectpadding: 1px auto 3px inherit
Outputpadding: 1px auto 3px inherit
Resultpass


testFourNotation

Input#settings td p strong
Expect#settings td p strong
Output#settings td p strong
Resultpass


testThreeNotation

Inputmargin: 1em 0 .25em
Expectmargin: 1em 0 .25em
Outputmargin: 1em 0 .25em
Resultpass


testThreeNotation

Inputmargin:-1.5em 0 -.75em
Expectmargin:-1.5em 0 -.75em
Outputmargin:-1.5em 0 -.75em
Resultpass


testTwoNotation

Inputpadding: 1px 2px
Expectpadding: 1px 2px
Outputpadding: 1px 2px
Resultpass


testOneNotation

Inputpadding: 1px
Expectpadding: 1px
Outputpadding: 1px
Resultpass


testDirection

Inputdirection: ltr
Expectdirection: ltr
Outputdirection: ltr
Resultpass


testDirection

Inputdirection: rtl
Expectdirection: rtl
Outputdirection: rtl
Resultpass


testDirection

Inputinput { direction: ltr }
Expectinput { direction: ltr }
Outputinput { direction: ltr }
Resultpass


testDirection

Inputbody { direction: ltr }
Expectbody { direction: rtl }
Outputbody { direction: rtl }
Resultpass


testDirection

Inputbody { padding: 10px; direction: ltr; }
Expectbody { padding: 10px; direction: rtl; }
Outputbody { padding: 10px; direction: rtl; }
Resultpass


testDirection

Inputbody { direction: ltr } .myClass { direction: ltr }
Expectbody { direction: rtl } .myClass { direction: ltr }
Outputbody { direction: rtl } .myClass { direction: ltr }
Resultpass


testDirection

Inputbody{\n direction: ltr\n}
Expectbody{\n direction: rtl\n}
Outputbody{\n direction: rtl\n}
Resultpass


testDoubleDash

Inputborder-left-color: red
Expectborder-right-color: red
Outputborder-right-color: red
Resultpass


testDoubleDash

Inputborder-right-color: red
Expectborder-left-color: red
Outputborder-left-color: red
Resultpass


testCSSProperty

Inputalright: 10px
Expectalright: 10px
Outputalright: 10px
Resultpass


testCSSProperty

Inputalleft: 10px
Expectalleft: 10px
Outputalleft: 10px
Resultpass


testFloat

Inputfloat: right
Expectfloat: left
Outputfloat: left
Resultpass


testFloat

Inputfloat: left
Expectfloat: right
Outputfloat: right
Resultpass


testUrlWithFlagOff

Inputbackground: url(/foo/bar-left.png)
Expectbackground: url(/foo/bar-left.png)
Outputbackground: url(/foo/bar-left.png)
Resultpass


testUrlWithFlagOff

Inputbackground: url(/foo/left-bar.png)
Expectbackground: url(/foo/left-bar.png)
Outputbackground: url(/foo/left-bar.png)
Resultpass


testUrlWithFlagOff

Inputurl("http://www.blogger.com/img/triangle_ltr.gif")
Expecturl("http://www.blogger.com/img/triangle_ltr.gif")
Outputurl("http://www.blogger.com/img/triangle_ltr.gif")
Resultpass


testUrlWithFlagOff

Inputurl('http://www.blogger.com/img/triangle_ltr.gif')
Expecturl('http://www.blogger.com/img/triangle_ltr.gif')
Outputurl('http://www.blogger.com/img/triangle_ltr.gif')
Resultpass


testUrlWithFlagOff

Inputurl('http://www.blogger.com/img/triangle_ltr.gif' )
Expecturl('http://www.blogger.com/img/triangle_ltr.gif' )
Outputurl('http://www.blogger.com/img/triangle_ltr.gif' )
Resultpass


testUrlWithFlagOff

Inputbackground: url(/foo/bar.left.png)
Expectbackground: url(/foo/bar.left.png)
Outputbackground: url(/foo/bar.left.png)
Resultpass


testUrlWithFlagOff

Inputbackground: url(/foo/bar-rtl.png)
Expectbackground: url(/foo/bar-rtl.png)
Outputbackground: url(/foo/bar-rtl.png)
Resultpass


testUrlWithFlagOff

Inputbackground: url(/foo/bar-rtl.png); left: 10px
Expectbackground: url(/foo/bar-rtl.png); right: 10px
Outputbackground: url(/foo/bar-rtl.png); right: 10px
Resultpass


testUrlWithFlagOff

Inputbackground: url(/foo/bar-right.png); direction: ltr
Expectbackground: url(/foo/bar-right.png); direction: ltr
Outputbackground: url(/foo/bar-right.png); direction: ltr
Resultpass


testUrlWithFlagOff

Inputbackground: url(/foo/bar-rtl_right.png);
left:10px; direction: ltr
Expectbackground: url(/foo/bar-rtl_right.png);
right:10px; direction: ltr
Outputbackground: url(/foo/bar-rtl_right.png);
right:10px; direction: ltr
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/bar-left.png)
Expectbackground: url(/foo/bar-right.png)
Outputbackground: url(/foo/bar-right.png)
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/left-bar.png)
Expectbackground: url(/foo/right-bar.png)
Outputbackground: url(/foo/right-bar.png)
Resultpass


testUrlWithFlagOn

Inputurl("http://www.blogger.com/img/triangle_ltr.gif")
Expecturl("http://www.blogger.com/img/triangle_rtl.gif")
Outputurl("http://www.blogger.com/img/triangle_rtl.gif")
Resultpass


testUrlWithFlagOn

Inputurl('http://www.blogger.com/img/triangle_ltr.gif')
Expecturl('http://www.blogger.com/img/triangle_rtl.gif')
Outputurl('http://www.blogger.com/img/triangle_rtl.gif')
Resultpass


testUrlWithFlagOn

Inputurl('http://www.blogger.com/img/triangle_ltr.gif' )
Expecturl('http://www.blogger.com/img/triangle_rtl.gif' )
Outputurl('http://www.blogger.com/img/triangle_rtl.gif' )
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/bar.left.png)
Expectbackground: url(/foo/bar.right.png)
Outputbackground: url(/foo/bar.right.png)
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/bright.png)
Expectbackground: url(/foo/bright.png)
Outputbackground: url(/foo/bright.png)
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/bar-rtl.png)
Expectbackground: url(/foo/bar-ltr.png)
Outputbackground: url(/foo/bar-ltr.png)
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/bar-rtl.png); left: 10px
Expectbackground: url(/foo/bar-ltr.png); right: 10px
Outputbackground: url(/foo/bar-ltr.png); right: 10px
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/bar-right.png); direction: ltr
Expectbackground: url(/foo/bar-left.png); direction: ltr
Outputbackground: url(/foo/bar-left.png); direction: ltr
Resultpass


testUrlWithFlagOn

Inputbackground: url(/foo/bar-rtl_right.png);
left:10px; direction: ltr
Expectbackground: url(/foo/bar-ltr_left.png);
right:10px; direction: ltr
Outputbackground: url(/foo/bar-ltr_left.png);
right:10px; direction: ltr
Resultpass


testPadding

Inputpadding-right: bar
Expectpadding-left: bar
Outputpadding-left: bar
Resultpass


testPadding

Inputpadding-left: bar
Expectpadding-right: bar
Outputpadding-right: bar
Resultpass


testMargin

Inputmargin-left: bar
Expectmargin-right: bar
Outputmargin-right: bar
Resultpass


testMargin

Inputmargin-right: bar
Expectmargin-left: bar
Outputmargin-left: bar
Resultpass


testBorder

Inputborder-left: bar
Expectborder-right: bar
Outputborder-right: bar
Resultpass


testBorder

Inputborder-right: bar
Expectborder-left: bar
Outputborder-left: bar
Resultpass


testCursor

Inputcursor: e-resize
Expectcursor: w-resize
Outputcursor: w-resize
Resultpass


testCursor

Inputcursor: w-resize
Expectcursor: e-resize
Outputcursor: e-resize
Resultpass


testCursor

Inputcursor: se-resize
Expectcursor: sw-resize
Outputcursor: sw-resize
Resultpass


testCursor

Inputcursor: sw-resize
Expectcursor: se-resize
Outputcursor: se-resize
Resultpass


testCursor

Inputcursor: ne-resize
Expectcursor: nw-resize
Outputcursor: nw-resize
Resultpass


testCursor

Inputcursor: nw-resize
Expectcursor: ne-resize
Outputcursor: ne-resize
Resultpass


testBGPosition

Inputbackground: url(/foo/bar.png) top left
Expectbackground: url(/foo/bar.png) top right
Outputbackground: url(/foo/bar.png) top right
Resultpass


testBGPosition

Inputbackground: url(/foo/bar.png) top right
Expectbackground: url(/foo/bar.png) top left
Outputbackground: url(/foo/bar.png) top left
Resultpass


testBGPosition

Inputbackground-position: top left
Expectbackground-position: top right
Outputbackground-position: top right
Resultpass


testBGPosition

Inputbackground-position: top right
Expectbackground-position: top left
Outputbackground-position: top left
Resultpass


testBGPositionPercentage

Inputbackground-position: 100% 40%
Expectbackground-position: 0% 40%
Outputbackground-position: 0% 40%
Resultpass


testBGPositionPercentage

Inputbackground-position: 0% 40%
Expectbackground-position: 100% 40%
Outputbackground-position: 100% 40%
Resultpass


testBGPositionPercentage

Inputbackground-position: 23% 0
Expectbackground-position: 77% 0
Outputbackground-position: 77% 0
Resultpass


testBGPositionPercentage

Inputbackground-position: 23% auto
Expectbackground-position: 77% auto
Outputbackground-position: 77% auto
Resultpass


testBGPositionPercentage

Inputbackground-position-x: 23%
Expectbackground-position-x: 77%
Outputbackground-position-x: 77%
Resultpass


testBGPositionPercentage

Inputbackground-position-y: 23%
Expectbackground-position-y: 23%
Outputbackground-position-y: 23%
Resultpass


testBGPositionPercentage

Inputbackground:url(../foo-bar_baz.2008.gif) no-repeat 75% 50%
Expectbackground:url(../foo-bar_baz.2008.gif) no-repeat 25% 50%
Outputbackground:url(../foo-bar_baz.2008.gif) no-repeat 25% 50%
Resultpass


testBGPositionPercentage

Input.test { background: 10% 20% } .test2 { background: 40% 30% }
Expect.test { background: 90% 20% } .test2 { background: 60% 30% }
Output.test { background: 90% 20% } .test2 { background: 60% 30% }
Resultpass


testBGPositionPercentage

Input.test { background: 0% 20% } .test2 { background: 40% 30% }
Expect.test { background: 100% 20% } .test2 { background: 60% 30% }
Output.test { background: 100% 20% } .test2 { background: 60% 30% }
Resultpass


testDirectionalClassnames

Input.column-left { float: left }
Expect.column-left { float: right }
Output.column-left { float: right }
Resultpass


testDirectionalClassnames

Input#bright-light { float: left }
Expect#bright-light { float: right }
Output#bright-light { float: right }
Resultpass


testDirectionalClassnames

Inputa.left:hover { float: left }
Expecta.left:hover { float: right }
Outputa.left:hover { float: right }
Resultpass


testDirectionalClassnames

Input#bright-left,
.test-me { float: left }
Expect#bright-left,
.test-me { float: right }
Output#bright-left,
.test-me { float: right }
Resultpass


testDirectionalClassnames

Input#bright-left,
.test-me { float: left }
Expect#bright-left,
.test-me { float: right }
Output#bright-left,
.test-me { float: right }
Resultpass


testDirectionalClassnames

Inputdiv.leftpill, div.leftpillon {margin-right: 0 !important}
Expectdiv.leftpill, div.leftpillon {margin-left: 0 !important}
Outputdiv.leftpill, div.leftpillon {margin-left: 0 !important}
Resultpass


testDirectionalClassnames

Inputdiv.left > span.right+span.left { float: left }
Expectdiv.left > span.right+span.left { float: right }
Outputdiv.left > span.right+span.left { float: right }
Resultpass


testDirectionalClassnames

Input.thisclass .left .myclass {background:#fff;}
Expect.thisclass .left .myclass {background:#fff;}
Output.thisclass .left .myclass {background:#fff;}
Resultpass


testDirectionalClassnames

Input.thisclass .left .myclass #myid {background:#fff;}
Expect.thisclass .left .myclass #myid {background:#fff;}
Output.thisclass .left .myclass #myid {background:#fff;}
Resultpass


testLongLineWithMultipleDefs

Inputbody{direction:rtl;float:right}
.b2{direction:ltr;float:right}
Expectbody{direction:ltr;float:left}
.b2{direction:ltr;float:left}
Outputbody{direction:ltr;float:left}
.b2{direction:ltr;float:left}
Resultpass


testNoFlip

Input/* @noflip */ div { float: left; }
Expect/* @noflip */ div { float: left; }
Output/* @noflip */ div { float: left; }
Resultpass


testNoFlip

Input/* @noflip */ div, .notme { float: left; }
Expect/* @noflip */ div, .notme { float: left; }
Output/* @noflip */ div, .notme { float: left; }
Resultpass


testNoFlip

Input/* @noflip */ div { float: left; } div { float: left; }
Expect/* @noflip */ div { float: left; } div { float: right; }
Output/* @noflip */ div { float: left; } div { float: right; }
Resultpass


testNoFlip

Input/* @noflip */\ndiv { float: left; }\ndiv { float: left; }
Expect/* @noflip */\ndiv { float: left; }\ndiv { float: right; }
Output/* @noflip */\ndiv { float: left; }\ndiv { float: right; }
Resultpass


testNoFlip

Inputdiv { float: left; /* @noflip */ float: left; }
Expectdiv { float: right; /* @noflip */ float: left; }
Outputdiv { float: right; /* @noflip */ float: left; }
Resultpass


testNoFlip

Inputdiv\n{ float: left;\n/* @noflip */\n float: left;\n }
Expectdiv\n{ float: right;\n/* @noflip */\n float: left;\n }
Outputdiv\n{ float: right;\n/* @noflip */\n float: left;\n }
Resultpass


testNoFlip

Inputdiv\n{ float: left;\n/* @noflip */\n text-align: left\n }
Expectdiv\n{ float: right;\n/* @noflip */\n text-align: left\n }
Outputdiv\n{ float: right;\n/* @noflip */\n text-align: left\n }
Resultpass


testNoFlip

Inputdiv\n{ /* @noflip */\ntext-align: left;\nfloat: left\n }
Expectdiv\n{ /* @noflip */\ntext-align: left;\nfloat: right\n }
Outputdiv\n{ /* @noflip */\ntext-align: left;\nfloat: right\n }
Resultpass


testNoFlip

Input/* @noflip */div{float:left;text-align:left;}div{float:left}
Expect/* @noflip */div{float:left;text-align:left;}div{float:right}
Output/* @noflip */div{float:left;text-align:left;}div{float:right}
Resultpass


testNoFlip

Input/* @noflip */
div{float:left;text-align:left;}a{foo:left}
Expect/* @noflip */
div{float:left;text-align:left;}a{foo:right}
Output/* @noflip */
div{float:left;text-align:left;}a{foo:right}
Resultpass


testBorderRadiusNotation

Inputborder-radius: .25em 15px 0pt 0ex
Expectborder-radius: 15px .25em 0ex 0pt
Outputborder-radius: 15px .25em 0ex 0pt
Resultpass


testBorderRadiusNotation

Inputborder-radius: 10px 15px 0px
Expectborder-radius: 15px 10px 15px 0px
Outputborder-radius: 15px 10px 15px 0px
Resultpass


testBorderRadiusNotation

Inputborder-radius: 7px 8px
Expectborder-radius: 8px 7px
Outputborder-radius: 8px 7px
Resultpass


testBorderRadiusNotation

Inputborder-radius: 5px
Expectborder-radius: 5px
Outputborder-radius: 5px
Resultpass


testGradientNotation

Inputbackground-image: -moz-linear-gradient(#326cc1, #234e8c)
Expectbackground-image: -moz-linear-gradient(#326cc1, #234e8c)
Outputbackground-image: -moz-linear-gradient(#326cc1, #234e8c)
Resultpass


testGradientNotation

Inputbackground-image: -webkit-gradient(linear, 100% 0%, 0% 0%, from(#666666), to(#ffffff))
Expectbackground-image: -webkit-gradient(linear, 100% 0%, 0% 0%, from(#666666), to(#ffffff))
Outputbackground-image: -webkit-gradient(linear, 100% 0%, 0% 0%, from(#666666), to(#ffffff))
Resultpass