|
5 | 5 | [com.stuartsierra.dependency :as dep]
|
6 | 6 | [rdf-validator.util :as util])
|
7 | 7 | (:import [java.io File]
|
8 |
| - [java.net URL URI])) |
| 8 | + [java.net URL URI] |
| 9 | + (clojure.lang IPersistentMap))) |
9 | 10 |
|
10 | 11 | (defprotocol Relatable
|
11 | 12 | (resolve-relative [this ^String relative]
|
|
25 | 26 | URL
|
26 | 27 | (resolve-relative [^URL url ^String relative]
|
27 | 28 | (let [^URI uri (resolve-relative (.toURI url) relative)]
|
28 |
| - (.toURL uri)))) |
| 29 | + (.toURL uri))) |
| 30 | + |
| 31 | + IPersistentMap |
| 32 | + (resolve-relative [_m ^String relative] |
| 33 | + (io/resource relative))) |
29 | 34 |
|
30 | 35 | (defn- load-source-test
|
31 | 36 | "Loads a test definition from the specified data source. Infers the test type and name from the name of
|
|
126 | 131 | (map? suite) (update suite :tests #(vec (mapcat (fn [t] (normalise-tests source suite-name t)) %)))
|
127 | 132 | :else (throw (ex-info "Suite definition must be a vector or a map" {:suite suite}))))
|
128 | 133 |
|
| 134 | +(defn load-test-suite-map [m source] |
| 135 | + (into {} (map (fn [[suite-name suite]] |
| 136 | + [suite-name (normalise-suite source suite-name suite)]) |
| 137 | + m))) |
| 138 | + |
129 | 139 | (defmethod load-source-test-suite :edn [source]
|
130 | 140 | (let [raw (read-edn-suite source)]
|
131 | 141 | (if (map? raw)
|
132 |
| - (into {} (map (fn [[suite-name suite]] |
133 |
| - [suite-name (normalise-suite source suite-name suite)]) |
134 |
| - raw)) |
| 142 | + (load-test-suite-map raw source) |
135 | 143 | (throw (ex-info "Root of test suite document must be a map" {:source source})))))
|
136 | 144 |
|
137 | 145 | (defmethod load-source-test-suite :default [f]
|
|
153 | 161 |
|
154 | 162 | URL
|
155 | 163 | (load-test-suite [url]
|
156 |
| - (load-source-test-suite url))) |
| 164 | + (load-source-test-suite url)) |
| 165 | + |
| 166 | + IPersistentMap |
| 167 | + (load-test-suite [m] |
| 168 | + (load-test-suite-map m m))) |
157 | 169 |
|
158 | 170 | (defn- merge-raw-suite
|
159 | 171 | "Merges two raw test suite definition maps."
|
|
0 commit comments