microsoft/vscode-react-native

Public

mirrored from https://github.com/microsoft/vscode-react-nativeAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
0.4.1

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/test/resources/fakeExtensionMessageSender.ts

33lines · modepreview

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.

import * as Q from "q";

import * as extensionMessaging from "../../common/extensionMessaging";
import {IInterProcessMessageSender} from "../../common/interProcessMessageSender";

type ExtensionMessage = extensionMessaging.ExtensionMessage;

export interface IMessageSent {
    message: ExtensionMessage;
    args?: any[];
}

export class FakeExtensionMessageSender implements IInterProcessMessageSender {
    private messagesSent: IMessageSent[] = [];

    private messageResponse: Q.Promise<any> = Q.resolve<void>(void 0);

    public sendMessage(message: ExtensionMessage, args?: any[]): Q.Promise<any> {
        this.messagesSent.push({ message: message, args: args });
        return this.messageResponse;
    }

    public getAllMessagesSent(): IMessageSent[] {
        return this.messagesSent;
    }

    public setMessageResponse(result: Q.Promise<any>): void {
        this.messageResponse = result;
    }
}