Chromium Code Reviews| Index: test/intl/assert.js |
| diff --git a/test/intl/assert.js b/test/intl/assert.js |
| index 3180e6f96e69db62c56f8eb7564bead6e9155a2d..4727f0f5a7ad8b07018042b798f4dd1d11ac00bd 100644 |
| --- a/test/intl/assert.js |
| +++ b/test/intl/assert.js |
| @@ -87,14 +87,13 @@ function deepEquals(a, b) { |
| return deepObjectEquals(a, b); |
| } |
| - |
| /** |
| - * Throws an exception, and prints the values in case of error. |
| + * Throws an exception containing the user_message (if any) and the values. |
| */ |
| -function fail(expected, found) { |
| +function fail(expected, found, user_message = '') { |
| // TODO(cira): Replace String with PrettyPrint for objects and arrays. |
| - var message = 'Failure: expected <' + String(expected) + '>, found <' + |
| - String(found) + '>.'; |
| + var message = 'Failure' + (user_message ? ' (' + user_message + ')' : "") + |
|
JF
2016/04/06 17:00:20
Mixing single and double quotes is odd :-)
Clemens Hammacher
2016/04/07 07:42:52
Done.
|
| + ': expected <' + String(expected) + '>, found <' + String(found) + '>.'; |
| throw new Error(message); |
| } |
| @@ -102,9 +101,9 @@ function fail(expected, found) { |
| /** |
| * Throws if two variables have different types or values. |
| */ |
| -function assertEquals(expected, found) { |
| +function assertEquals(expected, found, user_message = '') { |
| if (!deepEquals(expected, found)) { |
| - fail(expected, found); |
| + fail(expected, found, user_message); |
| } |
| } |
| @@ -112,21 +111,21 @@ function assertEquals(expected, found) { |
| /** |
| * Throws if value is false. |
| */ |
| -function assertTrue(value) { |
| - assertEquals(true, value) |
| +function assertTrue(value, user_message = '') { |
| + assertEquals(true, value, user_message); |
| } |
| /** |
| * Throws if value is true. |
| */ |
| -function assertFalse(value) { |
| - assertEquals(false, value); |
| +function assertFalse(value, user_message = '') { |
| + assertEquals(false, value, user_message); |
| } |
| /** |
| - * Returns true if code throws specified exception. |
| + * Returns if the code throws the specified exception, throws otherwise. |
|
titzer
2016/04/06 18:22:10
You can just reword to "Runs {code} and asserts th
Clemens Hammacher
2016/04/07 07:42:52
Done.
|
| */ |
| function assertThrows(code, type_opt, cause_opt) { |
| var threwException = true; |
|
titzer
2016/04/06 18:22:10
I just noticed this variable is dead.
Clemens Hammacher
2016/04/07 07:42:52
Right, I will remove it.
|
| @@ -142,19 +141,21 @@ function assertThrows(code, type_opt, cause_opt) { |
| assertInstanceof(e, type_opt); |
| } |
| if (arguments.length >= 3) { |
| - assertEquals(e.type, cause_opt); |
| + assertEquals(cause_opt, e.type, 'thrown exception type mismatch'); |
| } |
| // Success. |
| return; |
| } |
| - throw new Error("Did not throw exception"); |
| + var expected = arguments.length >= 3 ? cause_opt : |
| + typeof type_opt == 'function' ? type_opt : 'any exception'; |
| + fail(expected, "no exception", "expected thrown exception"); |
| } |
| /** |
| * Throws an exception if code throws. |
|
titzer
2016/04/06 18:22:10
You can reword this similarly. "Runs {code} and as
Clemens Hammacher
2016/04/07 07:42:52
Done.
|
| */ |
| -function assertDoesNotThrow(code, name_opt) { |
| +function assertDoesNotThrow(code, user_message = '') { |
| try { |
| if (typeof code == 'function') { |
| code(); |
| @@ -162,7 +163,7 @@ function assertDoesNotThrow(code, name_opt) { |
| eval(code); |
| } |
| } catch (e) { |
| - fail("threw an exception: ", e.message || e, name_opt); |
| + fail("no expection", "exception: " + String(e), user_message); |
| } |
| } |