40 lines
1.5 KiB
Plaintext
40 lines
1.5 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.queryImageUrls (wikipedia.queryImageTitles ["Phoenix Wright"])))
|
|
|
|
// TODO make a dummy UI for this, instead of passing null
|
|
(let [controller (new ArchiveController archive null)]
|
|
// TODO test controller
|
|
0))
|