git.m455.casa

fa

clone url: git://git.m455.casa/fa


esperbuild/espersrc/fennel-0.7.0/test/mangling.fnl

1 (local l (require :test.luaunit))
2 (local fennel (require :fennel))
3
4 (local mangling-tests {:3 "__fnl_global__3"
5 :a "a"
6 :a-b-c "__fnl_global__a_2db_2dc"
7 :a_3 "a_3"
8 :a_b-c "__fnl_global__a_5fb_2dc"})
9
10 (fn test-mangling []
11 (each [k v (pairs mangling-tests)]
12 (let [manglek (fennel.mangle k)
13 unmanglev (fennel.unmangle v)]
14 (l.assertEquals v manglek)
15 (l.assertEquals k unmanglev)))
16 ;; adding an env for evaluation causes global mangling rules to apply
17 (l.assertTrue (fennel.eval "(global mangled-name true) mangled-name"
18 {:env {}})))
19
20 {: test-mangling}
21