Testing renderer.createElement('canvas').getContext('2d') in Angular jest

227 Views Asked by At

I have following typescript code:

getWidth(value: string): number {
        const text = this.renderer.createElement('canvas').getContext('2d');
        const { font } = getComputedStyle(
            this.el.nativeElement
        );

        text.font = font;

        return text.measureText(value).width;
    }

And I am trying to test it in Angular Jest.

I have added the following in beforeEach()

beforeEach(() => {
        HTMLCanvasElement.prototype.getContext = jest.fn();
        fixture.detectChanges();
    });

Whenever I try to run it, I get 'Cannot set properties of undefined (setting 'font')' How can I define text?

0

There are 0 best solutions below