summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMohammad Sulaiman <mohammad.sulaiman@exalt.ps>2024-10-15 01:04:18 +0300
committerGitHub <noreply@github.com>2024-10-14 15:04:18 -0700
commit8dbe77dd29a3791db58fda392dea45d8249b6bc9 (patch)
tree1fb57b9d4cbad21455afee71937a17ab6804315c /tests
parent48cbf85add1a9a5c3e583c68c80d16420e606502 (diff)
fix(console/ext/repl): support using parseFloat() (#25900)
Fixes #21428 Co-authored-by: tannal <tannal2409@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/repl_tests.rs14
-rw-r--r--tests/specs/repl/console_log/093_console_log_format.js16
-rw-r--r--tests/specs/repl/console_log/093_console_log_format.out1
-rw-r--r--tests/specs/repl/console_log/__test__.jsonc4
-rw-r--r--tests/unit/console_test.ts8
5 files changed, 39 insertions, 4 deletions
diff --git a/tests/integration/repl_tests.rs b/tests/integration/repl_tests.rs
index 4e00398ce..9eceb2f05 100644
--- a/tests/integration/repl_tests.rs
+++ b/tests/integration/repl_tests.rs
@@ -255,6 +255,20 @@ fn console_log() {
console.write_line("'world'");
console.expect("\"world\"");
});
+
+ // https://github.com/denoland/deno/issues/21428
+ let (out, err) = util::run_and_collect_output_with_args(
+ true,
+ vec![
+ "repl",
+ "--eval-file=./../specs/repl/console_log/093_console_log_format.js",
+ ],
+ None,
+ None,
+ false,
+ );
+ assert_contains!(out, "0.5");
+ assert!(err.is_empty());
}
#[test]
diff --git a/tests/specs/repl/console_log/093_console_log_format.js b/tests/specs/repl/console_log/093_console_log_format.js
new file mode 100644
index 000000000..15022411c
--- /dev/null
+++ b/tests/specs/repl/console_log/093_console_log_format.js
@@ -0,0 +1,16 @@
+// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
+class Frac {
+ constructor(num, den) {
+ this.num = num;
+ this.den = den;
+ }
+ [Symbol.toPrimitive]() {
+ return this.num / this.den;
+ }
+ display() {
+ const result = this.num / this.den;
+ process.stdout.write(`${result}`);
+ }
+}
+const f = new Frac(1, 2);
+f.display();
diff --git a/tests/specs/repl/console_log/093_console_log_format.out b/tests/specs/repl/console_log/093_console_log_format.out
new file mode 100644
index 000000000..ea2303bc0
--- /dev/null
+++ b/tests/specs/repl/console_log/093_console_log_format.out
@@ -0,0 +1 @@
+0.5 \ No newline at end of file
diff --git a/tests/specs/repl/console_log/__test__.jsonc b/tests/specs/repl/console_log/__test__.jsonc
new file mode 100644
index 000000000..641bc1f68
--- /dev/null
+++ b/tests/specs/repl/console_log/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run -A --quiet 093_console_log_format.js",
+ "output": "093_console_log_format.out"
+}
diff --git a/tests/unit/console_test.ts b/tests/unit/console_test.ts
index 878d17ae3..42cff7c70 100644
--- a/tests/unit/console_test.ts
+++ b/tests/unit/console_test.ts
@@ -1162,7 +1162,7 @@ Deno.test(function consoleTestWithIntegerFormatSpecifier() {
assertEquals(stringify("%i"), "%i");
assertEquals(stringify("%i", 42.0), "42");
assertEquals(stringify("%i", 42), "42");
- assertEquals(stringify("%i", "42"), "NaN");
+ assertEquals(stringify("%i", "42"), "42");
assertEquals(stringify("%i", 1.5), "1");
assertEquals(stringify("%i", -0.5), "0");
assertEquals(stringify("%i", ""), "NaN");
@@ -1172,7 +1172,7 @@ Deno.test(function consoleTestWithIntegerFormatSpecifier() {
assertEquals(stringify("%d", 12345678901234567890123), "1");
assertEquals(
stringify("%i", 12345678901234567890123n),
- "12345678901234567890123n",
+ "1.2345678901234568e+22",
);
});
@@ -1180,13 +1180,13 @@ Deno.test(function consoleTestWithFloatFormatSpecifier() {
assertEquals(stringify("%f"), "%f");
assertEquals(stringify("%f", 42.0), "42");
assertEquals(stringify("%f", 42), "42");
- assertEquals(stringify("%f", "42"), "NaN");
+ assertEquals(stringify("%f", "42"), "42");
assertEquals(stringify("%f", 1.5), "1.5");
assertEquals(stringify("%f", -0.5), "-0.5");
assertEquals(stringify("%f", Math.PI), "3.141592653589793");
assertEquals(stringify("%f", ""), "NaN");
assertEquals(stringify("%f", Symbol("foo")), "NaN");
- assertEquals(stringify("%f", 5n), "NaN");
+ assertEquals(stringify("%f", 5n), "5");
assertEquals(stringify("%f %f", 42, 43), "42 43");
assertEquals(stringify("%f %f", 42), "42 %f");
});