UNPKG

@ngneat/spectator

Version:

A powerful tool to simplify your Angular tests

29 lines 4.07 kB
import { DomSpectator } from '../base/dom-spectator'; import { setHostProps } from '../internals/query'; /** * @publicApi */ export class SpectatorDirective extends DomSpectator { constructor(hostComponent, fixture, debugElement, instance, element) { super(fixture, debugElement, instance, element); this.hostComponent = hostComponent; this.fixture = fixture; this.debugElement = debugElement; this.instance = instance; this.element = element; } get directive() { return this.instance; } inject(token, fromDirectiveInjector = false) { if (fromDirectiveInjector) { return this.debugElement.injector.get(token); } return super.inject(token); } setHostInput(input, value) { setHostProps(this.fixture.componentRef, input, value); this.detectChanges(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY3RhdG9yLWRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWN0YXRvci9zcmMvbGliL3NwZWN0YXRvci1kaXJlY3RpdmUvc3BlY3RhdG9yLWRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBSzVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUF5QyxTQUFRLFlBQWU7SUFDM0UsWUFDUyxhQUFnQixFQUNoQixPQUE4QixFQUM5QixZQUEwQixFQUN2QixRQUFXLEVBQ2QsT0FBZ0I7UUFFdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBTnpDLGtCQUFhLEdBQWIsYUFBYSxDQUFHO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQUc7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFTO0lBR3pCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNLENBQUksS0FBZSxFQUFFLHdCQUFpQyxLQUFLO1FBQ3RFLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQWlCLENBQUM7UUFDL0QsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBSU0sWUFBWSxDQUFDLEtBQVUsRUFBRSxLQUFXO1FBQ3pDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5cbmltcG9ydCB7IERvbVNwZWN0YXRvciB9IGZyb20gJy4uL2Jhc2UvZG9tLXNwZWN0YXRvcic7XG5pbXBvcnQgeyBzZXRIb3N0UHJvcHMsIHNldFByb3BzIH0gZnJvbSAnLi4vaW50ZXJuYWxzL3F1ZXJ5JztcbmltcG9ydCB7IFNweU9iamVjdCB9IGZyb20gJy4uL21vY2snO1xuaW1wb3J0IHsgSG9zdENvbXBvbmVudCB9IGZyb20gJy4uL3NwZWN0YXRvci1ob3N0L2hvc3QtY29tcG9uZW50JztcbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnLi4vdG9rZW4nO1xuXG4vKipcbiAqIEBwdWJsaWNBcGlcbiAqL1xuZXhwb3J0IGNsYXNzIFNwZWN0YXRvckRpcmVjdGl2ZTxELCBIID0gSG9zdENvbXBvbmVudD4gZXh0ZW5kcyBEb21TcGVjdGF0b3I8RD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaG9zdENvbXBvbmVudDogSCxcbiAgICBwdWJsaWMgZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxhbnk+LFxuICAgIHB1YmxpYyBkZWJ1Z0VsZW1lbnQ6IERlYnVnRWxlbWVudCxcbiAgICBwcm90ZWN0ZWQgaW5zdGFuY2U6IEQsXG4gICAgcHVibGljIGVsZW1lbnQ6IEVsZW1lbnQsXG4gICkge1xuICAgIHN1cGVyKGZpeHR1cmUsIGRlYnVnRWxlbWVudCwgaW5zdGFuY2UsIGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXJlY3RpdmUoKTogRCB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2U7XG4gIH1cblxuICBwdWJsaWMgaW5qZWN0PFQ+KHRva2VuOiBUb2tlbjxUPiwgZnJvbURpcmVjdGl2ZUluamVjdG9yOiBib29sZWFuID0gZmFsc2UpOiBTcHlPYmplY3Q8VD4ge1xuICAgIGlmIChmcm9tRGlyZWN0aXZlSW5qZWN0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmRlYnVnRWxlbWVudC5pbmplY3Rvci5nZXQodG9rZW4pIGFzIFNweU9iamVjdDxUPjtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIuaW5qZWN0KHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRIb3N0SW5wdXQ8SyBleHRlbmRzIGtleW9mIEg+KGlucHV0OiBQYXJ0aWFsPEg+KTogdm9pZDtcbiAgcHVibGljIHNldEhvc3RJbnB1dDxLIGV4dGVuZHMga2V5b2YgSD4oaW5wdXQ6IEssIGlucHV0VmFsdWU6IEhbS10pOiB2b2lkO1xuICBwdWJsaWMgc2V0SG9zdElucHV0KGlucHV0OiBhbnksIHZhbHVlPzogYW55KTogdm9pZCB7XG4gICAgc2V0SG9zdFByb3BzKHRoaXMuZml4dHVyZS5jb21wb25lbnRSZWYsIGlucHV0LCB2YWx1ZSk7XG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiJdfQ==