| Index: tests/corelib/int_modulo_arith_test.dart
 | 
| diff --git a/tests/corelib/int_modulo_arith_test.dart b/tests/corelib/int_modulo_arith_test.dart
 | 
| index 87d253d36eb28f2296a18c8fc31df180e07a0804..9d5b9eb96ec9cca1019e3393c25d0933318c7eca 100644
 | 
| --- a/tests/corelib/int_modulo_arith_test.dart
 | 
| +++ b/tests/corelib/int_modulo_arith_test.dart
 | 
| @@ -141,14 +141,15 @@ testGcd() {
 | 
|    // Test that gcd of value and other (non-negative) is expectedResult.
 | 
|    // Tests all combinations of positive and negative values and order of
 | 
|    // operands, so use positive values and order is not important.
 | 
| -  test(value, other, [expectedResult]) {
 | 
| -    assert(value % expectedResult == 0);  // Check for bug in test.
 | 
| -    assert(other % expectedResult == 0);
 | 
| +  test(value, other, expectedResult) {
 | 
| +    // Check for bug in test.
 | 
| +    assert(expectedResult == 0 || value % expectedResult == 0);
 | 
| +    assert(expectedResult == 0 || other % expectedResult == 0);
 | 
|      callCombos(value, other, (a, b) {
 | 
|        var result = a.gcd(b);
 | 
|        /// Check that the result is a divisor.
 | 
| -      Expect.equals(0, a % result, "$result | $a");
 | 
| -      Expect.equals(0, b % result, "$result | $b");
 | 
| +      Expect.equals(0, result == 0 ? a : a % result, "$result | $a");
 | 
| +      Expect.equals(0, result == 0 ? b : b % result, "$result | $b");
 | 
|        // Check for bug in test. If assert fails, the expected value is too low,
 | 
|        // and the gcd call has found a greater common divisor.
 | 
|        assert(result >= expectedResult);
 | 
| @@ -163,9 +164,8 @@ testGcd() {
 | 
|      });
 | 
|    }
 | 
|  
 | 
| -  // Throws if either operand is zero, and if both operands are zero.
 | 
| -  testThrows(0, 1000);
 | 
| -  testThrows(0, 0);
 | 
| +  testThrows(2.5, 5);  // Not a method on double.
 | 
| +  testThrows(5, 2.5);  // Not accepting non-int arguments.
 | 
|  
 | 
|    // Format:
 | 
|    //  test(value1, value2, expectedResult);
 | 
| @@ -176,6 +176,9 @@ testGcd() {
 | 
|  
 | 
|    test(9999, 7272, 909);  // Larger numbers
 | 
|  
 | 
| +  test(0, 1000, 1000);  // One operand is zero.
 | 
| +  test(0, 0, 0);        // Both operands are zero.
 | 
| +
 | 
|    // Multiplying both operands by a number multiplies result by same number.
 | 
|    test(693, 609, 21);
 | 
|    test(693 << 5, 609 << 5, 21 << 5);
 | 
| 
 |