43 lines
1.5 KiB
Clojure
43 lines
1.5 KiB
Clojure
(ns minify-test
|
|
(:require [clojure.test :refer [deftest is testing run-tests]]))
|
|
|
|
(load-file "minify.bb")
|
|
(refer 'minify :only '[tokenize emit short-name-seq])
|
|
|
|
(deftest test-tokenize
|
|
(is (= [{:type :open-paren, :value "("}
|
|
{:type :symbol, :value "+"}
|
|
{:type :space, :value nil}
|
|
{:type :symbol, :value "1"}
|
|
{:type :space, :value nil}
|
|
{:type :symbol, :value "1"}
|
|
{:type :close-paren, :value ")"}
|
|
{:type :space, :value nil}
|
|
{:type :comment, :value "; how to add"}
|
|
{:type :space, :value nil}
|
|
{:type :open-paren, :value "("}
|
|
{:type :symbol, :value "var"}
|
|
{:type :space, :value nil}
|
|
{:type :symbol, :value "name"}
|
|
{:type :space, :value nil}
|
|
{:type :open-paren, :value "("}
|
|
{:type :symbol, :value ".."}
|
|
{:type :space, :value nil}
|
|
{:type :string, :value "\"jane\""}
|
|
{:type :space, :value nil}
|
|
{:type :string, :value "\"doe\""}
|
|
{:type :close-paren, :value ")"}
|
|
{:type :close-paren, :value ")"}]
|
|
|
|
(tokenize "(+ 1 1) ; how to add\n(var name (.. \"jane\" \"doe\"))"))))
|
|
|
|
(deftest test-short-name-seq
|
|
(let [short-names (vec (take 1000 (short-name-seq)))]
|
|
(is (= (get short-names 0) "a"))
|
|
(is (= (get short-names 1) "b"))
|
|
(is (= (get short-names 25) "z"))
|
|
(is (= (get short-names 26) "aa"))
|
|
(is (= (get short-names 345) "hhhhhhhhhhhhhh"))
|
|
(is (= (get short-names 733) "fffffffffffffffffffffffffffff"))))
|
|
|
|
(run-tests 'minify-test)
|