Chromium Code Reviews| 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..6ca27b4feac99321e7ac110ec6a1ddc9b14bc9dc |
| --- /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_AT = 2.3; |
| +const TEST_BUDGET_TIME = new Date().getTime(); |
|
Peter Beverloo
2016/08/22 17:57:55
One thing to consider:
Rather than hard coding th
harkness
2016/08/23 09:38:18
I'll make this change in the next CL when I add in
|
| + |
| +let budgetServiceMock = loadMojoModules( |
| + 'budgetServiceMock', |
| + ['third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom', |
| + 'mojo/public/js/router' |
| + ]).then(mojo => { |
| + let [budgetService, router] = mojo.modules; |
|
Peter Beverloo
2016/08/22 17:57:55
nit: s/let/const/
harkness
2016/08/23 09:38:18
Done.
|
| + |
| + class BudgetServiceMock { |
| + constructor(interfaceProvider) { |
| + interfaceProvider.addInterfaceOverrideForTesting( |
| + budgetService.BudgetService.name, |
| + handle => this.connectBudgetService_(handle)); |
| + |
| + this.interfaceProvider_ = interfaceProvider; |
| + } |
| + |
| + connectBudgetService_(handle) { |
| + this.budgetServiceStub_ = new budgetService.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_TIME, budget_at:TEST_BUDGET_AT } ] }); |
| + } |
| + } |
| + // Connect to the Mojo interface. |
|
Peter Beverloo
2016/08/22 17:57:55
nit: drop the comment. This doesn't actually "conn
harkness
2016/08/23 09:38:18
Done.
|
| + return new BudgetServiceMock(mojo.interfaces); |
| +}); |