Skip to content

Commit 34da1a4

Browse files
committed
DXML-44 cljs support for empty on elements
1 parent b7878f9 commit 34da1a4

4 files changed

Lines changed: 17 additions & 9 deletions

File tree

src/main/clojure/clojure/data/xml.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
(export-api
1111
name/parse-qname name/qname-uri name/qname-local name/qname name/as-qname name/uri-symbol name/symbol-uri
12-
node/element* node/element node/cdata node/xml-comment
12+
node/element* node/element node/cdata node/xml-comment node/element?
1313
dom/extend-dom-as-data! dom/element-node dom/element-data)
1414

1515
;;;; ## TODO event-seq

src/main/clojure/clojure/data/xml/node.cljc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
[(seq [this] (iterator-seq (.iterator this)))])
121121

122122
#?(:clj (empty [_] (Element. tag {} [] {})))
123+
#?@(:cljs
124+
[IEmptyableCollection
125+
(-empty [_] (Element. tag {} [] {}))])
123126

124127
;; j.u.Map and included interfaces
125128
#?@(:clj

src/test/clojure/clojure/data/xml/test_process.clj renamed to src/test/clojure/clojure/data/xml/test_process.cljc

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
(ns clojure.data.xml.test-process
2-
(:require [clojure.data.xml :refer :all]
3-
[clojure.test :refer :all]
2+
(:require [clojure.data.xml :refer [element qname element?
3+
#?@(:clj [element-nss aggregate-xmlns
4+
find-xmlns])]]
5+
[clojure.test :refer [deftest is]]
46
[clojure.walk :as w]
57
[clojure.string :as str]))
68

@@ -13,14 +15,15 @@
1315
(element (qname "GOO:" "ho") {(qname "GEE:" "hi") "ma"} "ii")
1416
"end"))
1517

16-
(deftest process
17-
(is (= (find-xmlns test-data) #{"" "GEE:" "GOO:"}))
18-
(is (= (set (vals (element-nss (aggregate-xmlns test-data)))) #{"GEE:" "GOO:"})))
18+
#?
19+
(:clj
20+
(deftest process
21+
(is (= (find-xmlns test-data) #{"" "GEE:" "GOO:"}))
22+
(is (= (set (vals (element-nss (aggregate-xmlns test-data)))) #{"GEE:" "GOO:"}))))
1923

2024
(deftest walk-test
2125
(is (= {:tag :FOO, :attrs {}, :content ()}
2226
(w/postwalk (fn [e]
23-
(println e)
2427
(if (element? e)
2528
(update e :tag (comp keyword str/upper-case name))
2629
e))

src/test/clojurescript/clojure/data/xml/test_cljs.cljs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
clojure.data.xml.test-cljs-basic
55
clojure.data.xml.test-cljs-extended
66
clojure.data.xml.test-equiv
7-
clojure.data.xml.test-pu))
7+
clojure.data.xml.test-pu
8+
clojure.data.xml.test-process))
89

910
(def ^:dynamic *results*)
1011

@@ -21,7 +22,8 @@
2122
(println "Running Basic Tests")
2223
(test/run-tests 'clojure.data.xml.test-cljs-basic
2324
'clojure.data.xml.test-equiv
24-
'clojure.data.xml.test-pu)
25+
'clojure.data.xml.test-pu
26+
'clojure.data.xml.test-process)
2527
(pr-str *results*)))
2628

2729
(defn ^:export -main []

0 commit comments

Comments
 (0)