uapte
This commit is contained in:
38
node_modules/rtlcss/test/cli.js
generated
vendored
38
node_modules/rtlcss/test/cli.js
generated
vendored
@@ -1,38 +0,0 @@
|
||||
/* global process */
|
||||
/* global describe */
|
||||
/* global it */
|
||||
var assert = require('assert')
|
||||
var spawn = require('child_process').spawn
|
||||
var fs = require('fs')
|
||||
|
||||
function run_cmd (cmd, args, done) {
|
||||
var child = spawn(cmd, args)
|
||||
var resp = ''
|
||||
var err = ''
|
||||
child.stderr.on('data', function (error) { err += error })
|
||||
child.stdout.on('data', function (buffer) { resp += buffer.toString() })
|
||||
child.stdout.on('end', function () { done(err, resp) })
|
||||
}
|
||||
|
||||
var configPath = './test/css/config.json'
|
||||
var inputPath = './test/css/input.css'
|
||||
var expectedPath = './test/css/input.expected.css'
|
||||
var outputPath = './test/css/input.rtl.css'
|
||||
|
||||
describe('# CLI', function () {
|
||||
it('Should succeed', function (done) {
|
||||
run_cmd('node', ['./bin/rtlcss.js', inputPath, '--config', configPath, '--silent', ''], function (err, resp) {
|
||||
if (err) throw new Error(err)
|
||||
fs.readFile(expectedPath, 'utf-8', function (err, expected) {
|
||||
if (err) throw new Error(err)
|
||||
fs.readFile(outputPath, 'utf-8', function (err, output) {
|
||||
if (err) throw new Error(err)
|
||||
assert.equal(expected, output)
|
||||
fs.unlink(outputPath, function () {
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
10
node_modules/rtlcss/test/css/config.json
generated
vendored
10
node_modules/rtlcss/test/css/config.json
generated
vendored
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"options": {
|
||||
"autoRename": true,
|
||||
"processUrls": true,
|
||||
"greedy": true,
|
||||
"stringMap": []
|
||||
},
|
||||
"plugins": [],
|
||||
"map": true // used by CLI
|
||||
}
|
||||
132
node_modules/rtlcss/test/css/input.css
generated
vendored
132
node_modules/rtlcss/test/css/input.css
generated
vendored
@@ -1,132 +0,0 @@
|
||||
/*
|
||||
|
||||
Preserves orignal formatting
|
||||
|
||||
*/
|
||||
/* declarations can exist inside atrules */
|
||||
@font-face {
|
||||
font-family: 'Test font';
|
||||
}
|
||||
|
||||
/* comment before rule */
|
||||
body/* comment after rule name */{
|
||||
/* comment before decl */
|
||||
padding /* comment after prop */ : /* comment before val */ 0 /* comment after val */ 1px /* another comment */ 2px /* one more */ 3px /* last one*/;
|
||||
/* comment after decl */
|
||||
|
||||
margin:
|
||||
0 /*top*/
|
||||
1px /*right
|
||||
multi-line
|
||||
comment
|
||||
*/
|
||||
2px /*bottom*/
|
||||
3px /*left*/;
|
||||
|
||||
border-left/* comment after prop */: none;
|
||||
}
|
||||
|
||||
/* should never process variables */
|
||||
:root {
|
||||
--left-margin: 10px;
|
||||
--brightest: blue;
|
||||
}
|
||||
|
||||
div.variable-demo {
|
||||
margin-left: var(--left-margin);
|
||||
color: var(--brightest);
|
||||
}
|
||||
/* end: should never process variables */
|
||||
|
||||
/* empty options forces defaults */
|
||||
/*rtl:begin:options: {}*/
|
||||
/* should not process urls - default */
|
||||
@import url("rtl-right-east.css");
|
||||
/*rtl:end:options*/
|
||||
|
||||
/*rtl:begin:config:
|
||||
{
|
||||
"options":{
|
||||
"autoRename": true,
|
||||
"stringMap":[
|
||||
{
|
||||
"name" : "prev-next",
|
||||
"search" : ["prev", "Prev", "PREV"],
|
||||
"replace" : ["next", "Next", "NEXT"],
|
||||
"options" : {"ignoreCase":false}
|
||||
}
|
||||
]
|
||||
},
|
||||
"plugins":[
|
||||
{
|
||||
"name": "test",
|
||||
"directives":{
|
||||
"control": {},
|
||||
"value": []
|
||||
},
|
||||
"processors": [
|
||||
{
|
||||
"name": "content",
|
||||
"expr": /content/im,
|
||||
"action": function (prop, value, cxt) {
|
||||
if (value === '"A"') {
|
||||
return { 'prop': prop, 'value': '"ABC"' }
|
||||
} else if (value === '"ABC"') {
|
||||
return { 'prop': prop, 'value': '"A"' }
|
||||
}
|
||||
return { 'prop': prop, 'value': value }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}*/
|
||||
div:before { content: "A";} div:after { content: "ABC";}
|
||||
|
||||
.demo-prev, .demo-Prev, .demo-PREV { content: 'p'; }
|
||||
.demo-next, .demo-Next, .demo-NEXT { content: 'n'; }
|
||||
|
||||
/*rtl:end:config*/
|
||||
|
||||
/*!rtl:begin:remove*/
|
||||
@import url(/test.css);
|
||||
i {
|
||||
color: blue;
|
||||
}
|
||||
/*rtl:end:remove*/
|
||||
|
||||
|
||||
div {
|
||||
/*rtl:remove*/
|
||||
direction: rtl;
|
||||
text-align: right;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/*rtl:begin:ignore*/
|
||||
.sample {
|
||||
text-align: left;
|
||||
}
|
||||
/*rtl:end:ignore*/
|
||||
|
||||
|
||||
/*rtl:begin:options:{"autoRename":false, "clean": false}*/
|
||||
.right { display:inline;}
|
||||
/*rtl:begin:options:{"autoRename":true, "greedy": true}*/
|
||||
.bright { display:inline;}
|
||||
/*rtl:end:options*/
|
||||
.brighter { display:inline;}
|
||||
/*rtl:end:options*/
|
||||
|
||||
/* auto rename only if a pair exists */
|
||||
|
||||
/*rtl:begin:options:{"autoRename":true, "autoRenameStrict": true}*/
|
||||
|
||||
/* The following should not be renamed */
|
||||
.ltr{ display: inline-flex;}
|
||||
|
||||
/* But these should */
|
||||
.right{ display: inline-flex;}
|
||||
.left { display: block;}
|
||||
|
||||
/*rtl:end:options*/
|
||||
71
node_modules/rtlcss/test/css/input.expected.css
generated
vendored
71
node_modules/rtlcss/test/css/input.expected.css
generated
vendored
File diff suppressed because one or more lines are too long
27
node_modules/rtlcss/test/data/background-image.js
generated
vendored
27
node_modules/rtlcss/test/data/background-image.js
generated
vendored
@@ -1,27 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should process string map in url (processUrls:true)',
|
||||
'expected': 'div { background-image: url(images/rtl.png), url(images/right.png);}',
|
||||
'input': 'div { background-image: url(images/ltr.png), url(images/left.png);}',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should not negate color value for linear gradient',
|
||||
'expected': 'div { background-image: linear-gradient(rgba(255, 255, 255, 0.3) 0%, #ff8 100%);}',
|
||||
'input': 'div { background-image: linear-gradient(rgba(255, 255, 255, 0.3) 0%, #ff8 100%);}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should not negate color value for linear gradient with calc',
|
||||
'expected': 'div { background-image: linear-gradient(rgba(255, 255, calc((125 * 2) + 5), 0.3) 0%, #ff8 100%);}',
|
||||
'input': 'div { background-image: linear-gradient(rgba(255, 255, calc((125 * 2) + 5), 0.3) 0%, #ff8 100%);}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should negate angle value for linear gradient',
|
||||
'expected': 'div { background-image: linear-gradient(13.25deg, rgba(255, 255, 255, .15) 25%, transparent 25%);}',
|
||||
'input': 'div { background-image: linear-gradient(-13.25deg, rgba(255, 255, 255, .15) 25%, transparent 25%);}',
|
||||
'reversable': true
|
||||
}
|
||||
]
|
||||
98
node_modules/rtlcss/test/data/background-position.js
generated
vendored
98
node_modules/rtlcss/test/data/background-position.js
generated
vendored
@@ -1,98 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should mirror position (keywords only)',
|
||||
'expected': 'div {background-position:top left, right bottom}',
|
||||
'input': 'div {background-position:top right, left bottom}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should ignore mirroring invalid position',
|
||||
'expected': 'div {background-position:25% left, right 25%;}',
|
||||
'input': 'div {background-position:75% left, left 25%;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage horizontal position ',
|
||||
'expected': 'div {background-position:100% 75%;}',
|
||||
'input': 'div {background-position:0 75%;}',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage horizontal position with calc',
|
||||
'expected': 'div {background-position:calc(100% - (30% + 50px)) 75%;}',
|
||||
'input': 'div {background-position:calc(30% + 50px) 75%;}',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage horizontal position ',
|
||||
'expected': 'div {background-position:81.25% 75%, 10.75% top;}',
|
||||
'input': 'div {background-position:18.75% 75%, 89.25% top;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage horizontal position with calc',
|
||||
'expected': 'div {background-position:calc(100% - (30% + 50px)) calc(30% + 50px), 10.75% top;}',
|
||||
'input': 'div {background-position:calc(30% + 50px) calc(30% + 50px), 89.25% top;}',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror background-position',
|
||||
'expected': 'div {background-position:right 75%, left top;}',
|
||||
'input': 'div {background-position:left 75%, right top;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror background-position (calc)',
|
||||
'expected': 'div {background-position:right -ms-calc(30% + 50px), left top;}',
|
||||
'input': 'div {background-position:left -ms-calc(30% + 50px), right top;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage: position-x (treat 0 as 0%)',
|
||||
'expected': 'div {background-position-x:100%, 0%;}',
|
||||
'input': 'div {background-position-x:0, 100%;}',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage: position-x',
|
||||
'expected': 'div {background-position-x:81.75%, 11%;}',
|
||||
'input': 'div {background-position-x:18.25%, 89%;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage with calc: position-x',
|
||||
'expected': 'div {background-position-x:calc(100% - (30% + 50px)), -webkit-calc(100% - (30% + 50px));}',
|
||||
'input': 'div {background-position-x:calc(30% + 50px), -webkit-calc(30% + 50px);}',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror position-x',
|
||||
'expected': 'div {background-position-x:right, left;}',
|
||||
'input': 'div {background-position-x:left, right;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror position-x (calc)',
|
||||
'expected': 'div {background-position-x:calc(100% - (30% + 50px)), calc(100% - (50px * 5));}',
|
||||
'input': 'div {background-position-x:calc(30% + 50px), calc(50px * 5);}',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should keep as is: position-x',
|
||||
'expected': 'div {background-position-x:100px, 0px;}',
|
||||
'input': 'div {background-position-x:100px, 0px;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror background-position edge offsets (4 values)',
|
||||
'expected': 'div {background-position: left 5px bottom 5px, bottom 15px right 15px;}',
|
||||
'input': 'div {background-position: right 5px bottom 5px, bottom 15px left 15px;}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror background-position edge offsets (3 values)',
|
||||
'expected': 'div {background-position: left 5px bottom, top 15px right;}',
|
||||
'input': 'div {background-position: right 5px bottom, top 15px left;}',
|
||||
'reversable': true
|
||||
}
|
||||
]
|
||||
84
node_modules/rtlcss/test/data/background.js
generated
vendored
84
node_modules/rtlcss/test/data/background.js
generated
vendored
@@ -1,84 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should treat 0 as 0%',
|
||||
'expected': '.banner { background: 100% top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 0 top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should complement percentage horizontal position',
|
||||
'expected': '.banner { background: 81% top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 19% top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should complement calc horizontal position',
|
||||
'expected': '.banner { background: calc(100% - (19% + 2px)) top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: calc(19% + 2px) top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror keyword horizontal position',
|
||||
'expected': '.banner { background: right top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: left top url(topbanner.png) #00D repeat-y fixed; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should not process string map in url (default)',
|
||||
'expected': '.banner { background: 10px top url(ltr-top-right-banner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 10px top url(ltr-top-right-banner.png) #00D repeat-y fixed; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should process string map in url (processUrls:true)',
|
||||
'expected': '.banner { background: 10px top url(rtl-top-left-banner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 10px top url(ltr-top-right-banner.png) #00D repeat-y fixed; }',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should process string map in url (processUrls:{decl:true})',
|
||||
'expected': '.banner { background: 10px top url(rtl-top-left-banner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 10px top url(ltr-top-right-banner.png) #00D repeat-y fixed; }',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': { 'decl': true } }
|
||||
},
|
||||
{
|
||||
'should': 'Should not process string map in url (processUrls:{atrule:true})',
|
||||
'expected': '.banner { background: 10px top url(ltr-top-right-banner.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 10px top url(ltr-top-right-banner.png) #00D repeat-y fixed; }',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': { 'atrule': true } }
|
||||
},
|
||||
{
|
||||
'should': 'Should not swap bright:bleft, ultra:urtla',
|
||||
'expected': '.banner { background: 10px top url(ultra/bright.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 10px top url(ultra/bright.png) #00D repeat-y fixed; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should swap bright:bleft, ultra:urtla (processUrls: true, greedy)',
|
||||
'expected': '.banner { background: 10px top url(urtla/bleft.png) #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: 10px top url(ultra/bright.png) #00D repeat-y fixed; }',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true, 'greedy': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should not flip hex colors ',
|
||||
'expected': '.banner { background: #ff0; }',
|
||||
'input': '.banner { background: #ff0; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should treat 0 as 0% (url first)',
|
||||
'expected': '.banner { background: url(topbanner.png) 100% top #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: url(topbanner.png) 0 top #00D repeat-y fixed; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should complement calc horizontal position (url first)',
|
||||
'expected': '.banner { background: url(topbanner.png) calc(100% - (19% + 2px)) top #00D repeat-y fixed; }',
|
||||
'input': '.banner { background: url(topbanner.png) calc(19% + 2px) top #00D repeat-y fixed; }',
|
||||
'reversable': false
|
||||
}
|
||||
]
|
||||
56
node_modules/rtlcss/test/data/properties.js
generated
vendored
56
node_modules/rtlcss/test/data/properties.js
generated
vendored
@@ -1,56 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should mirror property name: border-top-right-radius',
|
||||
'expected': 'div { border-top-left-radius:15px; }',
|
||||
'input': 'div { border-top-right-radius:15px; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: border-bottom-right-radius',
|
||||
'expected': 'div { border-bottom-left-radius:15px; }',
|
||||
'input': 'div { border-bottom-right-radius:15px; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: border-left',
|
||||
'expected': 'div { border-right:1px solid black; }',
|
||||
'input': 'div { border-left:1px solid black; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: border-left-color',
|
||||
'expected': 'div { border-right-color:black; }',
|
||||
'input': 'div { border-left-color:black; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: border-left-style',
|
||||
'expected': 'div { border-right-style:solid; }',
|
||||
'input': 'div { border-left-style:solid; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: border-left-width',
|
||||
'expected': 'div { border-right-width:1em; }',
|
||||
'input': 'div { border-left-width:1em; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: left',
|
||||
'expected': 'div { right:auto; }',
|
||||
'input': 'div { left:auto; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: margin-left',
|
||||
'expected': 'div { margin-right:2em; }',
|
||||
'input': 'div { margin-left:2em; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property name: padding-left',
|
||||
'expected': 'div { padding-right:2em; }',
|
||||
'input': 'div { padding-left:2em; }',
|
||||
'reversable': true
|
||||
}
|
||||
]
|
||||
408
node_modules/rtlcss/test/data/rtlcss-directives.js
generated
vendored
408
node_modules/rtlcss/test/data/rtlcss-directives.js
generated
vendored
@@ -1,408 +0,0 @@
|
||||
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
|
||||
}
|
||||
]
|
||||
27
node_modules/rtlcss/test/data/rtlcss-hooks.js
generated
vendored
27
node_modules/rtlcss/test/data/rtlcss-hooks.js
generated
vendored
@@ -1,27 +0,0 @@
|
||||
var pkg = require('../../package.json')
|
||||
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should support hooks (pre)',
|
||||
'expected': '.float-left { float: left; }',
|
||||
'input': '.float-right { float: right; }',
|
||||
'reversable': true,
|
||||
'hooks': {
|
||||
pre: function (css, postcss) {
|
||||
css.insertBefore(css.nodes[0], postcss.comment({text: 'rtl:begin:rename'}))
|
||||
css.insertAfter(css.nodes[css.nodes.length - 1], postcss.comment({text: 'rtl:end:rename'}))
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
'should': 'Should support hooks (post)',
|
||||
'expected': `/* Generated by RTLCSS v${pkg.version} */\n.float-right { float: left; }`,
|
||||
'input': '.float-right { float: right; }',
|
||||
'reversable': false,
|
||||
'hooks': {
|
||||
post: function (css, postcss) {
|
||||
css.insertBefore(css.nodes[0], postcss.comment({text: `Generated by RTLCSS v${pkg.version}`}))
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
130
node_modules/rtlcss/test/data/rtlcss-options.js
generated
vendored
130
node_modules/rtlcss/test/data/rtlcss-options.js
generated
vendored
@@ -1,130 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should not rename selectors unless a pair exits (autoRename:true,autoRenameStrict:true )',
|
||||
'expected': '.right .rtl .bright .ultra { display:block; }',
|
||||
'input': '.right .rtl .bright .ultra { display:block; }',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'autoRenameStrict': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should rename selectors only if a pair exits (autoRename:true,autoRenameStrict:true )',
|
||||
'expected': '.left { display:block; } .right { display:none; }',
|
||||
'input': '.right { display:block; } .left { display:none; }',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'autoRenameStrict': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should not rename selectors having directional decl. (default)',
|
||||
'expected': '.right .rtl .bright .ultra { display:block; right:0; }',
|
||||
'input': '.right .rtl .bright .ultra { display:block; left:0; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should not auto rename selectors having no directional decl. (default)',
|
||||
'expected': '.right .rtl .bright .ultra { display:block; }',
|
||||
'input': '.right .rtl .bright .ultra { display:block; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should not auto rename selectors having no directional decl. (greedy)',
|
||||
'expected': '.right .rtl .bright .ultra { display:block; }',
|
||||
'input': '.right .rtl .bright .ultra { display:block; }',
|
||||
'reversable': true,
|
||||
'options': { 'greedy': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should auto rename selectors having no directional decl. (autoRename:true)',
|
||||
'expected': '.left .ltr .bright .ultra { display:block; }',
|
||||
'input': '.right .rtl .bright .ultra { display:block; }',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should auto rename selectors having no directional decl. (autoRename:true,greedy)',
|
||||
'expected': '.left .ltr .bleft .urtla { display:block; }',
|
||||
'input': '.right .rtl .bright .ultra { display:block; }',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'greedy': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should not auto rename when rules are flipped via directives (autoRename:true)',
|
||||
'expected': 'div.right { display:block; font-family: "Droid Sans", Tahoma, "Droid Arabic Kufi"; }',
|
||||
'input': 'div.right { display:block; font-family: "Droid Sans", Tahoma/*!rtl:append:, "Droid Arabic Kufi"*/; }',
|
||||
'reversable': false,
|
||||
'options': { 'autoRename': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should not preserve processing directive. (default)',
|
||||
'expected': 'div { left:0; }',
|
||||
'input': '/*rtl:ignore*/div { left:0; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should preserve processing directive. (clean:false)',
|
||||
'expected': '/*rtl:ignore*/div { left:0; }',
|
||||
'input': '/*rtl:ignore*/div { left:0; }',
|
||||
'reversable': false,
|
||||
'options': { 'clean': false }
|
||||
},
|
||||
{
|
||||
'should': 'Should not process string map in url (default)',
|
||||
'expected': 'div { background-image: url(ltr/left.png); right:0; }',
|
||||
'input': 'div { background-image: url(ltr/left.png); left:0; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should process urls (processUrls:true)',
|
||||
'expected': 'div { background-image: url(rtl/right.png); right:0; }',
|
||||
'input': 'div { background-image: url(ltr/left.png); left:0; }',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should process urls in declarations (processUrls:{decl:true})',
|
||||
'expected': 'div { background-image: url(rtl/right.png); right:0; }',
|
||||
'input': 'div { background-image: url(ltr/left.png); left:0; }',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': { 'decl': true } }
|
||||
},
|
||||
{
|
||||
'should': 'Should process @import url (processUrls:true)',
|
||||
'expected': 'div{display:none;} @import url("rtl/right.css");',
|
||||
'input': 'div{display:none;} @import url("ltr/left.css");',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should process url in atrule (processUrls:{atrule:true})',
|
||||
'expected': 'div{display:none;} @import url("rtl/right.css");',
|
||||
'input': 'div{display:none;} @import url("ltr/left.css");',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': { 'atrule': true } }
|
||||
},
|
||||
{
|
||||
'should': 'Should respect word boundaries when processing @import url (processUrls:true,greedy:false)',
|
||||
'expected': 'div{display:none;} @import url("ultr/bright.css");',
|
||||
'input': 'div{display:none;} @import url("ultr/bright.css");',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true, 'greedy': false }
|
||||
},
|
||||
{
|
||||
'should': 'Should not respect word boundaries when processing @import url (processUrls:true,greedy:true)',
|
||||
'expected': 'div{display:none;} @import url("urtla/bleft.css");',
|
||||
'input': 'div{display:none;} @import url("ultra/bright.css");',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true, 'greedy': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should preserve comments inside declarations',
|
||||
'expected': 'div { border-radius: 40.25px 10.5px /*comment*/ 10.75px 40.3px; }',
|
||||
'input': 'div { border-radius: 10.5px 40.25px /*comment*/ 40.3px 10.75px; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should flip background-position when expressed in units (useCalc:true)',
|
||||
'expected': 'div { background-position: calc(100% - 10px) 0 }',
|
||||
'input': 'div { background-position: 10px 0 }',
|
||||
'reversable': false,
|
||||
'options': { 'useCalc': true }
|
||||
}
|
||||
]
|
||||
46
node_modules/rtlcss/test/data/rtlcss-plugins.js
generated
vendored
46
node_modules/rtlcss/test/data/rtlcss-plugins.js
generated
vendored
@@ -1,46 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should support plugins',
|
||||
'expected': 'div:before { content: "ABC";} div:after { content: "B";}',
|
||||
'input': 'div:before { content: "A";} div:after { content: "B";}',
|
||||
'reversable': true,
|
||||
'plugins': [
|
||||
{
|
||||
'name': 'test',
|
||||
'directives': {
|
||||
'control': {},
|
||||
'value': []
|
||||
},
|
||||
'processors': [
|
||||
{
|
||||
'name': 'content',
|
||||
'expr': /content/im,
|
||||
'action': function (prop, value, cxt) {
|
||||
if (value === '"A"') {
|
||||
return { 'prop': prop, 'value': '"ABC"' }
|
||||
} else if (value === '"ABC"') {
|
||||
return { 'prop': prop, 'value': '"A"' }
|
||||
}
|
||||
return { 'prop': prop, 'value': value }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
'should': 'Should allow overriding default plugin',
|
||||
'expected': 'div { text-align:right;}',
|
||||
'input': 'div { text-align:right;}',
|
||||
'plugins': [
|
||||
{
|
||||
'name': 'rtlcss',
|
||||
'directives': {
|
||||
'control': {},
|
||||
'value': []
|
||||
},
|
||||
'processors': []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
99
node_modules/rtlcss/test/data/rtlcss-stringMap.js
generated
vendored
99
node_modules/rtlcss/test/data/rtlcss-stringMap.js
generated
vendored
@@ -1,99 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should rename "left", "Left", "LEFT" (autoRename:true). ',
|
||||
'expected': 'div.right, div.Right, div.RIGHT, div.respectLeft { width:10px;}',
|
||||
'input': 'div.left, div.Left, div.LEFT, div.respectLeft { width:10px;}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should rename "left", "Left", "LEFT" (autoRename:true, greedy). ',
|
||||
'expected': 'div.right, div.Right, div.RIGHT, div.respectRight { width:10px;}',
|
||||
'input': 'div.left, div.Left, div.LEFT, div.respectLeft { width:10px;}',
|
||||
'reversable': true,
|
||||
'options': {
|
||||
'autoRename': true,
|
||||
'greedy': true
|
||||
}
|
||||
},
|
||||
{
|
||||
'should': 'Should rename "ltr", "Ltr", "LTR" (autoRename:true). ',
|
||||
'expected': 'div.rtl, div.Rtl, div.RTL, div.Ultra { width:10px;}',
|
||||
'input': 'div.ltr, div.Ltr, div.LTR, div.Ultra { width:10px;}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should rename "ltr", "Ltr", "LTR" (autoRename:true, greedy). ',
|
||||
'expected': 'div.rtl, div.Rtl, div.RTL, div.Urtla { width:10px;}',
|
||||
'input': 'div.ltr, div.Ltr, div.LTR, div.Ultra { width:10px;}',
|
||||
'reversable': true,
|
||||
'options': {
|
||||
'autoRename': true,
|
||||
'greedy': true
|
||||
}
|
||||
},
|
||||
{
|
||||
'should': 'Should rename "prev"/"next" (autoRename:true, custom stringMap - *)',
|
||||
'expected': 'div.next, div.Right { width:10px;}',
|
||||
'input': 'div.prev, div.Left { width:10px;}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'stringMap': [{ 'search': 'prev', 'replace': 'next', 'options': { scope: '*' } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should rename "prev"/"next" (autoRename:true, custom stringMap - selector)',
|
||||
'expected': 'div.next, div.Right { width:10px;}',
|
||||
'input': 'div.prev, div.Left { width:10px;}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'stringMap': [{ 'search': 'prev', 'replace': 'next', 'options': { scope: 'selector' } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should not rename "prev"/"next" (autoRename:true, custom stringMap - url)',
|
||||
'expected': 'div.prev, div.Right { width:10px;}',
|
||||
'input': 'div.prev, div.Left { width:10px;}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'stringMap': [{ 'search': 'prev', 'replace': 'next', 'options': { scope: 'url' } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should not swap "prev"/"next" in Url or Selector (autoRename:true, custom stringMap - url)',
|
||||
'expected': 'div.prev { background-image: url(/content/pix/prev.png);}',
|
||||
'input': 'div.prev { background-image: url(/content/pix/prev.png);}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'stringMap': [{ 'search': 'prev', 'replace': 'next', 'options': { scope: 'url' } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should not swap "prev"/"next" in Url and Rename in selector (autoRename:true, custom stringMap - *)',
|
||||
'expected': 'div.next { display:block }; div.next { background-image: url(/content/pix/next.png);}',
|
||||
'input': 'div.prev { display:block }; div.prev { background-image: url(/content/pix/next.png);}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'stringMap': [{ 'search': 'prev', 'replace': 'next', 'options': { scope: '*' } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should swap "prev"/"next" in Url (autoRename:true, processUrls:true)',
|
||||
'expected': 'div.prev { background-image: url(/content/pix/next.png);}',
|
||||
'input': 'div.prev { background-image: url(/content/pix/prev.png);}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'processUrls': true, 'stringMap': [{ 'search': 'prev', 'replace': 'next', 'options': { scope: 'url' } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should swap "prev"/"next" in Url and Rename in selector (autoRename:true, processUrls:true)',
|
||||
'expected': 'div.next { display:block }; div.prev { background-image: url(/content/pix/prev.png);}',
|
||||
'input': 'div.prev { display:block }; div.prev { background-image: url(/content/pix/next.png);}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'processUrls': true, 'stringMap': [{ 'search': 'prev', 'replace': 'next', 'options': { scope: '*' } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should rename "previous" to "nextious" (autoRename:true, greedy: true)',
|
||||
'expected': 'div.nextious{ width:10px;}',
|
||||
'input': 'div.previous{ width:10px;}',
|
||||
'reversable': true,
|
||||
'options': { 'autoRename': true, 'stringMap': [{ 'name': 'prev-next', 'search': 'prev', 'replace': 'next', 'options': { 'greedy': true } }] }
|
||||
},
|
||||
{
|
||||
'should': 'Should escape strings used in stringMap (processUrls: true, custom stringMap)',
|
||||
'expected': '@import url("//a.b/c-rtl.css"); @import url("//a.b/css");',
|
||||
'input': '@import url("//a.b/c.css"); @import url("//a.b/css");',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true, 'stringMap': [{ 'name': 'import-stylesheet', 'priority': 1, 'exclusive': true, 'search': ['.css'], 'replace': ['-rtl.css'], 'options': { 'scope': 'url' } }] }
|
||||
}
|
||||
]
|
||||
8
node_modules/rtlcss/test/data/special.js
generated
vendored
8
node_modules/rtlcss/test/data/special.js
generated
vendored
@@ -1,8 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should not negate tokens',
|
||||
'expected': 'div { box-shadow: rgba(0, 128, 128, 0.98) inset -5em 1em 0;}',
|
||||
'input': 'div { box-shadow: rgba(0, 128, 128, 0.98) inset 5em 1em 0;}',
|
||||
'reversable': true
|
||||
}
|
||||
]
|
||||
146
node_modules/rtlcss/test/data/transform-origin.js
generated
vendored
146
node_modules/rtlcss/test/data/transform-origin.js
generated
vendored
@@ -1,146 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should mirror (x-offset: 0 means 0%)',
|
||||
'expected': 'div { transform-origin:100%; }',
|
||||
'input': 'div { transform-origin:0; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (x-offset)',
|
||||
'expected': 'div { transform-origin:90.25%; }',
|
||||
'input': 'div { transform-origin:9.75%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror calc (x-offset)',
|
||||
'expected': 'div { transform-origin: -moz-calc(100% - (((25%/2) * 10px))); }',
|
||||
'input': 'div { transform-origin: -moz-calc(((25%/2) * 10px)); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror (x-offset: not percent, not calc)',
|
||||
'expected': 'div { transform-origin:10.75px; }',
|
||||
'input': 'div { transform-origin:10.75px; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (offset-keyword)',
|
||||
'expected': 'div { transform-origin:right; }',
|
||||
'input': 'div { transform-origin:left; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (x-offset y-offset: 0 means 0%)',
|
||||
'expected': 'div { transform-origin:100% 0; }',
|
||||
'input': 'div { transform-origin:0 0; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror with y being calc (x-offset y-offset: 0 means 0%)',
|
||||
'expected': 'div { transform-origin:100% -webkit-calc(15% * (3/2)); }',
|
||||
'input': 'div { transform-origin:0 -webkit-calc(15% * (3/2)); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror percent (x-offset y-offset)',
|
||||
'expected': 'div { transform-origin:30.25% 10%; }',
|
||||
'input': 'div { transform-origin:69.75% 10%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror with x being calc (x-offset y-offset)',
|
||||
'expected': 'div { transform-origin: -webkit-calc(100% - (15% * (3/2))) 30.25%; }',
|
||||
'input': 'div { transform-origin: -webkit-calc(15% * (3/2)) 30.25%; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror with y being calc (x-offset y-offset)',
|
||||
'expected': 'div { transform-origin:30.25% calc(15% * (3/2)); }',
|
||||
'input': 'div { transform-origin:69.75% calc(15% * (3/2)); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (y-offset x-offset-keyword)',
|
||||
'expected': 'div { transform-origin:70% right; }',
|
||||
'input': 'div { transform-origin:70% left; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror with calc (y-offset x-offset-keyword)',
|
||||
'expected': 'div { transform-origin:-ms-calc(140%/2) right; }',
|
||||
'input': 'div { transform-origin:-ms-calc(140%/2) left; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (x-offset-keyword y-offset)',
|
||||
'expected': 'div { transform-origin:right 70%; }',
|
||||
'input': 'div { transform-origin:left 70%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror with calc (x-offset-keyword y-offset)',
|
||||
'expected': 'div { transform-origin:right -moz-calc(((140%/2))); }',
|
||||
'input': 'div { transform-origin:left -moz-calc(((140%/2))); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (y-offset-keyword x-offset)',
|
||||
'expected': 'div { transform-origin:top 30.25%; }',
|
||||
'input': 'div { transform-origin:top 69.75%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror with x being calc (y-offset-keyword x-offset)',
|
||||
'expected': 'div { transform-origin:top calc(100% - (((140%/2)))); }',
|
||||
'input': 'div { transform-origin:top calc(((140%/2))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (x-offset-keyword y-offset-keyword)',
|
||||
'expected': 'div { transform-origin:right top; }',
|
||||
'input': 'div { transform-origin:left top; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (y-offset-keyword x-offset-keyword)',
|
||||
'expected': 'div { transform-origin:top right; }',
|
||||
'input': 'div { transform-origin:top left; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (x-offset y-offset z-offset)',
|
||||
'expected': 'div { transform-origin:80.25% 30% 10%; }',
|
||||
'input': 'div { transform-origin:19.75% 30% 10%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror with x being calc (x-offset y-offset z-offset)',
|
||||
'expected': 'div { transform-origin: calc(100% - (25% * 3 + 20px)) 30% 10%; }',
|
||||
'input': 'div { transform-origin: calc(25% * 3 + 20px) 30% 10%; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (y-offset x-offset-keyword z-offset)',
|
||||
'expected': 'div { transform-origin:20% right 10%; }',
|
||||
'input': 'div { transform-origin:20% left 10%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (x-offset-keyword y-offset z-offset)',
|
||||
'expected': 'div { transform-origin:left 20% 10%; }',
|
||||
'input': 'div { transform-origin:right 20% 10%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (x-offset-keyword y-offset-keyword z-offset)',
|
||||
'expected': 'div { transform-origin:left bottom 10%; }',
|
||||
'input': 'div { transform-origin:right bottom 10%; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror (y-offset-keyword x-offset-keyword z-offset)',
|
||||
'expected': 'div { transform-origin:bottom left 10%; }',
|
||||
'input': 'div { transform-origin:bottom right 10%; }',
|
||||
'reversable': true
|
||||
}
|
||||
]
|
||||
236
node_modules/rtlcss/test/data/transforms.js
generated
vendored
236
node_modules/rtlcss/test/data/transforms.js
generated
vendored
@@ -1,236 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should mirror transform : matrix',
|
||||
'expected': 'div { transform: matrix(2, 0.1, 20.75, 2, 2, 2); }',
|
||||
'input': 'div { transform: matrix(2, -0.1, -20.75, 2, -2, 2); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): matrix',
|
||||
'expected': 'div { transform: matrix(2, 0.1, 0.75, 2, 2, 2); }',
|
||||
'input': 'div { transform: matrix(2, -0.1, -.75, 2, -2, 2); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: matrix',
|
||||
'expected': 'div { transform: matrix( -moz-calc(((25%/2) * 10px)), calc(-1*(((25%/2) * 10px))), 20.75, 2, 2, 2 ); }',
|
||||
'input': 'div { transform: matrix( -moz-calc(((25%/2) * 10px)), calc(((25%/2) * 10px)), -20.75, 2, -2, 2 ); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : matrix3d',
|
||||
'expected': 'div { transform:matrix3d(0.227114470162179, 0.127248412323519, 0, 0.000811630714323203, 0.113139853456515, 1.53997196559414, 0, 0.000596368270149729, 0, 0, 1, 0, -165, 67, 0, 1); }',
|
||||
'input': 'div { transform:matrix3d(0.227114470162179, -0.127248412323519, 0, -0.000811630714323203, -0.113139853456515, 1.53997196559414, 0, 0.000596368270149729, 0, 0, 1, 0, 165, 67, 0, 1); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): matrix3d',
|
||||
'expected': 'div { transform:matrix3d(0.227114470162179, 0.127248412323519, 0, 0.000811630714323203, 0.113139853456515, 1.53997196559414, 0, 0.000596368270149729, 0, 0, 1, 0, -165, 67, 0, 1); }',
|
||||
'input': 'div { transform:matrix3d(0.227114470162179, -.127248412323519, 0, -0.000811630714323203, -0.113139853456515, 1.53997196559414, 0, 0.000596368270149729, 0, 0, 1, 0, 165, 67, 0, 1); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc : matrix3d',
|
||||
'expected': 'div { transform:matrix3d(0.227114470162179, 0.127248412323519, 0, 0.000811630714323203, 0.113139853456515, 1.53997196559414, 0, 0.000596368270149729, 0, 0, 1, 0, calc(-1*(((25%/2) * 10px))), 67, 0, 1); }',
|
||||
'input': 'div { transform:matrix3d(0.227114470162179, -0.127248412323519, 0, -0.000811630714323203, -0.113139853456515, 1.53997196559414, 0, 0.000596368270149729, 0, 0, 1, 0, calc(((25%/2) * 10px)), 67, 0, 1); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : translate',
|
||||
'expected': 'div { transform: translate(-10.75px); }',
|
||||
'input': 'div { transform: translate(10.75px); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): translate',
|
||||
'expected': 'div { transform: translate(-0.75px); }',
|
||||
'input': 'div { transform: translate(.75px); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: translate',
|
||||
'expected': 'div { transform: translate(-moz-calc(-1*(((25%/2) * 10px)))); }',
|
||||
'input': 'div { transform: translate(-moz-calc(((25%/2) * 10px))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : translateX',
|
||||
'expected': 'div { transform: translateX(-50.25px); }',
|
||||
'input': 'div { transform: translateX(50.25px); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): translateX',
|
||||
'expected': 'div { transform: translateX(-0.25px); }',
|
||||
'input': 'div { transform: translateX(.25px); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc : translateX',
|
||||
'expected': 'div { transform: translateX(-ms-calc(-1*(((25%/2) * 10px))))); }',
|
||||
'input': 'div { transform: translateX(-ms-calc(((25%/2) * 10px)))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : translate3d',
|
||||
'expected': 'div { transform: translate3d(-12.75px, 50%, 3em); }',
|
||||
'input': 'div { transform: translate3d(12.75px, 50%, 3em); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): translate3d',
|
||||
'expected': 'div { transform: translate3d(-0.75px, 50%, 3em); }',
|
||||
'input': 'div { transform: translate3d(.75px, 50%, 3em); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: translate3d',
|
||||
'expected': 'div { transform: translate3d(-webkit-calc(-1*(((25%/2) * 10px))))), 50%, calc(((25%/2) * 10px))))); }',
|
||||
'input': 'div { transform: translate3d(-webkit-calc(((25%/2) * 10px)))), 50%, calc(((25%/2) * 10px))))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : rotate',
|
||||
'expected': 'div { transform: rotate(-20.75deg); }',
|
||||
'input': 'div { transform: rotate(20.75deg); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): rotate',
|
||||
'expected': 'div { transform: rotate(-0.75deg); }',
|
||||
'input': 'div { transform: rotate(.75deg); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: rotate',
|
||||
'expected': 'div { transform: rotate(calc(-1*(((25%/2) * 10deg)))); }',
|
||||
'input': 'div { transform: rotate(calc(((25%/2) * 10deg))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : rotate3d',
|
||||
'expected': 'div { transform: rotate3d(10, -20.15, 10, -45.14deg); }',
|
||||
'input': 'div { transform: rotate3d(10, 20.15, 10, 45.14deg); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): rotate3d',
|
||||
'expected': 'div { transform: rotate3d(10, -20, 10, -0.14deg); }',
|
||||
'input': 'div { transform: rotate3d(10, 20, 10, .14deg); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: rotate3d',
|
||||
'expected': 'div { transform: rotate3d(10, -20.15, 10, calc(-1*(((25%/2) * 10deg)))); }',
|
||||
'input': 'div { transform: rotate3d(10, 20.15, 10, calc(((25%/2) * 10deg))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror transform : rotateX',
|
||||
'expected': 'div { transform: rotateX(45deg); }',
|
||||
'input': 'div { transform: rotateX(45deg); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror transform with calc: rotateX',
|
||||
'expected': 'div { transform: rotateX(calc(((25%/2) * 10deg))); }',
|
||||
'input': 'div { transform: rotateX(calc(((25%/2) * 10deg))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror transform : rotateY',
|
||||
'expected': 'div { transform: rotateY(45deg); }',
|
||||
'input': 'div { transform: rotateY(45deg); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror transform with calc: rotateY',
|
||||
'expected': 'div { transform: rotateY(calc(((25%/2) * 10deg))); }',
|
||||
'input': 'div { transform: rotateY(calc(((25%/2) * 10deg))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : rotateZ',
|
||||
'expected': 'div { transform: rotateZ(-45.75deg); }',
|
||||
'input': 'div { transform: rotateZ(45.75deg); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): rotateZ',
|
||||
'expected': 'div { transform: rotateZ(-0.75deg); }',
|
||||
'input': 'div { transform: rotateZ(.75deg); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: rotateZ',
|
||||
'expected': 'div { transform: rotateZ(-ms-calc(-1*(((25%/2) * 10deg)))); }',
|
||||
'input': 'div { transform: rotateZ(-ms-calc(((25%/2) * 10deg))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : skew',
|
||||
'expected': 'div { transform: skew(-20.25rad,-30deg); }',
|
||||
'input': 'div { transform: skew(20.25rad,30deg); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): skew',
|
||||
'expected': 'div { transform: skew(-0.25rad,-30deg); }',
|
||||
'input': 'div { transform: skew(.25rad,30deg); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: skew',
|
||||
'expected': 'div { transform: skew(calc(-1*(((25%/2) * 10rad))),calc(-1*(((25%/2) * 10deg)))); }',
|
||||
'input': 'div { transform: skew(calc(((25%/2) * 10rad)),calc(((25%/2) * 10deg))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : skewX',
|
||||
'expected': 'div { transform: skewX(-20.75rad); }',
|
||||
'input': 'div { transform: skewX(20.75rad); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): skewX',
|
||||
'expected': 'div { transform: skewX(-0.75rad); }',
|
||||
'input': 'div { transform: skewX(.75rad); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: skewX',
|
||||
'expected': 'div { transform: skewX(-moz-calc(-1*(((25%/2) * 10rad)))); }',
|
||||
'input': 'div { transform: skewX(-moz-calc(((25%/2) * 10rad))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform : skewY',
|
||||
'expected': 'div { transform: skewY(-10.75grad); }',
|
||||
'input': 'div { transform: skewY(10.75grad); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform (with no digits before dot): skewY',
|
||||
'expected': 'div { transform: skewY(-0.75grad); }',
|
||||
'input': 'div { transform: skewY(.75grad); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror transform with calc: skewY',
|
||||
'expected': 'div { transform: skewY(calc(-1*(((25%/2) * 10grad)))); }',
|
||||
'input': 'div { transform: skewY(calc(((25%/2) * 10grad))); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror multiple transforms : translateX translateY Rotate',
|
||||
'expected': 'div { transform: translateX(-50.25px) translateY(50.25px) rotate(-20.75deg); }',
|
||||
'input': 'div { transform: translateX(50.25px) translateY(50.25px) rotate(20.75deg); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror multiple transforms with calc : translateX translateY Rotate',
|
||||
'expected': 'div { transform: translateX(-ms-calc(-1*(((25%/2) * 10px)))) translateY(-moz-calc(((25%/2) * 10rad))) rotate(calc(-1*(((25%/2) * 10grad)))); }',
|
||||
'input': 'div { transform: translateX(-ms-calc(((25%/2) * 10px))) translateY(-moz-calc(((25%/2) * 10rad))) rotate(calc(((25%/2) * 10grad))); }',
|
||||
'reversable': false
|
||||
}
|
||||
]
|
||||
104
node_modules/rtlcss/test/data/values-n-syntax.js
generated
vendored
104
node_modules/rtlcss/test/data/values-n-syntax.js
generated
vendored
@@ -1,104 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should mirror property value: border-radius (4 values)',
|
||||
'expected': 'div { border-radius: 40.25px 10.5px 10.75px 40.3px; }',
|
||||
'input': 'div { border-radius: 10.5px 40.25px 40.3px 10.75px; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-radius (3 values)',
|
||||
'expected': 'div { border-radius: 40.75px 10.75px 40.75px 40.3px; }',
|
||||
'input': 'div { border-radius: 10.75px 40.75px 40.3px; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-radius (2 values)',
|
||||
'expected': 'div { border-radius: 40.25px 10.75px; }',
|
||||
'input': 'div { border-radius: 10.75px 40.25px; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-radius (4 values - double)',
|
||||
'expected': 'div { border-radius: 40.25px 10.75px .5px 40.75px / .4em 1em 1em 4.5em; }',
|
||||
'input': 'div { border-radius: 10.75px 40.25px 40.75px .5px / 1em .4em 4.5em 1em; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-radius (3 values - double)',
|
||||
'expected': 'div { border-radius: .40px 10.5px .40px 40px / 4em 1em 4em 3em; }',
|
||||
'input': 'div { border-radius: 10.5px .40px 40px / 1em 4em 3em; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-radius (2 values- double)',
|
||||
'expected': 'div { border-radius: 40px 10px / 2.5em .75em; }',
|
||||
'input': 'div { border-radius: 10px 40px / .75em 2.5em; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-width',
|
||||
'expected': 'div { border-width: 1px 4px .3em 2.5em; }',
|
||||
'input': 'div { border-width: 1px 2.5em .3em 4px; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-width (none length)',
|
||||
'expected': 'div { border-width: thin medium thick none; }',
|
||||
'input': 'div { border-width: thin none thick medium; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-style (4 values)',
|
||||
'expected': 'div { border-style: none dashed dotted solid; }',
|
||||
'input': 'div { border-style: none solid dotted dashed; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: border-color (4 values)',
|
||||
'expected': 'div { border-color: rgba(255, 255, 255, 1) rgb( 0, 0, 0) #000 hsla(0, 100%, 50%, 1); }',
|
||||
'input': 'div { border-color: rgba(255, 255, 255, 1) hsla(0, 100%, 50%, 1) #000 rgb( 0, 0, 0); }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror property value: border-color (3 values)',
|
||||
'expected': 'div { border-color: #000 rgb( 0, 0, 0) hsla(0, 100%, 50%, 1); }',
|
||||
'input': 'div { border-color: #000 rgb( 0, 0, 0) hsla(0, 100%, 50%, 1); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should not mirror property value: border-color (2 values)',
|
||||
'expected': 'div { border-color:rgb( 0, 0, 0) hsla(0, 100%, 50%, 1); }',
|
||||
'input': 'div { border-color:rgb( 0, 0, 0) hsla(0, 100%, 50%, 1); }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: margin',
|
||||
'expected': 'div { margin: .1em auto 3.5rem 2px; }',
|
||||
'input': 'div { margin: .1em 2px 3.5rem auto; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: padding',
|
||||
'expected': 'div { padding: 1px 4px .3rem 2.5em; }',
|
||||
'input': 'div { padding: 1px 2.5em .3rem 4px; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: box-shadow',
|
||||
'expected': 'div { box-shadow: -60px -16px rgba(0, 128, 128, 0.98), -10.25px 5px 5px #ff0, inset -0.5em 1em 0 white; }',
|
||||
'input': 'div { box-shadow: 60px -16px rgba(0, 128, 128, 0.98), 10.25px 5px 5px #ff0, inset 0.5em 1em 0 white; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: text-shadow',
|
||||
'expected': 'div { text-shadow: -60px -16px rgba(0, 128, 128, 0.98), -10.25px 5px 5px #ff0, inset -0.5em 1em 0 white; }',
|
||||
'input': 'div { text-shadow: 60px -16px rgba(0, 128, 128, 0.98), 10.25px 5px 5px #ff0, inset 0.5em 1em 0 white; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value (no digit before the dot): box-shadow, text-shadow',
|
||||
'expected': 'div { box-shadow: inset -0.5em 1em 0 white; text-shadow: inset -0.5em 1em 0 white; }',
|
||||
'input': 'div { box-shadow: inset .5em 1em 0 white; text-shadow: inset .5em 1em 0 white; }',
|
||||
'reversable': false
|
||||
}
|
||||
]
|
||||
69
node_modules/rtlcss/test/data/values.js
generated
vendored
69
node_modules/rtlcss/test/data/values.js
generated
vendored
@@ -1,69 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should mirror property value: clear',
|
||||
'expected': 'div { clear:right; }',
|
||||
'input': 'div { clear:left; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: direction',
|
||||
'expected': 'div { direction:ltr; }',
|
||||
'input': 'div { direction:rtl; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: float',
|
||||
'expected': 'div { float:right; }',
|
||||
'input': 'div { float:left; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: text-align',
|
||||
'expected': 'div { text-align:right; }',
|
||||
'input': 'div { text-align:left; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: cursor nw',
|
||||
'expected': 'div { cursor:nw-resize; }',
|
||||
'input': 'div { cursor:ne-resize; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: cursor sw',
|
||||
'expected': 'div { cursor:sw-resize; }',
|
||||
'input': 'div { cursor:se-resize; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: cursor nesw',
|
||||
'expected': 'div { cursor:nesw-resize; }',
|
||||
'input': 'div { cursor:nwse-resize; }',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should keep property value as is: cursor ew',
|
||||
'expected': 'div { cursor:ew-resize; }',
|
||||
'input': 'div { cursor:ew-resize; }',
|
||||
'reversable': false
|
||||
},
|
||||
{
|
||||
'should': 'Should process string map in url: cursor (processUrls: true)',
|
||||
'expected': '.foo { cursor: url(right.cur), url(rtl.cur), se-resize, auto }',
|
||||
'input': '.foo { cursor: url(left.cur), url(ltr.cur), sw-resize, auto }',
|
||||
'reversable': true,
|
||||
'options': { 'processUrls': true }
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: transition',
|
||||
'expected': '.foo { transition: right .3s ease .1s, left .3s ease .1s, margin-right .3s ease, margin-left .3s ease, padding-right .3s ease, padding-left .3s ease}',
|
||||
'input': '.foo { transition: left .3s ease .1s, right .3s ease .1s, margin-left .3s ease, margin-right .3s ease, padding-left .3s ease, padding-right .3s ease}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should mirror property value: transition-property',
|
||||
'expected': '.foo { transition-property: right; }',
|
||||
'input': '.foo { transition-property: left; }',
|
||||
'reversable': true
|
||||
}
|
||||
]
|
||||
14
node_modules/rtlcss/test/data/variables.js
generated
vendored
14
node_modules/rtlcss/test/data/variables.js
generated
vendored
@@ -1,14 +0,0 @@
|
||||
module.exports = [
|
||||
{
|
||||
'should': 'Should not process variables starting with direction',
|
||||
'expected': ':root {--left-margin: 1em}',
|
||||
'input': ':root {--left-margin: 1em}',
|
||||
'reversable': true
|
||||
},
|
||||
{
|
||||
'should': 'Should not process variables containing direction',
|
||||
'expected': ':root {--brightest: red}',
|
||||
'input': ':root {--brightest: red}',
|
||||
'reversable': true
|
||||
}
|
||||
]
|
||||
44
node_modules/rtlcss/test/test.js
generated
vendored
44
node_modules/rtlcss/test/test.js
generated
vendored
@@ -1,44 +0,0 @@
|
||||
/* global describe */
|
||||
/* global it */
|
||||
var assert = require('assert')
|
||||
var rtlcss = require('../lib/rtlcss.js')
|
||||
var tests = {
|
||||
'# Background:': require('./data/background.js'),
|
||||
'# Background Image:': require('./data/background-image.js'),
|
||||
'# Background Position:': require('./data/background-position.js'),
|
||||
'# Properties:': require('./data/properties.js'),
|
||||
'# Values:': require('./data/values.js'),
|
||||
'# Values (N Value Syntax):': require('./data/values-n-syntax.js'),
|
||||
'# Transforms:': require('./data/transforms.js'),
|
||||
'# Transform Origin:': require('./data/transform-origin.js'),
|
||||
'# RTLCSS (Options):': require('./data/rtlcss-options.js'),
|
||||
'# RTLCSS (Directives):': require('./data/rtlcss-directives.js'),
|
||||
'# RTLCSS (String Map):': require('./data/rtlcss-stringMap.js'),
|
||||
'# RTLCSS (Plugins):': require('./data/rtlcss-plugins.js'),
|
||||
'# RTLCSS (Hooks):': require('./data/rtlcss-hooks.js'),
|
||||
'# Special:': require('./data/special.js'),
|
||||
'# Variables:': require('./data/variables.js')
|
||||
}
|
||||
var key
|
||||
for (key in tests) {
|
||||
var group = tests[key]
|
||||
describe(key, function () {
|
||||
for (var i = 0; i < group.length; i++) {
|
||||
var item = group[i]
|
||||
;(function (test) {
|
||||
it(test.should, function (done) {
|
||||
assert.equal(rtlcss.process(test.input, test.options, test.plugins, test.hooks), test.expected)
|
||||
done()
|
||||
})
|
||||
})(item)
|
||||
if (item.reversable) {
|
||||
(function (test) {
|
||||
it(test.should + ' <REVERESE>', function (done) {
|
||||
assert.equal(rtlcss.process(test.expected, test.options, test.plugins, test.hooks), test.input)
|
||||
done()
|
||||
})
|
||||
})(item)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user