Code coverage report for BreakingChangesNotifier.ts

# All files BreakingChangesNotifier.ts

100% Statements 11/11
90% Branches 9/10
100% Functions 5/5
100% Lines 11/11

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    331x
    1x

    1x
    3x

    3x

    2x

    2x
    1x

    3x

    3x

    3x

     import * as vscode from 'vscode';
    import Messages from './Messages';

    export default class BreakingChangesNotifier {
      constructor(public globalState: vscode.Memento) {}

      notifyIfRequired() {
        if (
          this.doesCurrentVersionContainBreakingChanges() &&
          !this.wasBreakingChangesWarningDismissed()
        ) {
          vscode.window
            .showInformationMessage(Messages.BROWSER_BREAKING_CHANGES, Messages.OK)
            .then((result) => {
              if (result === Messages.OK)
                this.globalState.update('BREAKING_CHANGES_DISMISSED', true);
            });
        }
      }

      private doesCurrentVersionContainBreakingChanges(): boolean {
        const extension = vscode.extensions.getExtension(
          'brapifra.vscode-phpserver'
        );

        return extension?.packageJSON.version >= '3.0.0';
      }

      private wasBreakingChangesWarningDismissed() {
        return this.globalState.get('BREAKING_CHANGES_DISMISSED', false);
      }
    }