Fork me on GitHub
#testing
<
2016-06-27
>
Yehonathan Sharvit15:06:13

I’d like to test a javascript library

Yehonathan Sharvit15:06:24

I did it with lein doo

Yehonathan Sharvit15:06:21

with the following project.clj

Yehonathan Sharvit15:06:33

clojure
(defproject js-test-in-cljs "0.0.1"
  :description "Test Javascript code in clojurescript"
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [org.clojure/clojurescript "1.9.36"]
                 [org.clojure/test.check "0.9.0"]] 
  :clean-targets ^{:protect false} ["resources/public/fig/js"]
  :plugins [[lein-doo "0.1.6"]
            [lein-figwheel "0.5.4-3"]]
  :source-paths ["src"]
  :figwheel {:server-port 5018}
  :cljsbuild {:builds
              {:test
               {:source-paths ["src" "resources/public/js"]
                :compiler
                {:main "js-test-in-cljs.test.runner"
                 :preamble ["main.js"]
                 :optimizations :simple
                 :output-to "resources/public/test/js/testable.js"
                 :output-dir "resources/public/test/js"}}
               :figwheel
               {:figwheel true
                :source-paths ["src"]
                :compiler
                {:main "js-test-in-cljs.test.runner"
                 :preamble "js/main.js"
                 :asset-path "fig/js"
                 :output-to "resources/public/fig/js/my.fig.js"
                 :output-dir "resources/public/fig/js"}}}})

Yehonathan Sharvit15:06:21

I used the :preamble options to load the javascript file

Yehonathan Sharvit15:06:41

The problem is that :preamble is not supported with :optimizations :none

Yehonathan Sharvit15:06:59

And :optimizations :simple is a bit slow

Yehonathan Sharvit15:06:11

Any idea how to solve that?