old_contents: // @flow
  
  import { MEDIA_TYPE } from '../media';
  import { getTrackByMediaTypeAndParticipant } from '../tracks';
  
  /**
   * Indicates whether the test mode is enabled. When it's enabled
   * {@link TestHint} and other components from the testing package will be
   * rendered in various places across the app to help with automatic testing.
   *
   * @param {Object} state - The redux store state.
   * @returns {boolean}
   */
  export function isTestModeEnabled(state: Object): boolean {
      const testingConfig = state['features/base/config'].testing;
  
      return Boolean(testingConfig && testingConfig.testMode);
  }
  
  /**
   * Returns the video type of the remote participant's video.
   *
   * @param {Store} store - The redux store.
   * @param {string} id - The participant ID for the remote video.
   * @returns {MEDIA_TYPE}
   */
  export function getRemoteVideoType({ getState }: Object, id: String): boolean {
      return getTrackByMediaTypeAndParticipant(getState()['features/base/tracks'], MEDIA_TYPE.VIDEO, id)?.videoType;
  }
  
  /**
   * Returns whether the last media event received for large video indicates that the video is playing, if not muted.
   *
   * @param {Store} store - The redux store.
   * @returns {boolean}
   */
  export function isLargeVideoReceived({ getState }: Object): boolean {
      const largeVideoParticipantId = getState()['features/large-video'].participantId;
      const videoTrack = getTrackByMediaTypeAndParticipant(
          getState()['features/base/tracks'], MEDIA_TYPE.VIDEO, largeVideoParticipantId);
      const lastMediaEvent = getState()['features/large-video'].lastMediaEvent;
  
      return videoTrack && !videoTrack.muted && (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough');
  }
  
  /**
   * Returns whether the last media event received for a remote video indicates that the video is playing, if not muted.
   *
   * @param {Store} store - The redux store.
   * @param {string} id - The participant ID for the remote video.
   * @returns {boolean}
   */
  export function isRemoteVideoReceived({ getState }: Object, id: String): boolean {
      const videoTrack = getTrackByMediaTypeAndParticipant(getState()['features/base/tracks'], MEDIA_TYPE.VIDEO, id);
      const lastMediaEvent = videoTrack.lastMediaEvent;
  
      return !videoTrack.muted && (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough');
  }
  
new_contents: // @flow
  
  import { MEDIA_TYPE } from '../media';
  import { getTrackByMediaTypeAndParticipant } from '../tracks';
  
  /**
   * Indicates whether the test mode is enabled. When it's enabled
   * {@link TestHint} and other components from the testing package will be
   * rendered in various places across the app to help with automatic testing.
   *
   * @param {Object} state - The redux store state.
   * @returns {boolean}
   */
  export function isTestModeEnabled(state: Object): boolean {
      const testingConfig = state['features/base/config'].testing;
  
      return Boolean(testingConfig && testingConfig.testMode);
  }
  
  /**
   * Returns the video type of the remote participant's video.
   *
   * @param {Store} store - The redux store.
   * @param {string} id - The participant ID for the remote video.
   * @returns {MEDIA_TYPE}
   */
  export function getRemoteVideoType({ getState }: Object, id: String): boolean {
      return getTrackByMediaTypeAndParticipant(getState()['features/base/tracks'], MEDIA_TYPE.VIDEO, id)?.videoType;
  }
  
  /**
   * Returns whether the last media event received for large video indicates that the video is playing, if not muted.
   *
   * @param {Store} store - The redux store.
   * @returns {boolean}
   */
  export function isLargeVideoReceived({ getState }: Object): boolean {
      const largeVideoParticipantId = getState()['features/large-video'].participantId;
      const videoTrack = getTrackByMediaTypeAndParticipant(
          getState()['features/base/tracks'], MEDIA_TYPE.VIDEO, largeVideoParticipantId);
      const lastMediaEvent = getState()['features/large-video'].lastMediaEvent;
  
      return videoTrack && !videoTrack.muted && (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough');
  }
  
  /**
   * Returns whether the last media event received for a remote video indicates that the video is playing, if not muted.
   *
   * @param {Store} store - The redux store.
   * @param {string} id - The participant ID for the remote video.
   * @returns {boolean}
   */
  export function isRemoteVideoReceived({ getState }: Object, id: String): boolean {
      const videoTrack = getTrackByMediaTypeAndParticipant(getState()['features/base/tracks'], MEDIA_TYPE.VIDEO, id);
      const lastMediaEvent = videoTrack?.lastMediaEvent;
  
      return !videoTrack.muted && (lastMediaEvent === 'playing' || lastMediaEvent === 'canplaythrough');
  }
  
subject: Make sure test doesn't error out.