[6a3a178] | 1 | "use strict";
|
---|
| 2 |
|
---|
| 3 | var _ava = _interopRequireDefault(require("ava"));
|
---|
| 4 |
|
---|
| 5 | var _postcss = _interopRequireDefault(require("postcss"));
|
---|
| 6 |
|
---|
| 7 | var _helpers = require("./util/helpers");
|
---|
| 8 |
|
---|
| 9 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
---|
| 10 |
|
---|
| 11 | var cse = 'CssSyntaxError';
|
---|
| 12 |
|
---|
| 13 | function showCode(t, selector) {
|
---|
| 14 | var rule = _postcss["default"].parse(selector).first;
|
---|
| 15 |
|
---|
| 16 | try {
|
---|
| 17 | (0, _helpers.parse)(rule);
|
---|
| 18 | } catch (e) {
|
---|
| 19 | if (e.name !== cse) {
|
---|
| 20 | return;
|
---|
| 21 | } // Removes ANSI codes from snapshot tests as it makes them illegible.
|
---|
| 22 | // The formatting of this error is otherwise identical to e.toString()
|
---|
| 23 |
|
---|
| 24 |
|
---|
| 25 | t.snapshot(cse + ": " + e.message + "\n\n" + e.showSourceCode(false) + "\n");
|
---|
| 26 | }
|
---|
| 27 | }
|
---|
| 28 |
|
---|
| 29 | (0, _ava["default"])('missing open square bracket', showCode, 'a b c] {}');
|
---|
| 30 | (0, _ava["default"])('missing open parenthesis', showCode, 'a b c) {}');
|
---|
| 31 | (0, _ava["default"])('missing pseudo class or pseudo element', showCode, 'a b c: {}');
|
---|
| 32 | (0, _ava["default"])('space in between colon and word (incorrect pseudo)', showCode, 'a b: c {}');
|
---|
| 33 | (0, _ava["default"])('string after colon (incorrect pseudo)', showCode, 'a b:"wow" {}'); // attribute selectors
|
---|
| 34 |
|
---|
| 35 | (0, _ava["default"])('bad string attribute', showCode, '["hello"] {}');
|
---|
| 36 | (0, _ava["default"])('bad string attribute with value', showCode, '["foo"=bar] {}');
|
---|
| 37 | (0, _ava["default"])('bad parentheses', showCode, '[foo=(bar)] {}');
|
---|
| 38 | (0, _ava["default"])('bad lonely asterisk', showCode, '[*] {}');
|
---|
| 39 | (0, _ava["default"])('bad lonely pipe', showCode, '[|] {}');
|
---|
| 40 | (0, _ava["default"])('bad lonely caret', showCode, '[^] {}');
|
---|
| 41 | (0, _ava["default"])('bad lonely dollar', showCode, '[$] {}');
|
---|
| 42 | (0, _ava["default"])('bad lonely tilde', showCode, '[~] {}');
|
---|
| 43 | (0, _ava["default"])('bad lonely equals', showCode, '[=] {}');
|
---|
| 44 | (0, _ava["default"])('bad lonely operator', showCode, '[*=] {}');
|
---|
| 45 | (0, _ava["default"])('bad lonely operator (2)', showCode, '[|=] {}');
|
---|
| 46 | (0, _ava["default"])('bad doubled operator', showCode, '[href=foo=bar] {}'); |
---|