* add XML edn reading and make *data-readers* closer to Clojure - initial value of *data-readers*: empty map - add XML readers to feature-flagged edn-readers for parsing *input* - add edn-readers to *data-readers* to emulate data_readers.clj handling * add YAML round-trip testing * set root val of *data-readers* at top level
17 lines
673 B
Clojure
17 lines
673 B
Clojure
(ns babashka.xml-test
|
|
(:require [babashka.test-utils :as test-utils]
|
|
[clojure.string :as str]
|
|
[clojure.test :refer [deftest is testing]]))
|
|
|
|
(def simple-xml-str "<a><b>data</b></a>")
|
|
|
|
(deftest xml-edn-read-test
|
|
(let [parsed-edn (test-utils/bb nil (str "(xml/parse-str \"" simple-xml-str "\")"))
|
|
emitted-xml (test-utils/bb parsed-edn "(xml/emit-str *input*)")]
|
|
(is (str/includes? emitted-xml simple-xml-str))))
|
|
|
|
(def round-trip-prog
|
|
(str "(xml/emit-str (read-string (pr-str (xml/parse-str \"" simple-xml-str "\"))))"))
|
|
|
|
(deftest xml-data-readers-test
|
|
(is (str/includes? (test-utils/bb nil round-trip-prog) simple-xml-str)))
|