| Index: third_party/WebKit/LayoutTests/http/tests/budget/budget-service-mock.js
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/budget/budget-service-mock.js b/third_party/WebKit/LayoutTests/http/tests/budget/budget-service-mock.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cb51bcffd224e89a941ef843d73e720ee94f5ac0
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/budget/budget-service-mock.js
|
| @@ -0,0 +1,43 @@
|
| +/**
|
| + * Mock implementation of the budget service.
|
| + */
|
| +
|
| +"use strict";
|
| +
|
| +const TEST_BUDGET_COST = 1.2;
|
| +const TEST_BUDGET_VALUE = 2.3;
|
| +const TEST_BUDGET_EXPIRATION = 3.4;
|
| +
|
| +let budgetServiceMock = loadMojoModules(
|
| + 'budgetServiceMock',
|
| + ['third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom',
|
| + 'mojo/public/js/router']
|
| + ).then(mojo => {
|
| + let [budget_service, router] = mojo.modules;
|
| +
|
| + class BudgetServiceMock {
|
| + constructor(interfaceProvider) {
|
| + interfaceProvider.addInterfaceOverrideForTesting(
|
| + budget_service.BudgetService.name,
|
| + handle => this.connectBudgetService_(handle));
|
| +
|
| + this.interfaceProvider_ = interfaceProvider;
|
| + }
|
| +
|
| + connectBudgetService_(handle) {
|
| + this.budgetServiceStub_ = new budget_service.BudgetService.stubClass(this);
|
| + this.budgetServiceRouter_ = new router.Router(handle);
|
| + this.budgetServiceRouter_.setIncomingReceiver(this.budgetServiceStub_);
|
| + }
|
| +
|
| + getCost(operationType) {
|
| + return Promise.resolve({ cost:TEST_BUDGET_COST });
|
| + }
|
| +
|
| + getBudget() {
|
| + return Promise.resolve({ budget: [ { time:TEST_BUDGET_EXPIRATION, budget_at:TEST_BUDGET_VALUE } ] });
|
| + }
|
| + }
|
| + // Connect to the Mojo interface.
|
| + return new BudgetServiceMock(mojo.interfaces);
|
| +});
|
|
|