extract-from-css
Advanced tools
Comparing version 0.1.1 to 0.2.0
var cssParser = require('css'); | ||
var rClassNameInSelector = /\.((?:[\w-]|\\(?:[^A-Fa-f0-9]|[A-Fa-f0-9]{1,6} ?))+)/gm; | ||
var rClassNameInSelector = /\.((?:[^\0-\237]|[A-Za-z0-9_-]|\\(?:[^A-Fa-f0-9]|[A-Fa-f0-9]{1,6} ?))+)/gm; | ||
var rEscapedCharacter = /\\([^A-Fa-f0-9]|[A-Fa-f0-9]{1,6} ?)/g; | ||
@@ -6,0 +6,0 @@ var rEscapedHex = /\\([A-Fa-f0-9]+)/; |
{ | ||
"name": "extract-from-css", | ||
"version": "0.1.1", | ||
"version": "0.2.0", | ||
"description": "Extract information from CSS code", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -7,3 +7,3 @@ # Extract from CSS | ||
Depencencies: | ||
Dependencies: | ||
@@ -28,6 +28,4 @@ * node >=0.8.0 | ||
Works with nested rules (inside media queries, supports...), complex selectors, escaped characters... See tests. | ||
Works with nested rules (inside media queries, supports...), complex selectors, escaped characters and utf-8 symbols (♠, ♥, ★...) in class names. See tests. | ||
Pending support for UTF-8 symbols (♠, ♥, ★...). | ||
## Tests | ||
@@ -34,0 +32,0 @@ |
@@ -62,2 +62,6 @@ | ||
}); | ||
it('should extract class names with utf-8 characters', function() { | ||
var classNames = extractClasses('.list-★-item { prop: value; }'); | ||
expect(classNames).toEqualIgnoreOrder(['list-★-item']); | ||
}); | ||
}); | ||
@@ -67,11 +71,11 @@ | ||
it('should extract class names at the beginning of a complex selector', function() { | ||
var classNames = extractClasses('.class-name#identifier[attr]:hover:after { prop: value; }'); | ||
var classNames = extractClasses('.class-name * > tag ~ [attr~="test"] + #identifier:hover:after { prop: value; }'); | ||
expect(classNames).toEqualIgnoreOrder(['class-name']); | ||
}); | ||
it('should extract class names at the middle of a complex selector', function() { | ||
var classNames = extractClasses('#identifier[attr].class-name:hover:after { prop: value; }'); | ||
var classNames = extractClasses('* > tag ~ [attr~="test"].class-name + #identifier:hover:after { prop: value; }'); | ||
expect(classNames).toEqualIgnoreOrder(['class-name']); | ||
}); | ||
it('should extract class names at the end of a complex selector', function() { | ||
var classNames = extractClasses('#identifier[attr]:hover:after.class-name { prop: value; }'); | ||
var classNames = extractClasses('* > tag ~ [attr~="test"] + #identifier:hover:after.class-name { prop: value; }'); | ||
expect(classNames).toEqualIgnoreOrder(['class-name']); | ||
@@ -78,0 +82,0 @@ }); |
10131
183
68