diff --git a/.gitignore b/.gitignore index 360487c..0a02a39 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,5 @@ pom.xml.asc .clj-kondo/ .lsp/ output.js -.calva/ \ No newline at end of file +tests.js +.calva/ diff --git a/README.md b/README.md index 1ce7a6f..7c92ed5 100644 --- a/README.md +++ b/README.md @@ -26,12 +26,17 @@ A repository with the accompanying research work will be put up soon. Bean is written in [ClojureScript](https://clojurescript.org/). You'll need [npm and nodejs](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) installed. Then run ``` -npx install -shadow-cljs watch ui +npm install +npx shadow-cljs watch ui ``` You can access Bean running locally at http://localhost:8090. +#### Tests +``` +npx shadow-cljs compile test && node tests.js +``` + ## Authors - [Prabhanshu Gupta](https://github.com/prabhanshuguptagit) - [Ravi Chandra Padmala](https://github.com/neenaoffline) diff --git a/package.json b/package.json index b8d47c9..4b93eae 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "bean", "version": "0.0.1", "private": true, + "prepare": "husky install", "devDependencies": { "shadow-cljs": "2.25.2" }, diff --git a/shadow-cljs.edn b/shadow-cljs.edn index 4af0110..c12c500 100644 --- a/shadow-cljs.edn +++ b/shadow-cljs.edn @@ -1,6 +1,7 @@ ;; shadow-cljs configuration {:source-paths - ["src/"] + ["src/" + "test/"] :dependencies [[instaparse "1.4.12"] @@ -14,4 +15,7 @@ :ui {:target :browser :output-dir "public/js" :asset-path "/js" - :modules {:main {:entries [bean.ui.main]}}}}} + :modules {:main {:entries [bean.ui.main]}}} + :test {:target :node-test + :output-to "tests.js" + :ns-regexp "-test$"}}} diff --git a/test/bean_tests/core.cljs b/test/bean/core_test.cljs similarity index 79% rename from test/bean_tests/core.cljs rename to test/bean/core_test.cljs index fcbc19b..ac45ae3 100644 --- a/test/bean_tests/core.cljs +++ b/test/bean/core_test.cljs @@ -1,4 +1,4 @@ -(ns bean-tests.core +(ns bean.core-test (:require [clojure.test :refer [run-all-tests]])) (comment (run-all-tests)) diff --git a/test/bean_tests/grid.cljs b/test/bean/grid_test.cljs similarity index 99% rename from test/bean_tests/grid.cljs rename to test/bean/grid_test.cljs index 665af57..2da28ec 100644 --- a/test/bean_tests/grid.cljs +++ b/test/bean/grid_test.cljs @@ -1,4 +1,4 @@ -(ns bean-tests.grid +(ns bean.grid-test (:require [bean.grid :refer [parse-grid make-depgraph eval-sheet]] diff --git a/test/bean_tests/interpreter.cljs b/test/bean/interpreter_test.cljs similarity index 98% rename from test/bean_tests/interpreter.cljs rename to test/bean/interpreter_test.cljs index 6543041..9063dc4 100644 --- a/test/bean_tests/interpreter.cljs +++ b/test/bean/interpreter_test.cljs @@ -1,4 +1,4 @@ -(ns bean-tests.interpreter +(ns bean.interpreter-test (:require [bean.interpreter :refer [bean-op-+ apply-op]] [clojure.test :refer [deftest testing is]])) diff --git a/test/bean_tests/parser.cljs b/test/bean/parser_test.cljs similarity index 95% rename from test/bean_tests/parser.cljs rename to test/bean/parser_test.cljs index c84b30f..2e8d409 100644 --- a/test/bean_tests/parser.cljs +++ b/test/bean/parser_test.cljs @@ -1,4 +1,4 @@ -(ns bean-tests.parser +(ns bean.parser-test (:require [bean.parser :refer [parse parse-statement]] [clojure.test :refer [deftest testing is]])) @@ -37,4 +37,4 @@ [:Expression [:CellRef "A" "1"]] [:Operation "+"] [:Expression [:Value [:Integer "9"]]]]]] - (parse-statement "foo:99\n\n\nbar :A1+9"))))) \ No newline at end of file + (parse-statement "foo:99\n\n\nbar :A1+9"))))) diff --git a/test/bean_tests/provenance.cljs b/test/bean/provenance_test.cljs similarity index 99% rename from test/bean_tests/provenance.cljs rename to test/bean/provenance_test.cljs index 133491e..87229f9 100644 --- a/test/bean_tests/provenance.cljs +++ b/test/bean/provenance_test.cljs @@ -1,4 +1,4 @@ -(ns bean-tests.provenance +(ns bean.provenance-test (:require [clojure.test :refer [deftest testing is run-all-tests]] [bean.provenance :as provenance] [bean.grid :as grid]))