wishthis/node_modules/gulp-rtlcss/test.js
2022-01-21 09:28:41 +01:00

72 lines
2.3 KiB
JavaScript

(function() {
'use strict';
var assert = require('assert');
var Vinyl = require('vinyl');
var gulpRtlcss = require('./index');
it('should convert LTR CSS to RTL', function (cb) {
var stream = gulpRtlcss();
stream.on('data', function (file) {
assert.equal(file.contents.toString(), '.selector { float: right; /* comment */ }');
cb();
});
stream.write(new Vinyl({
path: 'styles.css',
contents: Buffer.from('.selector { float: left; /* comment */ }')
}));
});
it('should accept rtlcss configuration', function (cb) {
var stream = gulpRtlcss({
"options": {
"preserveComments": true,
"preserveDirectives": false,
"swapLeftRightInUrl": true,
"swapLtrRtlInUrl": true,
"swapWestEastInUrl": true,
"autoRename": false,
"greedy": false,
"enableLogging": false,
"minify": false
},
"rules": [ ],
"declarations": [ ],
"properties": [ ],
"map": false
});
stream.on('data', function (file) {
assert.equal(file.contents.toString(), ".pull-left {content: ' ';}");
cb();
});
stream.write(new Vinyl({
path: 'styles.css',
contents: Buffer.from(".pull-left {content: ' ';}")
}));
});
it('should honour rtlcss directives', function (cb) {
var stream = gulpRtlcss();
stream.on('data', function (file) {
assert.equal(file.contents.toString(), ".toRight {\n" +
" text-align: left;\n" +
"}\n");
cb();
});
stream.write(new Vinyl({
path: 'styles.css',
contents: Buffer.from(".toRight {\n" +
" /*rtl:remove*/\n" +
" direction: rtl;\n" +
" \n" +
" /*rtl:ignore*/\n" +
" text-align: left;\n" +
"}\n")
}));
});
})();