Index: tests/corelib/big_integer_arith_vm_test.dart |
diff --git a/tests/corelib/big_integer_arith_vm_test.dart b/tests/corelib/big_integer_arith_vm_test.dart |
index 4c7f12de9406021e8d6f4f844ef286ac52afe0f0..ad0f8f71ba2dda72023ba6da322314de4bcdcf26 100644 |
--- a/tests/corelib/big_integer_arith_vm_test.dart |
+++ b/tests/corelib/big_integer_arith_vm_test.dart |
@@ -310,9 +310,33 @@ testBigintGcd() { |
Expect.equals(21 <<40, x.gcd(m)); |
x = 0; |
m = 1000000001; |
- Expect.throws(() => x.gcd(m), (e) => e is ArgumentError); |
+ Expect.equals(m, x.gcd(m)); |
x = 1000000001; |
m = 0; |
+ Expect.equals(x, x.gcd(m)); |
+ x = 0; |
+ m = -1000000001; |
+ Expect.equals(-m, x.gcd(m)); |
+ x = -1000000001; |
+ m = 0; |
+ Expect.equals(-x, x.gcd(m)); |
+ x = 0; |
+ m = 0; |
+ Expect.throws(() => x.gcd(m), (e) => e is ArgumentError); |
+ x = 0; |
+ m = 123456789012345678901234567890; |
+ Expect.equals(m, x.gcd(m)); |
+ x = 123456789012345678901234567890; |
+ m = 0; |
+ Expect.equals(x, x.gcd(m)); |
+ x = 0; |
+ m = -123456789012345678901234567890; |
+ Expect.equals(-m, x.gcd(m)); |
+ x = -123456789012345678901234567890; |
+ m = 0; |
+ Expect.equals(-x, x.gcd(m)); |
+ x = 0; |
+ m = 0; |
Expect.throws(() => x.gcd(m), (e) => e is ArgumentError); |
x = 1234567890; |
m = 19; |