34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
// External programs can load Lib.kiss with (loadFrom "nat-archive-tool" "src/nat/Lib.kiss")
|
|
(load "../nat/Lib.kiss")
|
|
|
|
(assert (BoolExpInterp.eval "true" []))
|
|
(assert !(BoolExpInterp.eval "false" []))
|
|
(assert !(BoolExpInterp.eval "flag" []))
|
|
(assert (BoolExpInterp.eval "flag" ["flag"]))
|
|
(assert !(BoolExpInterp.eval "(and flag false)" ["flag"]))
|
|
(assert (BoolExpInterp.eval "(or flag otherFlag)" ["otherFlag"]))
|
|
|
|
(let [archive
|
|
(new Archive "src/test/example-archive")
|
|
song1
|
|
(dictGet archive.entries "song1")
|
|
song2
|
|
(dictGet archive.entries "song2")]
|
|
|
|
(assert (hasComponent song1 Tags))
|
|
(assert (hasComponent song2 Tags))
|
|
(assert (componentsMatch song1 "(and Name Author)"))
|
|
(assert (componentsMatch song2 "(and Name Author)"))
|
|
(assert (tagsMatch archive song1 "(and song western)"))
|
|
(assert !(tagsMatch archive song1 "(and song religious)"))
|
|
(assert (tagsMatch archive song2 "(and song religious)"))
|
|
(assert !(tagsMatch archive song2 "(and song western)"))
|
|
|
|
(withWritableComponents archive song1
|
|
[author Author
|
|
name Name]
|
|
(assert (= author "Rafael Krux"))
|
|
(assert (= name "Adventure"))))
|
|
|
|
(let [wikipedia (new MediaWikiSystem "https://en.wikipedia.org/w/api.php" null null 1)]
|
|
~(wikipedia.queryProp ["Phoenix Wright"] ["images"])) |