Index: third_party/WebKit/LayoutTests/http/tests/budget/get-cost.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/budget/get-cost.html b/third_party/WebKit/LayoutTests/http/tests/budget/get-cost.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..66290d7c268dce6855cbe5f0c040dc40874562ee |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/budget/get-cost.html |
@@ -0,0 +1,37 @@ |
+<!doctype html> |
+<html> |
+ <head> |
+ <title>Budget API: Make basic getCost calls.</title> |
+ <script src="../resources/testharness.js"></script> |
+ <script src="../resources/testharnessreport.js"></script> |
+ <script src="/js-test-resources/mojo-helpers.js"></script> |
+ <script src="budget-service-mock.js"></script> |
+ </head> |
+ <body> |
+ <script> |
+ if (!window.mojo) |
+ debug('This test can not run without mojo'); |
+ |
+ promise_test(function() { |
+ return budgetServiceMock.then(mock => { |
+ assert_own_property(Navigator.prototype, 'budget'); |
+ return navigator.budget.getCost("silent-push"); |
+ }).then(cost => { |
+ assert_equals(cost, TEST_BUDGET_COST); |
+ }); |
+ }, 'BudgetService.GetCost should return correct results.'); |
+ |
+ promise_test(function() { |
+ return budgetServiceMock.then(mock => { |
+ assert_own_property(Navigator.prototype, 'budget'); |
+ return navigator.budget.getCost("frobinator"); |
+ }).then(cost => { |
+ assert_unreached('getCost should have failed with an invalid argument.'); |
+ }, function(error) { |
+ assert_equals(error.name, 'TypeError'); |
+ assert_equals(error.message, "Failed to execute 'getCost' on 'BudgetService': The provided value 'frobinator' is not a valid enum value of type ActionType."); |
+ }); |
+ }, 'BudgetService.GetCost should return Type Error if an invalid argument is provided.'); |
+ </script> |
+ </body> |
+</html> |