Skip to content

Commit ccd499a

Browse files
ota-meshijonathantneal
authored andcommitted
Fixed 150
1 parent 4c6dfdb commit ccd499a

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/__tests__/attributes.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,32 @@ test('non standard modifiers', '[href="foo" y]', (t, tree) => {
401401
t.deepEqual(tree.toString(), '[href="foo" y]');
402402
});
403403

404+
test('comment after insensitive(non space)', '[href="foo" i/**/]', (t, tree) => {
405+
// https://github.com/postcss/postcss-selector-parser/issues/150
406+
let attr = tree.atPosition(1, 13);
407+
t.deepEqual(attr.insensitive, true);
408+
t.deepEqual(attr.insensitiveFlag, 'i');
409+
t.is(attr.raws.insensitiveFlag, undefined);
410+
t.deepEqual(attr.raws.spaces.insensitive.after, '/**/');
411+
t.deepEqual(tree.toString(), '[href="foo" i/**/]');
412+
});
413+
414+
test('comment after insensitive(space after)', '[href="foo" i/**/ ]', (t, tree) => {
415+
let attr = tree.atPosition(1, 13);
416+
t.deepEqual(attr.insensitive, true);
417+
t.deepEqual(attr.insensitiveFlag, 'i');
418+
t.deepEqual(attr.raws.spaces.insensitive.after, '/**/ ');
419+
t.deepEqual(tree.toString(), '[href="foo" i/**/ ]');
420+
});
421+
422+
test('comment after insensitive(space before)', '[href="foo" i /**/]', (t, tree) => {
423+
let attr = tree.atPosition(1, 13);
424+
t.deepEqual(attr.insensitive, true);
425+
t.deepEqual(attr.insensitiveFlag, 'i');
426+
t.deepEqual(attr.raws.spaces.insensitive.after, ' /**/');
427+
t.deepEqual(tree.toString(), '[href="foo" i /**/]');
428+
});
429+
404430
const testDeprecation = nodeVersionAtLeast('7.0.0') || nodeVersionBefore('6.0.0') ? test : test.skip;
405431

406432
testDeprecation('deprecated constructor', '', (t) => {

src/parser.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,9 @@ export default class Parser {
357357
break;
358358
case tokens.comment:
359359
if (lastAdded) {
360-
if (spaceAfterMeaningfulToken || (next && next[TOKEN.TYPE] === tokens.space)) {
360+
if (spaceAfterMeaningfulToken || (next && next[TOKEN.TYPE] === tokens.space) ||
361+
lastAdded === 'insensitive'
362+
) {
361363
const lastComment = getProp(node, 'spaces', lastAdded, 'after') || '';
362364
const rawLastComment = getProp(node, 'raws', 'spaces', lastAdded, 'after') || lastComment;
363365

0 commit comments

Comments
 (0)