You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DetectionEvents.spec.ts 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import * as exported from "./DetectionEvents";
  2. // this test is brittle on purpose because it's designed to ensure that the TypeScript conversion maintains backward compatibility
  3. describe( "/modules/detection/DetectionEvents members", () => {
  4. const {
  5. DETECTOR_STATE_CHANGE,
  6. AUDIO_INPUT_STATE_CHANGE,
  7. NO_AUDIO_INPUT,
  8. VAD_NOISY_DEVICE,
  9. VAD_REPORT_PUBLISHED,
  10. VAD_SCORE_PUBLISHED,
  11. VAD_TALK_WHILE_MUTED,
  12. DetectionEvents,
  13. ...others
  14. } = exported as any; // TODO: remove cast after typescript conversion
  15. it( "known members", () => {
  16. expect( DETECTOR_STATE_CHANGE ).toBe( 'detector_state_change' );
  17. expect( AUDIO_INPUT_STATE_CHANGE ).toBe( 'audio_input_state_changed' );
  18. expect( NO_AUDIO_INPUT ).toBe( 'no_audio_input_detected' );
  19. expect( VAD_NOISY_DEVICE ).toBe( 'detection.vad_noise_device' );
  20. expect( VAD_REPORT_PUBLISHED ).toBe( 'vad-report-published' );
  21. expect( VAD_SCORE_PUBLISHED ).toBe( 'detection.vad_score_published' );
  22. expect( VAD_TALK_WHILE_MUTED ).toBe( 'detection.vad_talk_while_muted' );
  23. if ( DetectionEvents ) {
  24. expect( DetectionEvents.DETECTOR_STATE_CHANGE ).toBe( 'detector_state_change' );
  25. expect( DetectionEvents.AUDIO_INPUT_STATE_CHANGE ).toBe( 'audio_input_state_changed' );
  26. expect( DetectionEvents.NO_AUDIO_INPUT ).toBe( 'no_audio_input_detected' );
  27. expect( DetectionEvents.VAD_NOISY_DEVICE ).toBe( 'detection.vad_noise_device' );
  28. expect( DetectionEvents.VAD_REPORT_PUBLISHED ).toBe( 'vad-report-published' );
  29. expect( DetectionEvents.VAD_SCORE_PUBLISHED ).toBe( 'detection.vad_score_published' );
  30. expect( DetectionEvents.VAD_TALK_WHILE_MUTED ).toBe( 'detection.vad_talk_while_muted' );
  31. }
  32. } );
  33. it( "unknown members", () => {
  34. const keys = Object.keys( others );
  35. expect( keys ).withContext( `Extra members: ${ keys.join( ", " ) }` ).toEqual( [] );
  36. } );
  37. } );