babashka/test/babashka/xml_test.clj
Bob 407bd74a00
[#1004] XML edn reading and populating *data-readers* for feature deps (#1012)
* 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
2021-09-20 18:31:57 +02:00

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)))