"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _chai = require("chai"); var _webpack = require("webpack"); var _bundle = require("./bundle"); var _path = require("path"); describe('RtlCss Webpack Plugin', function () { it('should contain the correct content', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var fs; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return (0, _bundle.bundle)(); case 2: fs = _context.sent; (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle.css'), 'utf-8')).to.equal('.a {\n float: left;\n}\n\n'); (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle.rtl.css'), 'utf-8')).to.equal('.a {\n float: right;\n}\n\n'); case 5: case "end": return _context.stop(); } } }, _callee); }))); it('should create bundle per chunk', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { var addChunk, fs; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: addChunk = function addChunk(x) { return (0, _extends2["default"])({}, x, { entry: (0, _extends2["default"])({}, x.entry, { bundle2: (0, _bundle.fixture)('index2.js') }) }); }; _context2.next = 3; return (0, _bundle.bundle)(undefined, addChunk); case 3: fs = _context2.sent; (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle.rtl.css'), 'utf-8')).to.equal('.a {\n float: right;\n}\n\n'); (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle2.rtl.css'), 'utf-8')).to.equal('.b {\n float: right;\n}\n\n'); case 6: case "end": return _context2.stop(); } } }, _callee2); }))); it('should contain the correct content when minimized', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { var minimize, fs; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: minimize = function minimize(x) { return (0, _extends2["default"])({}, x, { plugins: x.plugins.concat(new _webpack.LoaderOptionsPlugin({ minimize: true })) }); }; _context3.next = 3; return (0, _bundle.bundle)(undefined, minimize); case 3: fs = _context3.sent; (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle.css'), 'utf-8')).to.equal('.a {\n float: left;\n}\n\n'); (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle.rtl.css'), 'utf-8')).to.equal('.a {\n float: right;\n}\n\n'); case 6: case "end": return _context3.stop(); } } }, _callee3); }))); it('should set filename according to options as object', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() { var fs; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; return (0, _bundle.bundle)({ filename: 'foo.rtl.css' }); case 2: fs = _context4.sent; // eslint-disable-next-line no-unused-expressions (0, _chai.expect)(fs.existsSync((0, _bundle.filePath)('foo.rtl.css'))).to.be["true"]; case 4: case "end": return _context4.stop(); } } }, _callee4); }))); it('should set filename according to options as string', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() { var fs; return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.next = 2; return (0, _bundle.bundle)('foo.rtl.css'); case 2: fs = _context5.sent; // eslint-disable-next-line no-unused-expressions (0, _chai.expect)(fs.existsSync((0, _bundle.filePath)('foo.rtl.css'))).to.be["true"]; case 4: case "end": return _context5.stop(); } } }, _callee5); }))); it('should support [hash]', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() { var fs, hashedFileName; return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: _context6.next = 2; return (0, _bundle.bundle)('foo.[hash].rtl.css'); case 2: fs = _context6.sent; hashedFileName = fs.readdirSync((0, _path.join)(process.cwd(), 'dist')).find(function (s) { return s.startsWith('foo'); }); (0, _chai.expect)(hashedFileName).not.to.equal('foo.[hash].rtl.css'); (0, _chai.expect)(hashedFileName).to.match(/foo\.\w+\.rtl\.css/); case 6: case "end": return _context6.stop(); } } }, _callee6); }))); it('should support [name]', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() { var addChunk, fs; return _regenerator["default"].wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: addChunk = function addChunk(x) { return (0, _extends2["default"])({}, x, { entry: (0, _extends2["default"])({}, x.entry, { bundle2: (0, _bundle.fixture)('index2.js') }) }); }; _context7.next = 3; return (0, _bundle.bundle)('[name]-rtl.css', addChunk); case 3: fs = _context7.sent; (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle-rtl.css'), 'utf-8')).to.equal('.a {\n float: right;\n}\n\n'); (0, _chai.expect)(fs.readFileSync((0, _bundle.filePath)('bundle2-rtl.css'), 'utf-8')).to.equal('.b {\n float: right;\n}\n\n'); case 6: case "end": return _context7.stop(); } } }, _callee7); }))); });