@@ -472,7 +472,8 @@ describe('Selector Nodes', () => {
472472 const selector = node . first_child ! as Selector
473473 const universalSelector = selector . first_child ! as UniversalSelector
474474 expect ( universalSelector . type_name ) . toBe ( 'UniversalSelector' )
475- expect ( universalSelector . name ) . toBe ( '*' )
475+ expect ( universalSelector . name ) . toBeNull ( )
476+ expect ( universalSelector . namespace ) . toBeNull ( )
476477 } )
477478
478479 test ( 'NESTING_SELECTOR type_name' , ( ) => {
@@ -523,9 +524,11 @@ describe('Selector Nodes', () => {
523524 const firstSelector = node . first_child as Selector | null
524525 expect ( firstSelector ?. type ) . toBe ( SELECTOR )
525526
526- const typeNode = firstSelector ?. first_child
527+ const typeNode = firstSelector ?. first_child as TypeSelector | null
527528 expect ( typeNode ?. type ) . toBe ( TYPE_SELECTOR )
528529 expect ( typeNode ?. text ) . toBe ( 'div' )
530+ expect ( typeNode ?. name ) . toBe ( 'div' )
531+ expect ( typeNode ?. namespace ) . toBeNull ( )
529532 } )
530533
531534 test ( 'should parse class selector' , ( ) => {
@@ -2291,7 +2294,8 @@ describe('Selector Nodes', () => {
22912294 const universal = selector ?. first_child as UniversalSelector | null | undefined
22922295 expect ( universal ?. type ) . toBe ( UNIVERSAL_SELECTOR )
22932296 expect ( universal ?. text ) . toBe ( 'ns|*' )
2294- expect ( universal ?. name ) . toBe ( 'ns' )
2297+ expect ( universal ?. name ) . toBeNull ( )
2298+ expect ( universal ?. namespace ) . toBe ( 'ns' )
22952299 } )
22962300
22972301 test ( 'should parse ns|div (namespace with type selector)' , ( ) => {
@@ -2306,7 +2310,8 @@ describe('Selector Nodes', () => {
23062310 const typeSelector = selector ?. first_child as TypeSelector | null | undefined
23072311 expect ( typeSelector ?. type ) . toBe ( TYPE_SELECTOR )
23082312 expect ( typeSelector ?. text ) . toBe ( 'ns|div' )
2309- expect ( typeSelector ?. name ) . toBe ( 'ns' )
2313+ expect ( typeSelector ?. name ) . toBe ( 'div' )
2314+ expect ( typeSelector ?. namespace ) . toBe ( 'ns' )
23102315 } )
23112316
23122317 test ( 'should parse *|* (any namespace with universal selector)' , ( ) => {
@@ -2319,7 +2324,8 @@ describe('Selector Nodes', () => {
23192324 const universal = selector ?. first_child as UniversalSelector | null | undefined
23202325 expect ( universal ?. type ) . toBe ( UNIVERSAL_SELECTOR )
23212326 expect ( universal ?. text ) . toBe ( '*|*' )
2322- expect ( universal ?. name ) . toBe ( '*' )
2327+ expect ( universal ?. name ) . toBeNull ( )
2328+ expect ( universal ?. namespace ) . toBe ( '*' )
23232329 } )
23242330
23252331 test ( 'should parse *|div (any namespace with type selector)' , ( ) => {
@@ -2332,7 +2338,8 @@ describe('Selector Nodes', () => {
23322338 const typeSelector = selector ?. first_child as TypeSelector | null | undefined
23332339 expect ( typeSelector ?. type ) . toBe ( TYPE_SELECTOR )
23342340 expect ( typeSelector ?. text ) . toBe ( '*|div' )
2335- expect ( typeSelector ?. name ) . toBe ( '*' )
2341+ expect ( typeSelector ?. name ) . toBe ( 'div' )
2342+ expect ( typeSelector ?. namespace ) . toBe ( '*' )
23362343 } )
23372344
23382345 test ( 'should parse |* (empty namespace with universal selector)' , ( ) => {
@@ -2345,8 +2352,8 @@ describe('Selector Nodes', () => {
23452352 const universal = selector ?. first_child as UniversalSelector | null | undefined
23462353 expect ( universal ?. type ) . toBe ( UNIVERSAL_SELECTOR )
23472354 expect ( universal ?. text ) . toBe ( '|*' )
2348- // Empty namespace should result in empty name
2349- expect ( universal ?. name ) . toBe ( '| ' )
2355+ expect ( universal ?. name ) . toBeNull ( )
2356+ expect ( universal ?. namespace ) . toBe ( '' )
23502357 } )
23512358
23522359 test ( 'should parse |div (empty namespace with type selector)' , ( ) => {
@@ -2359,8 +2366,8 @@ describe('Selector Nodes', () => {
23592366 const typeSelector = selector ?. first_child as TypeSelector | null | undefined
23602367 expect ( typeSelector ?. type ) . toBe ( TYPE_SELECTOR )
23612368 expect ( typeSelector ?. text ) . toBe ( '|div' )
2362- // Empty namespace should result in empty name
2363- expect ( typeSelector ?. name ) . toBe ( '| ' )
2369+ expect ( typeSelector ?. name ) . toBe ( 'div' )
2370+ expect ( typeSelector ?. namespace ) . toBe ( '' )
23642371 } )
23652372
23662373 test ( 'should parse namespace selector with class' , ( ) => {
@@ -2374,7 +2381,8 @@ describe('Selector Nodes', () => {
23742381 expect ( children . length ) . toBe ( 2 )
23752382 expect ( children [ 0 ] . type ) . toBe ( TYPE_SELECTOR )
23762383 expect ( children [ 0 ] . text ) . toBe ( 'ns|div' )
2377- expect ( ( children [ 0 ] as TypeSelector ) . name ) . toBe ( 'ns' )
2384+ expect ( ( children [ 0 ] as TypeSelector ) . name ) . toBe ( 'div' )
2385+ expect ( ( children [ 0 ] as TypeSelector ) . namespace ) . toBe ( 'ns' )
23782386 expect ( children [ 1 ] . type ) . toBe ( CLASS_SELECTOR )
23792387 } )
23802388
@@ -2420,17 +2428,20 @@ describe('Selector Nodes', () => {
24202428 const firstType = selectors [ 0 ] . first_child as TypeSelector | null
24212429 expect ( firstType ?. type ) . toBe ( TYPE_SELECTOR )
24222430 expect ( firstType ?. text ) . toBe ( 'ns|div' )
2423- expect ( firstType ?. name ) . toBe ( 'ns' )
2431+ expect ( firstType ?. name ) . toBe ( 'div' )
2432+ expect ( firstType ?. namespace ) . toBe ( 'ns' )
24242433
24252434 const secondType = selectors [ 1 ] . first_child as TypeSelector | null
24262435 expect ( secondType ?. type ) . toBe ( TYPE_SELECTOR )
24272436 expect ( secondType ?. text ) . toBe ( '|span' )
2428- expect ( secondType ?. name ) . toBe ( '|' )
2437+ expect ( secondType ?. name ) . toBe ( 'span' )
2438+ expect ( secondType ?. namespace ) . toBe ( '' )
24292439
24302440 const thirdType = selectors [ 2 ] . first_child as TypeSelector | null
24312441 expect ( thirdType ?. type ) . toBe ( TYPE_SELECTOR )
24322442 expect ( thirdType ?. text ) . toBe ( '*|p' )
2433- expect ( thirdType ?. name ) . toBe ( '*' )
2443+ expect ( thirdType ?. name ) . toBe ( 'p' )
2444+ expect ( thirdType ?. namespace ) . toBe ( '*' )
24342445 } )
24352446
24362447 test ( 'should parse namespace selector with attribute' , ( ) => {
@@ -2443,7 +2454,8 @@ describe('Selector Nodes', () => {
24432454 const children = ( selector as Selector | null ) ?. children || [ ]
24442455 expect ( children . length ) . toBe ( 2 )
24452456 expect ( children [ 0 ] . type ) . toBe ( TYPE_SELECTOR )
2446- expect ( ( children [ 0 ] as TypeSelector ) . name ) . toBe ( 'ns' )
2457+ expect ( ( children [ 0 ] as TypeSelector ) . name ) . toBe ( 'div' )
2458+ expect ( ( children [ 0 ] as TypeSelector ) . namespace ) . toBe ( 'ns' )
24472459 expect ( children [ 1 ] . type ) . toBe ( ATTRIBUTE_SELECTOR )
24482460 } )
24492461
@@ -2457,7 +2469,8 @@ describe('Selector Nodes', () => {
24572469 const children = ( selector as Selector | null ) ?. children || [ ]
24582470 expect ( children . length ) . toBe ( 2 )
24592471 expect ( children [ 0 ] . type ) . toBe ( TYPE_SELECTOR )
2460- expect ( ( children [ 0 ] as TypeSelector ) . name ) . toBe ( 'ns' )
2472+ expect ( ( children [ 0 ] as TypeSelector ) . name ) . toBe ( 'a' )
2473+ expect ( ( children [ 0 ] as TypeSelector ) . namespace ) . toBe ( 'ns' )
24612474 expect ( children [ 1 ] . type ) . toBe ( PSEUDO_CLASS_SELECTOR )
24622475 } )
24632476
@@ -2471,7 +2484,8 @@ describe('Selector Nodes', () => {
24712484 const typeSelector = selector ?. first_child as TypeSelector | null | undefined
24722485 expect ( typeSelector ?. type ) . toBe ( TYPE_SELECTOR )
24732486 expect ( typeSelector ?. text ) . toBe ( 'svg|rect' )
2474- expect ( typeSelector ?. name ) . toBe ( 'svg' )
2487+ expect ( typeSelector ?. name ) . toBe ( 'rect' )
2488+ expect ( typeSelector ?. namespace ) . toBe ( 'svg' )
24752489 } )
24762490
24772491 test ( 'should parse long namespace identifier' , ( ) => {
@@ -2483,7 +2497,8 @@ describe('Selector Nodes', () => {
24832497 const selector = result . first_child
24842498 const typeSelector = selector ?. first_child as TypeSelector | null | undefined
24852499 expect ( typeSelector ?. type ) . toBe ( TYPE_SELECTOR )
2486- expect ( typeSelector ?. name ) . toBe ( 'myNamespace' )
2500+ expect ( typeSelector ?. name ) . toBe ( 'element' )
2501+ expect ( typeSelector ?. namespace ) . toBe ( 'myNamespace' )
24872502 } )
24882503
24892504 test ( 'should handle namespace in nested pseudo-class' , ( ) => {
0 commit comments