2
require 'slim/translator'
4
class TestSlimTranslator < TestSlim
7
Slim::Engine.set_default_options :tr => true, :tr_fn => 'TestSlimTranslator.tr'
14
def self.tr_reverse(s)
15
s.reverse.gsub(/(\d+)%/, '%\1')
18
def test_no_translation_of_embedded
22
Hello from #{"Markdown!"}
29
assert_html "<h1 id=\"header\">Header</h1>\n<p>Hello from Markdown!</p>\n\n<p>3</p>\n\n<ul>\n <li>one</li>\n <li>two</li>\n</ul>\n", source, :tr_mode => :dynamic
30
assert_html "<h1 id=\"header\">Header</h1>\n<p>Hello from Markdown!</p>\n\n<p>3</p>\n\n<ul>\n <li>one</li>\n <li>two</li>\n</ul>\n", source, :tr_mode => :static
33
def test_no_translation_of_attrs
40
assert_html "THIS IS\nA LINK TO <a href=\"link\">PAGE</a>", source, :tr_mode => :dynamic
41
assert_html "THIS IS\nA LINK TO <a href=\"link\">PAGE</a>", source, :tr_mode => :static
44
def test_translation_and_interpolation
46
p translate #{hello_world} this
51
assert_html "<p>translate Hello World from @env this\nsecond line\nthird 3 line</p>", source, :tr => false
52
assert_html "<p>TRANSLATE Hello World from @env THIS\nSECOND LINE\nTHIRD 3 LINE</p>", source, :tr_mode => :dynamic
53
assert_html "<p>TRANSLATE Hello World from @env THIS\nSECOND LINE\nTHIRD 3 LINE</p>", source, :tr_mode => :static
56
def test_translation_reverse
58
' alpha #{1} beta #{2} gamma #{3}
61
assert_html "3 ammag 2 ateb 1 ahpla ", source, :tr_mode => :dynamic, :tr_fn => 'TestSlimTranslator.tr_reverse'
62
assert_html "3 ammag 2 ateb 1 ahpla ", source, :tr_mode => :static, :tr_fn => 'TestSlimTranslator.tr_reverse'