tilt 2.0.8 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. checksums.yaml +5 -5
  2. data/lib/tilt/commonmarker.rb +68 -1
  3. data/lib/tilt/csv.rb +1 -1
  4. data/lib/tilt/erb.rb +7 -1
  5. data/lib/tilt/haml.rb +2 -2
  6. data/lib/tilt/pandoc.rb +23 -15
  7. data/lib/tilt/redcarpet.rb +5 -2
  8. data/lib/tilt/rst-pandoc.rb +12 -7
  9. data/lib/tilt/sass.rb +40 -3
  10. data/lib/tilt/template.rb +18 -12
  11. data/lib/tilt.rb +2 -1
  12. metadata +8 -110
  13. data/CHANGELOG.md +0 -127
  14. data/Gemfile +0 -65
  15. data/HACKING +0 -16
  16. data/README.md +0 -233
  17. data/Rakefile +0 -106
  18. data/docs/TEMPLATES.md +0 -555
  19. data/docs/common.css +0 -14
  20. data/man/index.txt +0 -2
  21. data/man/tilt.1.ronn +0 -59
  22. data/test/markaby/locals.mab +0 -1
  23. data/test/markaby/markaby.mab +0 -1
  24. data/test/markaby/markaby_other_static.mab +0 -1
  25. data/test/markaby/render_twice.mab +0 -1
  26. data/test/markaby/scope.mab +0 -1
  27. data/test/markaby/yielding.mab +0 -2
  28. data/test/mytemplate.rb +0 -2
  29. data/test/test_helper.rb +0 -64
  30. data/test/tilt_asciidoctor_test.rb +0 -50
  31. data/test/tilt_babeltemplate.rb +0 -33
  32. data/test/tilt_blueclothtemplate_test.rb +0 -33
  33. data/test/tilt_buildertemplate_test.rb +0 -72
  34. data/test/tilt_cache_test.rb +0 -43
  35. data/test/tilt_coffeescripttemplate_test.rb +0 -141
  36. data/test/tilt_commonmarkertemplate_test.rb +0 -20
  37. data/test/tilt_compilesite_test.rb +0 -51
  38. data/test/tilt_creoletemplate_test.rb +0 -24
  39. data/test/tilt_csv_test.rb +0 -77
  40. data/test/tilt_erbtemplate_test.rb +0 -239
  41. data/test/tilt_erubistemplate_test.rb +0 -151
  42. data/test/tilt_erubitemplate_test.rb +0 -158
  43. data/test/tilt_etannitemplate_test.rb +0 -174
  44. data/test/tilt_hamltemplate_test.rb +0 -166
  45. data/test/tilt_kramdown_test.rb +0 -20
  46. data/test/tilt_lesstemplate_test.less +0 -1
  47. data/test/tilt_lesstemplate_test.rb +0 -42
  48. data/test/tilt_liquidtemplate_test.rb +0 -87
  49. data/test/tilt_livescripttemplate_test.rb +0 -37
  50. data/test/tilt_mapping_test.rb +0 -232
  51. data/test/tilt_markaby_test.rb +0 -88
  52. data/test/tilt_markdown_test.rb +0 -186
  53. data/test/tilt_marukutemplate_test.rb +0 -36
  54. data/test/tilt_metadata_test.rb +0 -42
  55. data/test/tilt_nokogiritemplate_test.rb +0 -87
  56. data/test/tilt_pandoctemplate_test.rb +0 -67
  57. data/test/tilt_prawntemplate.prawn +0 -1
  58. data/test/tilt_prawntemplate_test.rb +0 -75
  59. data/test/tilt_radiustemplate_test.rb +0 -75
  60. data/test/tilt_rdiscounttemplate_test.rb +0 -43
  61. data/test/tilt_rdoctemplate_test.rb +0 -29
  62. data/test/tilt_redcarpettemplate_test.rb +0 -54
  63. data/test/tilt_redclothtemplate_test.rb +0 -36
  64. data/test/tilt_rstpandoctemplate_test.rb +0 -32
  65. data/test/tilt_sasstemplate_test.rb +0 -41
  66. data/test/tilt_sigil_test.rb +0 -41
  67. data/test/tilt_stringtemplate_test.rb +0 -171
  68. data/test/tilt_template_test.rb +0 -314
  69. data/test/tilt_test.rb +0 -60
  70. data/test/tilt_typescript_test.rb +0 -38
  71. data/test/tilt_wikiclothtemplate_test.rb +0 -32
  72. data/test/tilt_yajltemplate_test.rb +0 -101
  73. data/tilt.gemspec +0 -130
