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..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; |
|
johnme
2016/08/17 13:54:01
Nit: value -> available?
harkness
2016/08/18 10:23:26
Done.
|
| +const TEST_BUDGET_EXPIRATION = 3.4; |
|
johnme
2016/08/17 13:54:01
Whilst 3 milliseconds past midnight 1970 is a vali
harkness
2016/08/18 10:23:26
Done.
|
| + |
| +let budgetServiceMock = loadMojoModules( |
| + 'budgetServiceMock', |
| + ['third_party/WebKit/public/platform/modules/budget_service/budget_service.mojom', |
| + 'mojo/public/js/router'] |
| + ).then(mojo => { |
|
johnme
2016/08/17 13:54:01
Nit: please move the ] down next to the )
harkness
2016/08/18 10:23:26
Done.
|
| + let [budget_service, router] = mojo.modules; |
|
johnme
2016/08/17 13:54:01
Nit: camelCase in JS
harkness
2016/08/18 10:23:26
budget_service is the name of the mojo service, so
johnme
2016/08/18 13:04:31
geolocation-mock.js calls one of its loaded mojo s
harkness
2016/08/22 08:57:47
Sounds good, I'll change it.
|
| + |
| + 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); |
| +}); |