Skip to content

Commit

Permalink
选择器的name和class分开
Browse files Browse the repository at this point in the history
  • Loading branch information
army8735 committed May 17, 2015
1 parent 30616a3 commit 606cd09
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 8 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "homunculus",
"version": "0.9.4",
"version": "0.9.5",
"description": "A lexer&parser by Javascript",
"maintainers": [
{
Expand Down
4 changes: 4 additions & 0 deletions src/lexer/CssLexer.js
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,10 @@ var CssLexer = Lexer.extend(function(rule) {
this.doc = false;
break;
case Token.SELECTOR:
if(this.value) {
token.cancel();
continue;
}
this.sel = true;
this.kw = false;
this.number = false;
Expand Down
4 changes: 2 additions & 2 deletions src/lexer/rule/CssRule.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions tests/csslexer.js
Original file line number Diff line number Diff line change
Expand Up @@ -437,9 +437,8 @@ describe('csslexer', function() {
it('filter', function() {
var lexer = homunculus.getLexer('css');
var tokens = lexer.parse('.a{filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);}');
expect(join(tokens)).to.eql(['.a', '{', 'filter', ':', ' ', 'progid', ':', 'DXImageTransform.Microsoft.gradient',
'(', 'enabled', ' ', '=', ' ', 'false', ')', ';', '}' ]);
expect(type(tokens)).to.eql([21, 8, 10, 8, 1, 5, 8, 5, 8, 15, 1, 8, 1, 15, 8, 8, 8]);
expect(join(tokens)).to.eql(['.a', '{', 'filter', ':', ' ', 'progid', ':', 'DXImageTransform', '.', 'Microsoft', '.', 'gradient', '(', 'enabled', ' ', '=', ' ', 'false', ')', ';', '}' ]);
expect(type(tokens)).to.eql([21, 8, 10, 8, 1, 5, 8, 5, 8, 5, 8, 5, 8, 15, 1, 8, 1, 15, 8, 8, 8]);
});
it('!ie like', function() {
var lexer = homunculus.getLexer('css');
Expand Down
5 changes: 5 additions & 0 deletions tests/cssparser.js
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,11 @@ describe('cssparser', function() {
var node = parser.parse('_:-ms-fullscreen,:root input[type="date"],_:-ms-fullscreen{}');
expect(tree(node)).to.eql([CssNode.SHEET,["_",CssNode.STYLESET,[CssNode.SELECTORS,[CssNode.SELECTOR,[":-ms-fullscreen"],",",CssNode.SELECTOR,[":root","input","[","type","=","\"date\"","]"],",",CssNode.SELECTOR,["_",":-ms-fullscreen"]],CssNode.BLOCK,["{","}"]]]]);
});
it('selector both name and class', function() {
var parser = homunculus.getParser('css');
var node = parser.parse('a.a{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}');
expect(tree(node)).to.eql([CssNode.SHEET,[CssNode.STYLESET,[CssNode.SELECTORS,[CssNode.SELECTOR,["a",".a"]],CssNode.BLOCK,["{",CssNode.STYLE,[CssNode.KEY,["filter"],":",CssNode.VALUE,["progid",":","DXImageTransform",".","Microsoft",".",CssNode.BRACKET,["gradient","(","enabled","=","false",")"]]],"}"]]]]);
});
it('pseudo first', function() {
var parser = homunculus.getParser('css');
var node = parser.parse(':hover{margin:0}');
Expand Down
4 changes: 4 additions & 0 deletions web/lexer/CssLexer.js
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,10 @@ var CssLexer = Lexer.extend(function(rule) {
this.doc = false;
break;
case Token.SELECTOR:
if(this.value) {
token.cancel();
continue;
}
this.sel = true;
this.kw = false;
this.number = false;
Expand Down
Loading

0 comments on commit 606cd09

Please sign in to comment.