@@ -1,67 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'test_helper'
4
- require 'tilt'
5
-
6
- begin
7
- require 'tilt/pandoc'
8
-
9
- class PandocTemplateTest < Minitest::Test
10
- test "preparing and evaluating templates on #render" do
11
- template = Tilt::PandocTemplate.new { |t| "# Hello World!" }
12
- assert_equal "<h1 id=\"hello-world\">Hello World!</h1>", template.render
13
- end
14
-
15
- test "can be rendered more than once" do
16
- template = Tilt::PandocTemplate.new { |t| "# Hello World!" }
17
- 3.times { assert_equal "<h1 id=\"hello-world\">Hello World!</h1>", template.render }
18
- end
19
-
20
- test "smartypants when :smartypants is set" do
21
- template = Tilt::PandocTemplate.new(:smartypants => true) { |t| "OKAY -- 'Smarty Pants'" }
22
- assert_equal "<p>OKAY – ‘Smarty Pants’</p>", template.render
23
- end
24
-
25
- test "stripping HTML when :escape_html is set" do
26
- template = Tilt::PandocTemplate.new(:escape_html => true) { |t| "HELLO <blink>WORLD</blink>" }
27
- assert_equal "<p>HELLO &lt;blink&gt;WORLD&lt;/blink&gt;</p>", template.render
28
- end
29
-
30
- # Pandoc has tons of additional markdown features (see http://pandoc.org/README.html#pandocs-markdown).
31
- # The test for footnotes should be seen as a general representation for all of them.
32
- # use markdown_strict => true to disable additional markdown features
33
- describe "passing in Pandoc options" do
34
- test "generates footnotes" do
35
- template = Tilt::PandocTemplate.new { |t| "Here is an inline note.^[Inlines notes are cool!]" }
36
- assert_equal "<p>Here is an inline note.<a href=\"#fn1\" class=\"footnoteRef\" id=\"fnref1\"><sup>1</sup></a></p>\n<div class=\"footnotes\">\n<hr />\n<ol>\n<li id=\"fn1\"><p>Inlines notes are cool!<a href=\"#fnref1\">↩</a></p></li>\n</ol>\n</div>", template.render
37
- end
38
-
39
- test "doesn't generate footnotes with markdown_strict option" do
40
- template = Tilt::PandocTemplate.new(:markdown_strict => true) { |t| "Here is an inline note.^[Inlines notes are cool!]" }
41
- assert_equal "<p>Here is an inline note.^[Inlines notes are cool!]</p>", template.render
42
- end
43
-
44
- test "doesn't generate footnotes with commonmark option" do
45
- template = Tilt::PandocTemplate.new(:commonmark => true) { |t| "Here is an inline note.^[Inlines notes are cool!]" }
46
- assert_equal "<p>Here is an inline note.^[Inlines notes are cool!]</p>", template.render
47
- end
48
-
49
- test "accepts arguments with values (e.g. :id_prefix => 'xyz')" do
50
- # Table of contents isn't on by default
51
- template = Tilt::PandocTemplate.new { |t| "# This is a heading" }
52
- assert_equal "<h1 id=\"this-is-a-heading\">This is a heading</h1>", template.render
53
-
54
- # But it can be activated
55
- template = Tilt::PandocTemplate.new(:id_prefix => 'test-') { |t| "# This is a heading" }
56
- assert_equal "<h1 id=\"test-this-is-a-heading\">This is a heading</h1>", template.render
57
- end
58
-
59
- test "requires arguments without value (e.g. --standalone) to be passed as hash keys (:standalone => true)" do
60
- template = Tilt::PandocTemplate.new(:standalone => true) { |t| "# This is a heading" }
61
- assert_match(/^<!DOCTYPE html.*<h1 id="this-is-a-heading">This is a heading<\/h1>.*<\/html>$/m, template.render)
62
- end
63
- end
64
- end
65
- rescue LoadError
66
- warn "Tilt::PandocTemplate (disabled)"
67
- end
@@ -1 +0,0 @@
1
- pdf.text "Hello Template!"
@@ -1,75 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/prawn'
6
- require 'pdf-reader'
7
-
8
- class PdfOutput
9
- def initialize(pdf_raw)
10
- @reader = PDF::Reader.new(StringIO.new(pdf_raw))
11
- end
12
-
13
- def text
14
- @reader.pages.map(&:text).join
15
- end
16
-
17
- def page_attributes(page_num=1)
18
- @reader.page(page_num).attributes
19
- end
20
- end
21
-
22
- class PrawnTemplateTest < Minitest::Test
23
- test "is registered for '.prawn' files" do
24
- assert_equal Tilt::PrawnTemplate, Tilt['test.prawn']
25
- end
26
-
27
- test "compiles and evaluates the template on #render" do
28
- template = Tilt::PrawnTemplate.new { |t| "pdf.text \"Hello PDF!\"" }
29
- output = PdfOutput.new(template.render)
30
- assert_includes output.text, "Hello PDF!"
31
- end
32
-
33
- test "can be rendered more than once" do
34
- template = Tilt::PrawnTemplate.new { |t| "pdf.text \"Hello PDF!\"" }
35
- 3.times do
36
- output = PdfOutput.new(template.render)
37
- assert_includes output.text, "Hello PDF!"
38
- end
39
- end
40
-
41
- test "loads the template from a file and renders it correctly" do
42
- template = Tilt::PrawnTemplate.new("#{Dir.pwd}/test/tilt_prawntemplate.prawn")
43
- output = PdfOutput.new(template.render)
44
- assert_includes output.text, "Hello Template!"
45
- end
46
-
47
- test "loads the template from a file and can be rendered more than once" do
48
- template = Tilt::PrawnTemplate.new("#{Dir.pwd}/test/tilt_prawntemplate.prawn")
49
- 3.times do
50
- output = PdfOutput.new(template.render)
51
- assert_includes output.text, "Hello Template!"
52
- end
53
- end
54
-
55
- test "have the correct default page size & layout settings - (default: A4 portrait)" do
56
- # NOTE! Dear North Americans,
57
- # Please follow the ISO 216 international standard format (A4) that dominates everywhere else in the world
58
- template = Tilt::PrawnTemplate.new { |t| "pdf.text \"Hello A4 portrait!\"" }
59
- output = PdfOutput.new(template.render)
60
- assert_includes output.text, "Hello A4 portrait!"
61
- assert_equal [0, 0, 595.28, 841.89], output.page_attributes(1)[:MediaBox]
62
- end
63
-
64
- test "allows page size & layout settings - A3 landscape" do
65
- template = Tilt::PrawnTemplate.new( :page_size => 'A3', :page_layout => :landscape) { |t| "pdf.text \"Hello A3 landscape!\"" }
66
- output = PdfOutput.new(template.render)
67
- assert_includes output.text, "Hello A3 landscape!"
68
- assert_equal [0, 0, 1190.55, 841.89], output.page_attributes(1)[:MediaBox]
69
- end
70
-
71
- end
72
-
73
- rescue LoadError
74
- warn "Tilt::PrawnTemplate (disabled)"
75
- end
@@ -1,75 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/radius'
6
-
7
- # Disable radius tests under Ruby versions >= 1.9.1 since it's still buggy.
8
- # Remove when fixed upstream.
9
- raise LoadError if RUBY_VERSION >= "1.9.1" and Radius.version < "0.7"
10
-
11
- class RadiusTemplateTest < Minitest::Test
12
- test "registered for '.radius' files" do
13
- assert_equal Tilt::RadiusTemplate, Tilt['test.radius']
14
- end
15
-
16
- test "preparing and evaluating templates on #render" do
17
- template = Tilt::RadiusTemplate.new { |t| "Hello World!" }
18
- assert_equal "Hello World!", template.render
19
- end
20
-
21
- test "can be rendered more than once" do
22
- template = Tilt::RadiusTemplate.new { |t| "Hello World!" }
23
- 3.times { assert_equal "Hello World!", template.render }
24
- end
25
-
26
- test "passing locals" do
27
- template = Tilt::RadiusTemplate.new { "Hey <r:name />!" }
28
- assert_equal "Hey Joe!", template.render(nil, :name => 'Joe')
29
- end
30
-
31
- class ExampleRadiusScope
32
- def beer; 'wet'; end
33
- def whisky; 'wetter'; end
34
- end
35
-
36
- test "combining scope and locals when scope responds" do
37
- template = Tilt::RadiusTemplate.new {
38
- 'Beer is <r:beer /> but Whisky is <r:whisky />.'
39
- }
40
- scope = ExampleRadiusScope.new
41
- assert_equal "Beer is wet but Whisky is wetter.", template.render(scope)
42
- end
43
-
44
- test "precedence when locals and scope define same variables" do
45
- template = Tilt::RadiusTemplate.new {
46
- 'Beer is <r:beer /> but Whisky is <r:whisky />.'
47
- }
48
- scope = ExampleRadiusScope.new
49
- assert_equal "Beer is great but Whisky is greater.",
50
- template.render(scope, :beer => 'great', :whisky => 'greater')
51
- end
52
-
53
- #test "handles local scope" do
54
- # beer = 'wet'
55
- # whisky = 'wetter'
56
- #
57
- # template = Tilt::RadiusTemplate.new {
58
- # 'Beer is <r:beer /> but Whisky is <r:whisky />.'
59
- # }
60
- # assert_equal "Beer is wet but Whisky is wetter.", template.render(self)
61
- #end
62
-
63
- test "passing a block for yield" do
64
- template = Tilt::RadiusTemplate.new {
65
- 'Beer is <r:yield /> but Whisky is <r:yield />ter.'
66
- }
67
- assert_equal "Beer is wet but Whisky is wetter.",
68
- template.render({}) { 'wet' }
69
- end
70
- end
71
-
72
- rescue LoadError
73
- warn "Tilt::RadiusTemplate (disabled)"
74
- end
75
-
@@ -1,43 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/rdiscount'
6
-
7
- class RDiscountTemplateTest < Minitest::Test
8
- test "registered above BlueCloth" do
9
- %w[md mkd markdown].each do |ext|
10
- lazy = Tilt.lazy_map[ext]
11
- rdis_idx = lazy.index { |klass, file| klass == 'Tilt::RDiscountTemplate' }
12
- blue_idx = lazy.index { |klass, file| klass == 'Tilt::BlueClothTemplate' }
13
- assert rdis_idx < blue_idx,
14
- "#{rdis_idx} should be lower than #{blue_idx}"
15
- end
16
- end
17
-
18
- test "preparing and evaluating templates on #render" do
19
- template = Tilt::RDiscountTemplate.new { |t| "# Hello World!" }
20
- assert_equal "<h1>Hello World!</h1>\n", template.render
21
- end
22
-
23
- test "can be rendered more than once" do
24
- template = Tilt::RDiscountTemplate.new { |t| "# Hello World!" }
25
- 3.times { assert_equal "<h1>Hello World!</h1>\n", template.render }
26
- end
27
-
28
- test "smartypants when :smart is set" do
29
- template = Tilt::RDiscountTemplate.new(:smart => true) { |t|
30
- "OKAY -- 'Smarty Pants'" }
31
- assert_equal "<p>OKAY &ndash; &lsquo;Smarty Pants&rsquo;</p>\n",
32
- template.render
33
- end
34
-
35
- test "stripping HTML when :filter_html is set" do
36
- template = Tilt::RDiscountTemplate.new(:filter_html => true) { |t|
37
- "HELLO <blink>WORLD</blink>" }
38
- assert_equal "<p>HELLO &lt;blink>WORLD&lt;/blink></p>\n", template.render
39
- end
40
- end
41
- rescue LoadError
42
- warn "Tilt::RDiscountTemplate (disabled)"
43
- end
@@ -1,29 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/rdoc'
6
- class RDocTemplateTest < Minitest::Test
7
- test "is registered for '.rdoc' files" do
8
- assert_equal Tilt::RDocTemplate, Tilt['test.rdoc']
9
- end
10
-
11
- test "preparing and evaluating the template with #render" do
12
- template = Tilt::RDocTemplate.new { |t| "= Hello World!" }
13
- result = template.render.strip
14
- assert_match %r(<h1), result
15
- assert_match %r(>Hello World!<), result
16
- end
17
-
18
- test "can be rendered more than once" do
19
- template = Tilt::RDocTemplate.new { |t| "= Hello World!" }
20
- 3.times do
21
- result = template.render.strip
22
- assert_match %r(<h1), result
23
- assert_match %r(>Hello World!<), result
24
- end
25
- end
26
- end
27
- rescue LoadError => boom
28
- warn "Tilt::RDocTemplate (disabled) [#{boom}]"
29
- end
@@ -1,54 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/redcarpet'
6
-
7
- class RedcarpetTemplateTest < Minitest::Test
8
- test "registered above BlueCloth" do
9
- %w[md mkd markdown].each do |ext|
10
- lazy = Tilt.lazy_map[ext]
11
- blue_idx = lazy.index { |klass, file| klass == 'Tilt::BlueClothTemplate' }
12
- redc_idx = lazy.index { |klass, file| klass == 'Tilt::RedcarpetTemplate' }
13
- assert redc_idx < blue_idx,
14
- "#{redc_idx} should be lower than #{blue_idx}"
15
- end
16
- end
17
-
18
- test "registered above RDiscount" do
19
- %w[md mkd markdown].each do |ext|
20
- lazy = Tilt.lazy_map[ext]
21
- rdis_idx = lazy.index { |klass, file| klass == 'Tilt::RDiscountTemplate' }
22
- redc_idx = lazy.index { |klass, file| klass == 'Tilt::RedcarpetTemplate' }
23
- assert redc_idx < rdis_idx,
24
- "#{redc_idx} should be lower than #{rdis_idx}"
25
- end
26
- end
27
-
28
- test "preparing and evaluating templates on #render" do
29
- template = Tilt::RedcarpetTemplate.new { |t| "# Hello World!" }
30
- assert_equal "<h1>Hello World!</h1>\n", template.render
31
- end
32
-
33
- test "can be rendered more than once" do
34
- template = Tilt::RedcarpetTemplate.new { |t| "# Hello World!" }
35
- 3.times { assert_equal "<h1>Hello World!</h1>\n", template.render }
36
- end
37
-
38
- test "smartypants when :smart is set" do
39
- template = Tilt::RedcarpetTemplate.new(:smartypants => true) { |t|
40
- "OKAY -- 'Smarty Pants'" }
41
- assert_match %r!<p>OKAY &ndash; (&#39;|&lsquo;)Smarty Pants(&#39;|&rsquo;)<\/p>!,
42
- template.render
43
- end
44
-
45
- test "smartypants with a rendererer instance" do
46
- template = Tilt::RedcarpetTemplate.new(:renderer => Redcarpet::Render::HTML.new(:hard_wrap => true), :smartypants => true) { |t|
47
- "OKAY -- 'Smarty Pants'" }
48
- assert_match %r!<p>OKAY &ndash; (&#39;|&lsquo;)Smarty Pants(&#39;|&rsquo;)<\/p>!,
49
- template.render
50
- end
51
- end
52
- rescue LoadError
53
- warn "Tilt::RedcarpetTemplate (disabled)"
54
- end
@@ -1,36 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/redcloth'
6
-
7
- class RedClothTemplateTest < Minitest::Test
8
- test "is registered for '.textile' files" do
9
- assert_equal Tilt::RedClothTemplate, Tilt['test.textile']
10
- end
11
-
12
- test "compiles and evaluates the template on #render" do
13
- template = Tilt::RedClothTemplate.new { |t| "h1. Hello World!" }
14
- assert_equal "<h1>Hello World!</h1>", template.render
15
- end
16
-
17
- test "can be rendered more than once" do
18
- template = Tilt::RedClothTemplate.new { |t| "h1. Hello World!" }
19
- 3.times { assert_equal "<h1>Hello World!</h1>", template.render }
20
- end
21
-
22
- test "ignores unknown options" do
23
- template = Tilt::RedClothTemplate.new(:foo => "bar") { |t| "h1. Hello World!" }
24
- 3.times { assert_equal "<h1>Hello World!</h1>", template.render }
25
- end
26
-
27
- test "passes in RedCloth options" do
28
- template = Tilt::RedClothTemplate.new { |t| "Hard breaks are\ninserted by default." }
29
- assert_equal "<p>Hard breaks are<br />\ninserted by default.</p>", template.render
30
- template = Tilt::RedClothTemplate.new(:hard_breaks => false) { |t| "But they can be\nturned off." }
31
- assert_equal "<p>But they can be\nturned off.</p>", template.render
32
- end
33
- end
34
- rescue LoadError
35
- warn "Tilt::RedClothTemplate (disabled)"
36
- end
@@ -1,32 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/rst-pandoc'
6
-
7
- class RstPandocTemplateTest < Minitest::Test
8
- test "is registered for '.rst' files" do
9
- assert_equal Tilt::RstPandocTemplate, Tilt['test.rst']
10
- end
11
-
12
- test "compiles and evaluates the template on #render" do
13
- template = Tilt::RstPandocTemplate.new { |t| "Hello World!\n============" }
14
- assert_equal "<h1 id=\"hello-world\">Hello World!</h1>", template.render
15
- end
16
-
17
- test "can be rendered more than once" do
18
- template = Tilt::RstPandocTemplate.new { |t| "Hello World!\n============" }
19
- 3.times do
20
- assert_equal "<h1 id=\"hello-world\">Hello World!</h1>", template.render
21
- end
22
- end
23
-
24
- test "doens't use markdown options" do
25
- template = Tilt::RstPandocTemplate.new(:escape_html => true) { |t| "HELLO <blink>WORLD</blink>" }
26
- err = assert_raises(RuntimeError) { template.render }
27
- assert_match %r(pandoc: unrecognized option `--escape-html), err.message
28
- end
29
- end
30
- rescue LoadError => boom
31
- warn "Tilt::RstPandocTemplate (disabled) [#{boom}]"
32
- end
@@ -1,41 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
-
4
- begin
5
- require 'tilt/sass'
6
-
7
- class SassTemplateTest < Minitest::Test
8
- test "is registered for '.sass' files" do
9
- assert_equal Tilt::SassTemplate, Tilt['test.sass']
10
- end
11
-
12
- test "compiles and evaluates the template on #render" do
13
- template = Tilt::SassTemplate.new { |t| "#main\n :background-color #0000f1" }
14
- assert_equal "#main {\n background-color: #0000f1; }\n", template.render
15
- end
16
-
17
- test "can be rendered more than once" do
18
- template = Tilt::SassTemplate.new { |t| "#main\n :background-color #0000f1" }
19
- 3.times { assert_equal "#main {\n background-color: #0000f1; }\n", template.render }
20
- end
21
- end
22
-
23
- class ScssTemplateTest < Minitest::Test
24
- test "is registered for '.scss' files" do
25
- assert_equal Tilt::ScssTemplate, Tilt['test.scss']
26
- end
27
-
28
- test "compiles and evaluates the template on #render" do
29
- template = Tilt::ScssTemplate.new { |t| "#main {\n background-color: #0000f1;\n}" }
30
- assert_equal "#main {\n background-color: #0000f1; }\n", template.render
31
- end
32
-
33
- test "can be rendered more than once" do
34
- template = Tilt::ScssTemplate.new { |t| "#main {\n background-color: #0000f1;\n}" }
35
- 3.times { assert_equal "#main {\n background-color: #0000f1; }\n", template.render }
36
- end
37
- end
38
-
39
- rescue LoadError
40
- warn "Tilt::SassTemplate (disabled)"
41
- end
@@ -1,41 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
- require 'tilt/sigil'
4
-
5
- system('sigil -v')
6
-
7
- if $?.success?
8
- class SigilTemplateTest < Minitest::Test
9
- test "registered for '.sigil' files" do
10
- assert_equal Tilt::SigilTemplate, Tilt['test.sigil']
11
- end
12
-
13
- test "loading and evaluating templates on #render" do
14
- template = Tilt::SigilTemplate.new { |t| "Hello World!" }
15
- assert_equal "Hello World!", template.render
16
- end
17
-
18
- test "can be rendered more than once" do
19
- template = Tilt::SigilTemplate.new { |t| "Hello World!" }
20
- 3.times { assert_equal "Hello World!", template.render }
21
- end
22
-
23
- test "passing locals" do
24
- template = Tilt::SigilTemplate.new { 'Hey $name!' }
25
- assert_equal "Hey Joe!", template.render(Object.new, :name => 'Joe')
26
- end
27
-
28
- test "error message" do
29
- template = Tilt::SigilTemplate.new('test.sigil') { '{{undef_func}}' }
30
- begin
31
- template.render
32
- fail 'should have raised an exception'
33
- rescue => boom
34
- assert_kind_of RuntimeError, boom
35
- assert_equal 'template: test.sigil:1: function "undef_func" not defined', boom.message
36
- end
37
- end
38
- end
39
- else
40
- warn "Tilt::SigilTemplate (disabled)"
41
- end
@@ -1,171 +0,0 @@
1
- require 'test_helper'
2
- require 'tilt'
3
- require 'tilt/string'
4
-
5
- class StringTemplateTest < Minitest::Test
6
- test "registered for '.str' files" do
7
- assert_equal Tilt::StringTemplate, Tilt['test.str']
8
- end
9
-
10
- test "loading and evaluating templates on #render" do
11
- template = Tilt::StringTemplate.new { |t| "Hello World!" }
12
- assert_equal "Hello World!", template.render
13
- end
14
-
15
- test "can be rendered more than once" do
16
- template = Tilt::StringTemplate.new { |t| "Hello World!" }
17
- 3.times { assert_equal "Hello World!", template.render }
18
- end
19
-
20
- test "passing locals" do
21
- template = Tilt::StringTemplate.new { 'Hey #{name}!' }
22
- assert_equal "Hey Joe!", template.render(Object.new, :name => 'Joe')
23
- end
24
-
25
- test "evaluating in an object scope" do
26
- template = Tilt::StringTemplate.new { 'Hey #{@name}!' }
27
- scope = Object.new
28
- scope.instance_variable_set :@name, 'Joe'
29
- assert_equal "Hey Joe!", template.render(scope)
30
- end
31
-
32
- test "passing a block for yield" do
33
- template = Tilt::StringTemplate.new { 'Hey #{yield}!' }
34
- assert_equal "Hey Joe!", template.render { 'Joe' }
35
- assert_equal "Hey Moe!", template.render { 'Moe' }
36
- end
37
-
38
- test "multiline templates" do
39
- template = Tilt::StringTemplate.new { "Hello\nWorld!\n" }
40
- assert_equal "Hello\nWorld!\n", template.render
41
- end
42
-
43
- test "backtrace file and line reporting without locals" do
44
- data = File.read(__FILE__).split("\n__END__\n").last
45
- fail unless data[0] == ?<
46
- template = Tilt::StringTemplate.new('test.str', 11) { data }
47
- begin
48
- template.render
49
- fail 'should have raised an exception'
50
- rescue => boom
51
- assert_kind_of NameError, boom
52
- line = boom.backtrace.grep(/^test\.str:/).first
53
- assert line, "Backtrace didn't contain test.str"
54
- _file, line, _meth = line.split(":")
55
- assert_equal '13', line
56
- end
57
- end
58
-
59
- test "backtrace file and line reporting with locals" do
60
- data = File.read(__FILE__).split("\n__END__\n").last
61
- fail unless data[0] == ?<
62
- template = Tilt::StringTemplate.new('test.str', 1) { data }
63
- begin
64
- template.render(nil, :name => 'Joe', :foo => 'bar')
65
- fail 'should have raised an exception'
66
- rescue => boom
67
- assert_kind_of RuntimeError, boom
68
- line = boom.backtrace.first
69
- file, line, _meth = line.split(":")
70
- assert_equal 'test.str', file
71
- assert_equal '6', line
72
- end
73
- end
74
- end
75
-
76
-
77
- class CompiledStringTemplateTest < Minitest::Test
78
- def teardown
79
- GC.start
80
- end
81
-
82
- class Scope
83
- end
84
-
85
- test "compiling template source to a method" do
86
- template = Tilt::StringTemplate.new { |t| "Hello World!" }
87
- template.render(Scope.new)
88
- method = template.send(:compiled_method, [])
89
- assert_kind_of UnboundMethod, method
90
- end
91
-
92
- test "loading and evaluating templates on #render" do
93
- template = Tilt::StringTemplate.new { |t| "Hello World!" }
94
- assert_equal "Hello World!", template.render(Scope.new)
95
- end
96
-
97
- test "passing locals" do
98
- template = Tilt::StringTemplate.new { 'Hey #{name}!' }
99
- assert_equal "Hey Joe!", template.render(Scope.new, :name => 'Joe')
100
- assert_equal "Hey Moe!", template.render(Scope.new, :name => 'Moe')
101
- end
102
-
103
- test "evaluating in an object scope" do
104
- template = Tilt::StringTemplate.new { 'Hey #{@name}!' }
105
- scope = Scope.new
106
- scope.instance_variable_set :@name, 'Joe'
107
- assert_equal "Hey Joe!", template.render(scope)
108
- scope.instance_variable_set :@name, 'Moe'
109
- assert_equal "Hey Moe!", template.render(scope)
110
- end
111
-
112
- test "passing a block for yield" do
113
- template = Tilt::StringTemplate.new { 'Hey #{yield}!' }
114
- assert_equal "Hey Joe!", template.render(Scope.new) { 'Joe' }
115
- assert_equal "Hey Moe!", template.render(Scope.new) { 'Moe' }
116
- end
117
-
118
- test "multiline templates" do
119
- template = Tilt::StringTemplate.new { "Hello\nWorld!\n" }
120
- assert_equal "Hello\nWorld!\n", template.render(Scope.new)
121
- end
122
-
123
-
124
- test "template with '}'" do
125
- template = Tilt::StringTemplate.new { "Hello }" }
126
- assert_equal "Hello }", template.render
127
- end
128
-
129
- test "backtrace file and line reporting without locals" do
130
- data = File.read(__FILE__).split("\n__END__\n").last
131
- fail unless data[0] == ?<
132
- template = Tilt::StringTemplate.new('test.str', 11) { data }
133
- begin
134
- template.render(Scope.new)
135
- fail 'should have raised an exception'
136
- rescue => boom
137
- assert_kind_of NameError, boom
138
- line = boom.backtrace.first
139
- line = boom.backtrace.grep(/^test\.str:/).first
140
- assert line, "Backtrace didn't contain test.str"
141
- _file, line, _meth = line.split(":")
142
- assert_equal '13', line
143
- end
144
- end
145
-
146
- test "backtrace file and line reporting with locals" do
147
- data = File.read(__FILE__).split("\n__END__\n").last
148
- fail unless data[0] == ?<
149
- template = Tilt::StringTemplate.new('test.str') { data }
150
- begin
151
- template.render(Scope.new, :name => 'Joe', :foo => 'bar')
152
- fail 'should have raised an exception'
153
- rescue => boom
154
- assert_kind_of RuntimeError, boom
155
- line = boom.backtrace.first
156
- file, line, _meth = line.split(":")
157
- assert_equal 'test.str', file
158
- assert_equal '6', line
159
- end
160
- end
161
- end
162
-
163
- __END__
164
- <html>
165
- <body>
166
- <h1>Hey #{name}!</h1>
167
-
168
-
169
- <p>#{fail}</p>
170
- </body>
171
- </html>