module.exports = [ { 'should': 'Should auto rename selectors having no directional decl. unless forced to ignore. (autoRename:true)', 'expected': '.right .rtl .bright .ultra { display:block; }', 'input': '/*rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'reversable': false, 'options': { 'autoRename': true } }, { 'should': 'Should auto rename selectors having no directional decl. unless forced to ignore. (autoRename:true, clean: false)', 'expected': '/*rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'input': '/*rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'reversable': false, 'options': { 'autoRename': true, 'clean': false } }, { 'should': 'Should auto rename selectors having no directional decl. unless forced to ignore. (autoRename:true, !important comment)', 'expected': '.right .rtl .bright .ultra { display:block; }', 'input': '/*!rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'reversable': false, 'options': { 'autoRename': true } }, { 'should': 'Should auto rename selectors having no directional decl. unless forced to ignore. (autoRename:true, clean:false, !important comment)', 'expected': '/*!rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'input': '/*!rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'reversable': false, 'options': { 'autoRename': true, 'clean': false } }, { 'should': 'Should auto rename selectors having no directional decl. unless forced to ignore. (autoRename:true,greedy)', 'expected': '.right .rtl .bright .ultra { display:block; }', 'input': '/*rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'reversable': false, 'options': { 'autoRename': true, 'greedy': true } }, { 'should': 'Should auto rename selectors having no directional decl. unless forced to ignore. (autoRename:true, greedy, !important comment)', 'expected': '.right .rtl .bright .ultra { display:block; }', 'input': '/*!rtl:ignore*/ .right .rtl .bright .ultra { display:block; }', 'reversable': false, 'options': { 'autoRename': true, 'greedy': true } }, { 'should': 'Should rename selectors when forced. (default)', 'expected': '.left .ltr .bright .ultra { display:block; }', 'input': '/*rtl:rename*/.right .rtl .bright .ultra { display:block; }', 'reversable': false }, { 'should': 'Should rename selectors when forced. (clean:false)', 'expected': '/*rtl:rename*/.left .ltr .bright .ultra { display:block; left:0;}', 'input': '/*rtl:rename*/.right .rtl .bright .ultra { display:block; right:0;}', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should rename selectors when forced. (!important comment)', 'expected': '.left .ltr .bright .ultra { display:block; left:0; }', 'input': '/*!rtl:rename*/.right .rtl .bright .ultra { display:block; right:0; }', 'reversable': false }, { 'should': 'Should rename selectors when forced. (clean:false, !important comment)', 'expected': '/*!rtl:rename*/.left .ltr .bright .ultra { display:block; left:0; }', 'input': '/*!rtl:rename*/.right .rtl .bright .ultra { display:block; right:0; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should rename selectors when forced. (greedy)', 'expected': '.left .ltr .bleft .urtla { display:block; left:0; }', 'input': '/*rtl:rename*/.right .rtl .bright .ultra { display:block; right:0; }', 'reversable': false, 'options': { 'greedy': true } }, { 'should': 'Should rename selectors when forced. (greedy, !important comment)', 'expected': '.left .ltr .bleft .urtla { display:block; left:0; }', 'input': '/*!rtl:rename*/.right .rtl .bright .ultra { display:block; right:0; }', 'reversable': false, 'options': { 'greedy': true } }, { 'should': 'Should prepend value. (default)', 'expected': 'div { font-family: "Droid Arabic Kufi", "Droid Sans", Tahoma; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*rtl:prepend:"Droid Arabic Kufi", */; }', 'reversable': false }, { 'should': 'Should prepend value. (clean:false)', 'expected': 'div { font-family: "Droid Arabic Kufi", "Droid Sans", Tahoma/*rtl:prepend:"Droid Arabic Kufi", */; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*rtl:prepend:"Droid Arabic Kufi", */; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should prepend value (!important comment)', 'expected': 'div { font-family: "Droid Arabic Kufi", "Droid Sans", Tahoma; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*!rtl:prepend:"Droid Arabic Kufi", */; }', 'reversable': false }, { 'should': 'Should prepend value (clean:false, !important comment)', 'expected': 'div { font-family: "Droid Arabic Kufi", "Droid Sans", Tahoma/*!rtl:prepend:"Droid Arabic Kufi", */; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*!rtl:prepend:"Droid Arabic Kufi", */; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should replace value.', 'expected': 'div { font-family: "Droid Arabic Kufi"; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*rtl:"Droid Arabic Kufi"*/; }', 'reversable': false }, { 'should': 'Should replace value.(clean:false)', 'expected': 'div { font-family: "Droid Arabic Kufi"/*rtl:"Droid Arabic Kufi"*/; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*rtl:"Droid Arabic Kufi"*/; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should replace value. (!important comment)', 'expected': 'div { font-family: "Droid Arabic Kufi"; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*!rtl:"Droid Arabic Kufi"*/; }', 'reversable': false }, { 'should': 'Should replace value. (clean:false, !important comment)', 'expected': 'div { font-family: "Droid Arabic Kufi"/*!rtl:"Droid Arabic Kufi"*/; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*!rtl:"Droid Arabic Kufi"*/; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should append value. (default)', 'expected': 'div { font-family: "Droid Sans", Tahoma, "Droid Arabic Kufi"; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*rtl:append:, "Droid Arabic Kufi"*/; }', 'reversable': false }, { 'should': 'Should append value. (clean:false)', 'expected': 'div { font-family: "Droid Sans", Tahoma/*rtl:append:, "Droid Arabic Kufi"*/, "Droid Arabic Kufi"; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*rtl:append:, "Droid Arabic Kufi"*/; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should append value. (!important comment)', 'expected': 'div { font-family: "Droid Sans", Tahoma, "Droid Arabic Kufi"; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*!rtl:append:, "Droid Arabic Kufi"*/; }', 'reversable': false }, { 'should': 'Should append value. (clean:false, !important comment)', 'expected': 'div { font-family: "Droid Sans", Tahoma/*!rtl:append:, "Droid Arabic Kufi"*/, "Droid Arabic Kufi"; }', 'input': 'div { font-family: "Droid Sans", Tahoma/*!rtl:append:, "Droid Arabic Kufi"*/; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should insert value. (default)', 'expected': 'div { font-family: "Droid Sans", "Droid Arabic Kufi", Tahoma; }', 'input': 'div { font-family: "Droid Sans"/*rtl:insert:, "Droid Arabic Kufi"*/, Tahoma; }', 'reversable': false }, { 'should': 'Should insert value. (clean:false)', 'expected': 'div { font-family: "Droid Sans", "Droid Arabic Kufi"/*rtl:insert:, "Droid Arabic Kufi"*/, Tahoma; }', 'input': 'div { font-family: "Droid Sans"/*rtl:insert:, "Droid Arabic Kufi"*/, Tahoma; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should insert value. (!important comment)', 'expected': 'div { font-family: "Droid Sans", "Droid Arabic Kufi", Tahoma; }', 'input': 'div { font-family: "Droid Sans"/*!rtl:insert:, "Droid Arabic Kufi"*/, Tahoma; }', 'reversable': false }, { 'should': 'Should insert value. (clean:false, !important comment)', 'expected': 'div { font-family: "Droid Sans", "Droid Arabic Kufi"/*!rtl:insert:, "Droid Arabic Kufi"*/, Tahoma; }', 'input': 'div { font-family: "Droid Sans"/*!rtl:insert:, "Droid Arabic Kufi"*/, Tahoma; }', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should ignore flipping - rule level (default)', 'expected': 'div { left:10px; text-align:right;}', 'input': '/*rtl:ignore*/div { left:10px; text-align:right;}', 'reversable': false }, { 'should': 'Should ignore flipping - rule level (clean:false)', 'expected': '/*rtl:ignore*/div { left:10px; text-align:right;}', 'input': '/*rtl:ignore*/div { left:10px; text-align:right;}', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should ignore flipping - rule level (default, !important comment)', 'expected': 'div { left:10px; text-align:right;}', 'input': '/*!rtl:ignore*/div { left:10px; text-align:right;}', 'reversable': false }, { 'should': 'Should ignore flipping - rule level (clean:false , !important comment)', 'expected': '/*!rtl:ignore*/div { left:10px; text-align:right;}', 'input': '/*!rtl:ignore*/div { left:10px; text-align:right;}', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should ignore flipping - decl. level (default)', 'expected': 'div { left:10px;text-align:left;}', 'input': 'div { left:10px/*rtl:ignore*/;text-align:right;}', 'reversable': false }, { 'should': 'Should ignore flipping - decl. level (clean:false)', 'expected': 'div { left:10px/*rtl:ignore*/;text-align:left;}', 'input': 'div { left:10px/*rtl:ignore*/;text-align:right;}', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should ignore flipping - decl. level (default, !important comment)', 'expected': 'div { left:10px;text-align:left;}', 'input': 'div { left:10px/*!rtl:ignore*/;text-align:right;}', 'reversable': false }, { 'should': 'Should ignore flipping - decl. level (clean:false, !important comment)', 'expected': 'div { left:10px/*!rtl:ignore*/;text-align:left;}', 'input': 'div { left:10px/*!rtl:ignore*/;text-align:right;}', 'options': { 'clean': false } }, { 'should': 'Should add raw css rules', 'expected': 'div { left:10px;text-align:right;} a {display:block;}', 'input': '/*rtl:raw:div { left:10px;text-align:right;}*/ a {display:block;}', 'reversable': false }, { 'should': 'Should add raw css declarations', 'expected': 'div { font-family: "Droid Kufi Arabic"; right:10px;text-align:left;}', 'input': 'div { /*rtl:raw: font-family: "Droid Kufi Arabic";*/ left:10px;text-align:right;}', 'reversable': false }, { 'should': 'Should add raw css (clean:false)', 'expected': 'div { left:10px;text-align:right;} /*rtl:raw:div { left:10px;text-align:right;}*/ a {display:block;}', 'input': '/*rtl:raw:div { left:10px;text-align:right;}*/ a {display:block;}', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should add raw css declarations (clean:false)', 'expected': 'div { font-family: "Droid Kufi Arabic"; /*rtl:raw: font-family: "Droid Kufi Arabic";*/ right:10px;text-align:left;}', 'input': 'div { /*rtl:raw: font-family: "Droid Kufi Arabic";*/ left:10px;text-align:right;}', 'reversable': false, 'options': { 'clean': false } }, { 'should': 'Should support block-style', 'expected': ' div {left:10px; text-align:right;}', 'input': ' div {/*rtl:begin:ignore*/left:10px;/*rtl:end:ignore*/ text-align:left;}', 'reversable': false }, { 'should': 'Should support none block-style', 'expected': ' div {left:10px; text-align:left;}', 'input': ' /*rtl:ignore*/div {left:10px; text-align:left;}', 'reversable': false }, { 'should': 'Should remove rules (block-style)', 'expected': ' b{float:right;}', 'input': ' /*rtl:begin:remove*/div {left:10px; text-align:left;} a { display:block;} /*rtl:end:remove*/ b{float:left;}', 'reversable': false }, { 'should': 'Should remove rules', 'expected': ' a { display:block;} b{float:right;}', 'input': ' /*rtl:remove*/div {left:10px; text-align:left;} a { display:block;} b{float:left;}', 'reversable': false }, { 'should': 'Should remove declarations', 'expected': ' div { text-align:right;}', 'input': ' div {/*rtl:remove*/left:10px; text-align:left;}', 'reversable': false }, { 'should': 'Should remove declarations (block-style)', 'expected': ' div { display:inline;}', 'input': ' div {/*rtl:begin:remove*/left:10px; text-align:left;/*rtl:end:remove*/ display:inline;}', 'reversable': false }, { 'should': 'Should override options', 'expected': '.right { display:inline;}', 'input': '/*rtl:options:{"autoRename":false}*/ .right { display:inline;}', 'reversable': false, 'options': { 'autoRename': true } }, { 'should': 'Should support nested options override', 'expected': '.right { display:inline;}.bleft { display:inline;}', 'input': '/*rtl:begin:options:{"autoRename":false}*/ .right { display:inline;} /*rtl:begin:options:{"autoRename":true, "greedy": true}*/.bright { display:inline;}/*rtl:end:options*//*rtl:end:options*/', 'reversable': false, 'options': { 'autoRename': true } }, { 'should': 'Should ignore the target node (decl)', 'expected': ` .code { direction:ltr; text-align:left; float: right; text-align: left; } `, 'input': ` .code { /*rtl:ignore*/ direction:ltr; /*rtl:ignore*/ text-align:left; /*rtl:ignore*/ float: right; /*rtl:ignore*/ text-align: left; } `, 'reversable': false }, { 'should': 'Should ignore the target node (rule)', 'expected': ` .example-1 { text-align:right; left:10px; } .example-2 { left:10px; text-align:right; } .example-3 { right:10px; text-align:left; } `, 'input': ` /*rtl:ignore*/ .example-1 { text-align:right; left:10px; } /*rtl:ignore*/ .example-2 { left:10px; text-align:right; } .example-3 { left:10px; text-align:right; } `, 'reversable': false }, { 'should': 'Should ignore the target node (atrule)', 'expected': ` @media screen and (max-width: 568px) { .example { left:10px; text-align:right; } } @media screen and (max-width: 568px) { .example { right:10px; text-align:left; } } `, 'input': ` /*rtl:ignore*/ @media screen and (max-width: 568px) { .example { left:10px; text-align:right; } } @media screen and (max-width: 568px) { .example { left:10px; text-align:right; } } `, 'reversable': false }, { 'should': 'Should ignore white spaces before value directive prefix', 'expected': ' div { direction:ltr; text-align:right;}', 'input': ' div { direction:ltr/* rtl:ignore*/; text-align:left;}', 'reversable': false }, { 'should': 'Should ignore white spaces before value directive perfix (!important comment)', 'expected': ' div { direction:ltr; text-align:right;}', 'input': ' div { direction:ltr/* !rtl:ignore*/; text-align:left;}', 'reversable': false }, { 'should': 'Should ignore white spaces before directive prefix (block-style) ', 'expected': ' div { direction:ltr; text-align:right;}', 'input': ' div {/* rtl:begin:ignore*/ direction:ltr;/* rtl:end:ignore*/ text-align:left;}', 'reversable': false }, { 'should': 'Should ignore white spaces before directive prefix (block-style, !important comment) ', 'expected': ' div { direction:ltr; text-align:right;}', 'input': ' div {/* !rtl:begin:ignore*/ direction:ltr;/* ! rtl:end:ignore*/ text-align:left;}', 'reversable': false } ]