aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2022-12-21 22:44:15 +0000
committerLouis Pilfold <louis@lpil.uk>2022-12-21 22:44:15 +0000
commite8122c7a55fefc2dfa34c82b88fa153fbbf66a47 (patch)
treecb22114dff692e8638f01ec66530d9ceca880b4b
parent4adf7b01faa5fe9dce1ffdc02942d63bd5d3bf74 (diff)
downloadgleam_stdlib-e8122c7a55fefc2dfa34c82b88fa153fbbf66a47.tar.gz
gleam_stdlib-e8122c7a55fefc2dfa34c82b88fa153fbbf66a47.zip
Fix JS bug
-rw-r--r--src/gleam_stdlib.mjs20
-rw-r--r--test/gleam/int_test.gleam20
2 files changed, 20 insertions, 20 deletions
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs
index df0f788..d726421 100644
--- a/src/gleam_stdlib.mjs
+++ b/src/gleam_stdlib.mjs
@@ -58,14 +58,14 @@ export function int_to_base_string(int, base) {
}
const int_base_patterns = {
- 2: /[^0-1]/,
- 3: /[^0-2]/,
- 4: /[^0-3]/,
- 5: /[^0-4]/,
- 6: /[^0-5]/,
- 7: /[^0-6]/,
- 8: /[^0-7]/,
- 9: /[^0-8]/,
+ 2: /[^0-1]/,
+ 3: /[^0-2]/,
+ 4: /[^0-3]/,
+ 5: /[^0-4]/,
+ 6: /[^0-5]/,
+ 7: /[^0-6]/,
+ 8: /[^0-7]/,
+ 9: /[^0-8]/,
10: /[^0-9]/,
11: /[^0-9a]/,
12: /[^0-9a-b]/,
@@ -93,10 +93,10 @@ const int_base_patterns = {
34: /[^0-9a-x]/,
35: /[^0-9a-y]/,
36: /[^0-9a-z]/,
-}
+};
export function int_from_base_string(string, base) {
- if (int_base_patterns[base].test(string.toLowerCase())) {
+ if (int_base_patterns[base].test(string.replace(/^-/, "").toLowerCase())) {
return new Error(Nil);
}
diff --git a/test/gleam/int_test.gleam b/test/gleam/int_test.gleam
index 582cec5..608f77f 100644
--- a/test/gleam/int_test.gleam
+++ b/test/gleam/int_test.gleam
@@ -138,11 +138,11 @@ pub fn to_base16_test() {
|> int.to_base16()
|> should.equal("-64")
- 43981
+ 43_981
|> int.to_base16()
|> should.equal("ABCD")
- -43981
+ -43_981
|> int.to_base16()
|> should.equal("-ABCD")
}
@@ -241,7 +241,7 @@ pub fn is_even_test() {
int.is_even(-2)
|> should.be_true
- int.is_even(10006)
+ int.is_even(10_006)
|> should.be_true
int.is_even(1)
@@ -250,7 +250,7 @@ pub fn is_even_test() {
int.is_even(-3)
|> should.be_false
- int.is_even(10005)
+ int.is_even(10_005)
|> should.be_false
}
@@ -264,7 +264,7 @@ pub fn is_odd_test() {
int.is_odd(-2)
|> should.be_false
- int.is_odd(10006)
+ int.is_odd(10_006)
|> should.be_false
int.is_odd(1)
@@ -273,7 +273,7 @@ pub fn is_odd_test() {
int.is_odd(-3)
|> should.be_true
- int.is_odd(10005)
+ int.is_odd(10_005)
|> should.be_true
}
@@ -428,10 +428,10 @@ pub fn random_test() {
|> should.be_true
}
test_average(100, 0, 0, 5)
- test_average(1_000, 0, 100, 5)
- test_average(1_000, -100, 100, 5)
- test_average(1_000, -100, 0, 5)
- test_average(1_000, 0, -100, 5)
+ test_average(1000, 0, 100, 5)
+ test_average(1000, -100, 100, 5)
+ test_average(1000, -100, 0, 5)
+ test_average(1000, 0, -100, 5)
}
pub fn divide_test() {