76 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Scheme
		
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Scheme
		
	
	
	
(define (run-tests/delimiters)
 | 
						|
  
 | 
						|
    (test-mustache "Pair Behavior"
 | 
						|
                   '((text . "Hey!"))
 | 
						|
                   "{{=<% %>=}}(<%text%>)"
 | 
						|
                   "(Hey!)")
 | 
						|
 | 
						|
    (test-mustache "Special Characters"
 | 
						|
                   '((text . "It worked!"))
 | 
						|
                   "({{=[ ]=}}[text])"
 | 
						|
                   "(It worked!)")
 | 
						|
 | 
						|
    (test-mustache "Sections"
 | 
						|
                   '((section . #t)
 | 
						|
                     (data . "I got interpolated."))
 | 
						|
                   "[\n{{#section}}\n  {{data}}\n  |data|\n{{/section}}\n\n{{= | | =}}\n|#section|\n  {{data}}\n  |data|\n|/section|\n]\n"
 | 
						|
                   "[\n  I got interpolated.\n  |data|\n\n  {{data}}\n  I got interpolated.\n]\n")
 | 
						|
 | 
						|
    (test-mustache "Inverted Sections"
 | 
						|
                   '((section . #f)
 | 
						|
                     (data . "I got interpolated."))
 | 
						|
                   "[\n{{^section}}\n  {{data}}\n  |data|\n{{/section}}\n\n{{= | | =}}\n|^section|\n  {{data}}\n  |data|\n|/section|\n]\n"
 | 
						|
                   "[\n  I got interpolated.\n  |data|\n\n  {{data}}\n  I got interpolated.\n]\n")
 | 
						|
 | 
						|
    (test-mustache "Partial Inheritence"
 | 
						|
                   '((value . "yes"))
 | 
						|
                   '(("include" . ".{{value}}."))
 | 
						|
                   "[ {{>include}} ]\n{{= | | =}}\n[ |>include| ]\n"
 | 
						|
                   "[ .yes. ]\n[ .yes. ]\n")
 | 
						|
 | 
						|
    (test-mustache "Post-Partial Behavior"
 | 
						|
                   '((value . "yes"))
 | 
						|
                   '(("include" . ".{{value}}. {{= | | =}} .|value|."))
 | 
						|
                   "[ {{>include}} ]\n[ .{{value}}.  .|value|. ]\n"
 | 
						|
                   "[ .yes.  .yes. ]\n[ .yes.  .|value|. ]\n")
 | 
						|
 | 
						|
    (test-mustache "Surrounding Whitespace"
 | 
						|
                   '()
 | 
						|
                   "| {{=@ @=}} |"
 | 
						|
                   "|  |")
 | 
						|
 | 
						|
    (test-mustache "Outlying Whitespace (Inline)"
 | 
						|
                   '()
 | 
						|
                   " | {{=@ @=}}\n"
 | 
						|
                   " | \n")
 | 
						|
 | 
						|
    (test-mustache "Standalone Tag"
 | 
						|
                   '()
 | 
						|
                   "Begin.\n{{=@ @=}}\nEnd.\n"
 | 
						|
                   "Begin.\nEnd.\n")
 | 
						|
 | 
						|
    (test-mustache "Indented Standalone Tag"
 | 
						|
                   '()
 | 
						|
                   "Begin.\n  {{=@ @=}}\nEnd.\n"
 | 
						|
                   "Begin.\nEnd.\n")
 | 
						|
 | 
						|
    (test-mustache "Standalone Line Endings"
 | 
						|
                   '()
 | 
						|
                   "|\r\n{{= @ @ =}}\r\n|"
 | 
						|
                   "|\r\n|")
 | 
						|
 | 
						|
    (test-mustache "Standalone Without Previous Line"
 | 
						|
                   '()
 | 
						|
                   "  {{=@ @=}}\n="
 | 
						|
                   "=")
 | 
						|
 | 
						|
    (test-mustache "Standalone Without Newline"
 | 
						|
                   '()
 | 
						|
                   "=\n  {{=@ @=}}"
 | 
						|
                   "=\n")
 | 
						|
 | 
						|
    (test-mustache "Pair with Padding"
 | 
						|
                   '()
 | 
						|
                   "|{{= @   @ =}}|"
 | 
						|
                   "||"))
 |