From 5ca41dc152f3df49d3e7acfe9977186b78b4172d Mon Sep 17 00:00:00 2001 From: Ryan Tsao Date: Tue, 9 Jun 2015 13:23:44 -0700 Subject: [PATCH] at-rule support --- lib/parse.js | 1 + lib/stringify.js | 2 ++ test/test-cases.js | 7 +++++++ 3 files changed, 10 insertions(+) diff --git a/lib/parse.js b/lib/parse.js index 3d52779..300698c 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -168,6 +168,7 @@ var parser = new Parser({ ":([A-Za-z_\\-0-9]+)\\(": pseudoClassStartMatch, ":([A-Za-z_\\-0-9]+)": typeMatch("pseudo-class"), "::([A-Za-z_\\-0-9]+)": typeMatch("pseudo-element"), + "@([A-Za-z_\\-0-9]+)": typeMatch("at-rule"), "(\\*\\|)([A-Za-z_\\-0-9]+)": elementMatch, "(\\*\\|)\\*": universalMatch, "([A-Za-z_\\-0-9]*\\|)?\\*": universalMatch, diff --git a/lib/stringify.js b/lib/stringify.js index 334dd24..627ffea 100644 --- a/lib/stringify.js +++ b/lib/stringify.js @@ -14,6 +14,8 @@ function stringifyWithoutBeforeAfter(tree) { return "." + tree.name; case "id": return "#" + tree.name; + case "at-rule": + return "@" + tree.name; case "attribute": return "[" + tree.content + "]"; case "spacing": diff --git a/test/test-cases.js b/test/test-cases.js index 74eb3f1..e339e36 100644 --- a/test/test-cases.js +++ b/test/test-cases.js @@ -55,6 +55,13 @@ module.exports = { ]) ], + "at rule": [ + "@keyframes", + singleSelector([ + { type: "at-rule", name: "keyframes" } + ]) + ], + "pseudo class": [ ":before", singleSelector([