File tree Expand file tree Collapse file tree 3 files changed +30
-3
lines changed
Expand file tree Collapse file tree 3 files changed +30
-3
lines changed Original file line number Diff line number Diff line change @@ -6,9 +6,9 @@ var dot = '.'.charCodeAt(0)
66var hash = '#' . charCodeAt ( 0 )
77
88/* Parse a simple CSS selector into a HAST node. */
9- function parse ( selector ) {
9+ function parse ( selector , defaultTagName ) {
1010 var value = selector || ''
11- var name = 'div'
11+ var name = defaultTagName || 'div'
1212 var props = { }
1313 var index = - 1
1414 var length = value . length
Original file line number Diff line number Diff line change @@ -29,7 +29,7 @@ Yields:
2929
3030## API
3131
32- ### ` parseSelector([selector]) `
32+ ### ` parseSelector([selector][, defaultTagName] ) `
3333
3434Parse a CSS ` selector ` to a [ HAST] [ ] node.
3535
@@ -39,6 +39,11 @@ Parse a CSS `selector` to a [HAST][] node.
3939and an ID (` #baz ` ). Multiple classes are allowed. Uses the last ID if
4040multiple IDs are found.
4141
42+ ###### ` defaultTagName `
43+
44+ ` string ` , optional, defaults to ` div ` — Tag name to use if ` selector ` does not
45+ specify one.
46+
4247###### Returns
4348
4449[ ` Node ` ] [ hast ] .
Original file line number Diff line number Diff line change @@ -26,6 +26,28 @@ test('parseSelector()', function(t) {
2626 'should return an element with a tag-name when given a tag-name'
2727 )
2828
29+ t . deepEqual (
30+ parseSelector ( null , 'g' ) ,
31+ {
32+ type : 'element' ,
33+ tagName : 'g' ,
34+ properties : { } ,
35+ children : [ ]
36+ } ,
37+ 'should return an `defaultTagName` if no tag name is defined in `selector` (#1)'
38+ )
39+
40+ t . deepEqual (
41+ parseSelector ( '#id' , 'g' ) ,
42+ {
43+ type : 'element' ,
44+ tagName : 'g' ,
45+ properties : { id : 'id' } ,
46+ children : [ ]
47+ } ,
48+ 'should return an `defaultTagName` if no tag name is defined in `selector` (#2)'
49+ )
50+
2951 t . deepEqual (
3052 parseSelector ( '.bar' ) ,
3153 {
You can’t perform that action at this time.
0 commit comments