stylelint
Version:
Modern CSS linter
201 lines (190 loc) • 6.59 kB
JavaScript
"use strict";
var _testRule = require("../../../testUtils/testRule");
var _testRule2 = _interopRequireDefault(_testRule);
var _ = require("..");
var _2 = _interopRequireDefault(_);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
(0, _testRule2.default)(_2.default, {
ruleName: _.ruleName,
config: ["always"],
accept: [{
code: "@import url('foo.css');"
}, {
code: "@document url('http://www.w3.org/');"
}, {
code: "@font-face { font-family: 'foo'; src: url(data:font/ttf;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=); }"
}, {
code: "@font-face { font-family: 'foo'; src: url('data:font/ttf;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }"
}, {
code: "@font-face { font-family: 'foo'; src: url(\"data:font/ttf;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=\"); }"
}, {
code: "a { background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }"
}, {
code: "a { cursor: url('data:image/ico;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }"
}, {
code: "a { background-image: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') }"
}, {
code: "a { background-image: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') }"
}, {
code: "a { list-style: square url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') }"
}, {
code: "a { background: url(); }",
description: "ignore empty url function"
}, {
code: "a { background: url(''); }",
description: "ignore empty url function"
}, {
code: "a { background: url(\"\"); }",
description: "ignore empty url function"
}, {
code: "a { background: some-url(); }",
description: "ignore contain url function"
}, {
code: "a { background: url($image); }",
description: "ignore variable"
}, {
code: "a { background: url(@image); }",
description: "ignore variable"
}, {
code: "a { background: url(var(--image)); }",
description: "ignore variable"
}],
reject: [{
code: "@font-face { font-family: 'foo'; src: url(foo.ttf); }",
message: _.messages.expected,
line: 1,
column: 34
}, {
code: "@font-face { font-family: 'foo'; src: url('foo.ttf'); }",
message: _.messages.expected,
line: 1,
column: 34
}, {
code: "@font-face { font-family: 'foo'; src: url(\"foo.ttf'\"); }",
message: _.messages.expected,
line: 1,
column: 34
}, {
code: "a { background: url('foo.png'); }",
message: _.messages.expected,
line: 1,
column: 5
}, {
code: "a { cursor: url('foo.ico'); }",
message: _.messages.expected,
line: 1,
column: 5
}, {
code: "a { list-style: square url('foo.png') }",
message: _.messages.expected,
line: 1,
column: 5
}, {
code: "a { background-image: url('foo.png'); }",
message: _.messages.expected,
line: 1,
column: 5
}, {
code: "a { background-image: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='), url('bar.png'); }",
message: _.messages.expected,
line: 1,
column: 5
}, {
code: "a { background-image: url('foo.png'), url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }",
message: _.messages.expected,
line: 1,
column: 5
}]
});
(0, _testRule2.default)(_2.default, {
ruleName: _.ruleName,
config: ["never"],
accept: [{
code: "@import url('foo.css');"
}, {
code: "@document url('http://www.w3.org/');"
}, {
code: "@font-face { font-family: 'foo'; src: url(foo.ttf); }"
}, {
code: "@font-face { font-family: 'foo'; src: url('foo.ttf'); }"
}, {
code: "@font-face { font-family: 'foo'; src: url(\"foo.ttf\"); }"
}, {
code: "a { background: url('image.png'); }"
}, {
code: "a { cursor: url('image.ico'); }"
}, {
code: "a { background-image: url('image.png') }"
}, {
code: "a { background-image: url('image.png') url('image2.png') }"
}, {
code: "a { list-style: square url('image.png') }"
}, {
code: "a { background: url(); }",
description: "ignore empty url function"
}, {
code: "a { background: url(''); }",
description: "ignore empty url function"
}, {
code: "a { background: url(\"\"); }",
description: "ignore empty url function"
}, {
code: "a { background: some-url(); }",
description: "ignore contain url function"
}, {
code: "a { background: url($image); }",
description: "ignore variable"
}, {
code: "a { background: url(@image); }",
description: "ignore variable"
}, {
code: "a { background: url(var(--image)); }",
description: "ignore variable"
}],
reject: [{
code: "@font-face { font-family: 'foo'; src: url(data:font/ttf;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=); }",
message: _.messages.rejected,
line: 1,
column: 34
}, {
code: "@font-face { font-family: 'foo'; src: url('data:font/ttf;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }",
message: _.messages.rejected,
line: 1,
column: 34
}, {
code: "@font-face { font-family: 'foo'; src: url(\"data:font/ttf;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='\"); }",
message: _.messages.rejected,
line: 1,
column: 34
}, {
code: "a { background: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }",
message: _.messages.rejected,
line: 1,
column: 5
}, {
code: "a { cursor: url('data:image/ico;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }",
message: _.messages.rejected,
line: 1,
column: 5
}, {
code: "a { list-style: square url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=') }",
message: _.messages.rejected,
line: 1,
column: 5
}, {
code: "a { background-image: url('data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='); }",
message: _.messages.rejected,
line: 1,
column: 5
}, {
code: "a { background-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=), url(bar.png); }",
message: _.messages.rejected,
line: 1,
column: 5
}, {
code: "a { background-image: url(foo.png), url(data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=); }",
message: _.messages.rejected,
line: 1,
column: 5
}]
});