{-# OPTIONS_GHC -F -pgmF htfpp #-} import BasePrelude import Test.Framework import NeatInterpolation main = htfMain $ htf_thisModulesTests test_demo = do assertEqual "function(){\n function(){\n {\n indented line\n indented line\n }\n }\n return {\n indented line\n indented line\n }\n}\n" (template a a) assertEqual "this_could_be_one_long_identifier\n" (escaped "one") where template a b = [text| function(){ function(){ $a } return $b } |] escaped name = [text|this_could_be_${name}_long_identifier|] a = "{\n indented line\n indented line\n}" test_dollar = do assertEqual "function(){\n function(){\n {\n indented line\n indented line\n }\n }\n return \"$b\"\n}\n" (template a a) assertEqual "this_could_be_$one$_long_identifier\n" (escaped "one") where template a b = [text| function(){ function(){ $a } return "$$b" } |] escaped name = [text|this_could_be_$$${name}$$_long_identifier|] a = "{\n indented line\n indented line\n}"