import type {NodeFor} from 'puppeteer'; import {expectType, expectNotType} from 'tsd'; declare const nodeFor: ( selector: Selector ) => NodeFor; { { expectType( nodeFor( '[data-testid="my-component"] div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div tbody tr' ) ); expectNotType( nodeFor( '[data-testid="my-component"] div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div div tbody tr' ) ); } { expectType(nodeFor('a')); expectNotType(nodeFor('a')); } { expectType(nodeFor('a#ignored')); expectNotType(nodeFor('a#ignored')); } { expectType(nodeFor('a.ignored')); expectNotType(nodeFor('a.ignored')); } { expectType(nodeFor('a[ignored')); expectNotType(nodeFor('a[ignored')); } { expectType(nodeFor('a:ignored')); expectNotType(nodeFor('a:ignored')); } { expectType(nodeFor('ignored a')); expectNotType(nodeFor('ignored a')); } { expectType(nodeFor('ignored a#ignored')); expectNotType(nodeFor('ignored a#ignored')); } { expectType(nodeFor('ignored a.ignored')); expectNotType(nodeFor('ignored a.ignored')); } { expectType(nodeFor('ignored a[ignored')); expectNotType(nodeFor('ignored a[ignored')); } { expectType(nodeFor('ignored a:ignored')); expectNotType(nodeFor('ignored a:ignored')); } { expectType(nodeFor('ignored > a')); expectNotType(nodeFor('ignored > a')); } { expectType(nodeFor('ignored > a#ignored')); expectNotType(nodeFor('ignored > a#ignored')); } { expectType(nodeFor('ignored > a.ignored')); expectNotType(nodeFor('ignored > a.ignored')); } { expectType(nodeFor('ignored > a[ignored')); expectNotType(nodeFor('ignored > a[ignored')); } { expectType(nodeFor('ignored > a:ignored')); expectNotType(nodeFor('ignored > a:ignored')); } { expectType(nodeFor('ignored + a')); expectNotType(nodeFor('ignored + a')); } { expectType(nodeFor('ignored ~ a')); expectNotType(nodeFor('ignored ~ a')); } { expectType(nodeFor('ignored | a')); expectNotType(nodeFor('ignored | a')); } { expectType( nodeFor('ignored ignored > ignored + ignored | a#ignore') ); expectNotType( nodeFor('ignored ignored > ignored + ignored | a#ignore') ); } } { { expectType(nodeFor('')); } { expectType(nodeFor('#ignored')); } { expectType(nodeFor('.ignored')); } { expectType(nodeFor('[ignored')); } { expectType(nodeFor(':ignored')); } { expectType(nodeFor('ignored #ignored')); } { expectType(nodeFor('ignored .ignored')); } { expectType(nodeFor('ignored [ignored')); } { expectType(nodeFor('ignored :ignored')); } { expectType(nodeFor('ignored > #ignored')); } { expectType(nodeFor('ignored > .ignored')); } { expectType(nodeFor('ignored > [ignored')); } { expectType(nodeFor('ignored > :ignored')); } { expectType(nodeFor('ignored + #ignored')); } { expectType(nodeFor('ignored ~ #ignored')); } { expectType(nodeFor('ignored | #ignored')); } { expectType( nodeFor('ignored ignored > ignored ~ ignored + ignored | #ignored') ); } }