Skip to content

Commit 8b7177a

Browse files
mfikesswannodette
authored andcommitted
CLJS-1430: self-host: .toString is emitted as .toString$
Revises js-reserved? to not return true for things like "toString".
1 parent bbcadde commit 8b7177a

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

src/main/cljs/cljs/core.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10021,7 +10021,7 @@ Maps become Objects. Arbitrary keys are encoded to by key->js."
1002110021
(set! js-reserved
1002210022
(reduce #(do (gobject/set %1 %2 true) %1)
1002310023
#js {} js-reserved-arr)))
10024-
(gobject/containsKey js-reserved x))
10024+
(.hasOwnProperty js-reserved x))
1002510025

1002610026
(defn- demunge-pattern []
1002710027
(when-not DEMUNGE_PATTERN

src/test/cljs/cljs/core_test.cljs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2922,6 +2922,14 @@
29222922
(is (= 'cljs.core/first?
29232923
(demunge (munge 'cljs.core/first?)))))
29242924

2925+
(deftest test-munge
2926+
(is (= "a_b" (munge "a-b")))
2927+
(is (= "a_SLASH_b" (munge "a/b")))
2928+
(is (= "_DOT__DOT_" (munge "..")))
2929+
(is (= "abstract$" (munge "abstract")))
2930+
(is (= 'abc (munge 'abc)))
2931+
(is (= "toString" (munge "toString"))))
2932+
29252933
(deftest test-uuid-compile-and-runtime-hash
29262934
(is (= (hash (.toString #uuid "0d1f9029-40fc-4728-8bdd-9862172d4370"))
29272935
(hash (.toString (UUID. "0d1f9029-40fc-4728-8bdd-9862172d4370" nil))))))

src/test/self/self_host/test.cljs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666

6767
(deftest test-compile-str
6868
(async done
69-
(let [l (latch 3 done)]
69+
(let [l (latch 4 done)]
7070
(cljs/compile-str st "(+ 1 1)"
7171
(fn [{:keys [error value]}]
7272
(is (nil? error))
@@ -83,6 +83,12 @@
8383
(fn [{:keys [error value]}]
8484
(is (nil? error))
8585
(is (= "(cljs.core.truth_(cljs.core.first)?1:2)" value))
86+
(inc! l)))
87+
(cljs/compile-str st "(.toString \"a\")" nil
88+
{:context :expr}
89+
(fn [{:keys [error value]}]
90+
(is (nil? error))
91+
(is (= "\"a\".toString()" value))
8692
(inc! l))))))
8793

8894
(deftest test-eval-str

0 commit comments

Comments
 (0)