Skip to content

Commit 7db5826

Browse files
committed
CLJS-2991: Need to wrap js-obj output with parens
1 parent e005b98 commit 7db5826

3 files changed

Lines changed: 31 additions & 1 deletion

File tree

src/main/clojure/cljs/core.cljc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2588,7 +2588,7 @@
25882588
(interpose ",")
25892589
(apply core/str))]
25902590
(vary-meta
2591-
(list* 'js* (core/str "{" kvs-str "}") (apply concat kvs))
2591+
(list* 'js* (core/str "({" kvs-str "})") (apply concat kvs))
25922592
assoc :tag 'object)))
25932593

25942594
(core/defmacro js-obj [& rest]

src/test/cljs/cljs/core_test.cljs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1707,3 +1707,18 @@
17071707
(deftest test-cljs-2933
17081708
(is (= "#object[cljs.core.Atom {:val 1}]" (pr-str (atom 1))))
17091709
(is (= "#object[cljs.core.Volatile {:val 2}]" (pr-str (volatile! 2)))))
1710+
1711+
(deftest test-cljs-2991
1712+
(let [o (js-obj)]
1713+
(is (object? o))
1714+
(is (empty? (js-keys o))))
1715+
(let [o (js-obj "a" 17)]
1716+
(is (object? o))
1717+
(is (== 1 (count (js-keys o))))
1718+
(is (= "a" (aget (js-keys o) 0)))
1719+
(is (== 17 (gobject/get o "a"))))
1720+
(let [o (js-obj "a" 17 "b" 27)]
1721+
(is (object? o))
1722+
(is (== 2 (count (js-keys o))))
1723+
(is (== 17 (gobject/get o "a")))
1724+
(is (== 27 (gobject/get o "b")))))

src/test/self/self_host/test.cljs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,6 +1484,21 @@
14841484
(is (some cljs-timestamp? (keys sms)))
14851485
(inc! l)))))))))
14861486

1487+
(deftest test-cljs-2991
1488+
(async done
1489+
(let [l (latch 1 done)]
1490+
(let [st (cljs/empty-state)]
1491+
(cljs/eval-str st
1492+
"(js-obj)"
1493+
nil
1494+
{:ns 'cljs.user
1495+
:target :nodejs
1496+
:eval node-eval}
1497+
(fn [{:keys [value]}]
1498+
(is (object? value))
1499+
(is (empty? (js-keys value)))
1500+
(inc! l)))))))
1501+
14871502
(defn -main [& args]
14881503
(run-tests))
14891504

0 commit comments

Comments
 (0)