web-dev-qa-db-fra.com

ReferenceError: customElements n'est pas défini

J'utilise @ [email protected] , @ngneat/[email protected] (avec Jest ), [email protected] dans un projet et tout fonctionne sur l'application lorsque j'exécute ng serve ou même ng build, mais cela échoue lorsque j'essaye d'exécuter un test suite pour un @Pipe qui utilise Inputmask:

@Pipe:

import { Pipe, PipeTransform } from '@angular/core';

import Inputmask from 'inputmask';

@Pipe({
  name: 'appSomePipe',
})
export class SomePipe implements PipeTransform {
  transform(value: string): string {
    return Inputmask.format(value, {
      jitMasking: true,
      mask: '1111-1',
    });
  }
}

@Spec:

import { createPipeFactory, SpectatorPipe } from '@ngneat/spectator/jest';

import { SomePipe } from './some.pipe';

describe('SomePipe', () => {
  let spectator: SpectatorPipe<SomePipe>;
  const createPipe = createPipeFactory(SomePipe);

  it('test', () => {
    spectator = createPipe(`{{ '11111' | appSome }}`);
    expect(spectator.element).toHaveText('1111-1');
  });
});

Lorsque j'exécute ng test, Il affiche:

ReferenceError: customElements n'est pas défini

  2 | 
> 3 | import Inputmask from 'inputmask';

[~ # ~] ps [~ # ~] : Cette erreur apparaît juste pour Angular 9, dans Angular 8 all les tests ont été réussis.

10
dev_054

Je me souviens être tombé sur votre question et je suis tombé sur autre chose lié à ngx-bootstrap concernant un import ne fonctionnant pas dans Angular 9.

https://valor-software.com/ngx-bootstrap/#/datepicker

Consultez la section d'utilisation et son avertissement concernant Angular 9.

Essayez de faire import InputMask from 'inputmask/somethingMoreSpecificHere'; ou `import {somethingSpecificHere} depuis 'inputmask';

0
AliF50