frank 0.2.6 → 0.3.0.beta
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.
- data/Featurelist +6 -0
- data/README.md +44 -32
- data/Rakefile +3 -3
- data/frank.gemspec +51 -45
- data/lib/frank.rb +1 -0
- data/lib/frank/base.rb +144 -94
- data/lib/frank/lorem.rb +77 -36
- data/lib/frank/middleware/imager.rb +43 -0
- data/lib/frank/middleware/refresh.rb +42 -0
- data/lib/frank/middleware/statik.rb +41 -0
- data/lib/frank/output.rb +25 -37
- data/lib/frank/rescue.rb +13 -6
- data/lib/frank/template_helpers.rb +34 -3
- data/lib/frank/templates/404.haml +1 -0
- data/lib/frank/templates/500.haml +2 -0
- data/lib/frank/tilt.rb +389 -141
- data/lib/template/{dynamic/layout.haml → layouts/default.haml} +0 -0
- data/lib/template/settings.yml +15 -28
- data/spec/base_spec.rb +88 -0
- data/{test → spec}/helper.rb +0 -7
- data/spec/output_spec.rb +220 -0
- data/spec/render_spec.rb +106 -0
- data/spec/template/dynamic/500.haml +1 -0
- data/{test → spec}/template/dynamic/_partial.haml +0 -0
- data/{test → spec}/template/dynamic/builder.builder +0 -0
- data/{test → spec}/template/dynamic/coffee.coffee +0 -0
- data/{test → spec}/template/dynamic/erb.erb +0 -0
- data/{test → spec}/template/dynamic/helper_test.haml +0 -0
- data/spec/template/dynamic/index.haml +5 -0
- data/spec/template/dynamic/layout2_test.haml +4 -0
- data/{test → spec}/template/dynamic/liquid.liquid +0 -0
- data/spec/template/dynamic/lorem_test.haml +7 -0
- data/{test → spec}/template/dynamic/markdown.md +0 -0
- data/spec/template/dynamic/markdown_in_haml.md +4 -0
- data/{test → spec}/template/dynamic/mustache.mustache +0 -0
- data/spec/template/dynamic/nested/child.haml +1 -0
- data/spec/template/dynamic/nested/deeper/deep.haml +1 -0
- data/spec/template/dynamic/no_layout.haml +4 -0
- data/spec/template/dynamic/partial_test.haml +2 -0
- data/{test → spec}/template/dynamic/redcloth.textile +0 -0
- data/spec/template/dynamic/refresh.haml +1 -0
- data/{test → spec}/template/dynamic/sass.sass +0 -0
- data/{test → spec}/template/helpers.rb +0 -0
- data/spec/template/layouts/default.haml +3 -0
- data/{test/template/dynamic → spec/template/layouts/explicit}/layout2.haml +0 -0
- data/spec/template/layouts/nested/default.haml +2 -0
- data/spec/template/settings.yml +45 -0
- data/{test/template/static → spec/template/static/files}/static.html +0 -0
- data/spec/template_helpers_spec.rb +78 -0
- metadata +57 -49
- data/lib/frank/imager.rb +0 -39
- data/lib/frank/statik.rb +0 -39
- data/test/suite.rb +0 -4
- data/test/template/dynamic/index.haml +0 -2
- data/test/template/dynamic/layout.haml +0 -2
- data/test/template/dynamic/layout2_test.haml +0 -1
- data/test/template/dynamic/layout_test.haml +0 -1
- data/test/template/dynamic/lorem_test.haml +0 -7
- data/test/template/dynamic/partial_test.haml +0 -2
- data/test/template/settings.yml +0 -62
- data/test/test_base.rb +0 -81
- data/test/test_helpers.rb +0 -71
- data/test/test_output.rb +0 -160
- data/test/test_render.rb +0 -89
data/test/suite.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
%h1 hi inside layout2
|
@@ -1 +0,0 @@
|
|
1
|
-
%h1 hi inside layout
|
data/test/template/settings.yml
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
# -----------------------------------------------
|
2
|
-
# Frank settings:
|
3
|
-
#
|
4
|
-
# These settings will apply to this project only.
|
5
|
-
# If you would like to use this project as a
|
6
|
-
# template for new projects, just copy this
|
7
|
-
# project folder to `~/.frank` and it will be
|
8
|
-
# duplicated for you every time you run the
|
9
|
-
# `frank` command.
|
10
|
-
#
|
11
|
-
# Feel free to trash all these comments, too.
|
12
|
-
#
|
13
|
-
|
14
|
-
env: test
|
15
|
-
|
16
|
-
# ----------------------
|
17
|
-
# Server settings:
|
18
|
-
#
|
19
|
-
# Change the server host/port to bind rack to.
|
20
|
-
# 'server' can be any Rack-supported server, e.g.
|
21
|
-
# Mongrel, Thin, WEBrick
|
22
|
-
#
|
23
|
-
server:
|
24
|
-
handler: mongrel
|
25
|
-
hostname: localhost
|
26
|
-
port: 3601
|
27
|
-
|
28
|
-
|
29
|
-
# ----------------------
|
30
|
-
# Static folder:
|
31
|
-
#
|
32
|
-
# All files in this folder will be served up
|
33
|
-
# directly, without interpretation
|
34
|
-
#
|
35
|
-
static_folder: static
|
36
|
-
|
37
|
-
# ----------------------
|
38
|
-
# Dynamic folder:
|
39
|
-
#
|
40
|
-
# Frank will try to interpret any of the files
|
41
|
-
# in this folder based on their extension
|
42
|
-
#
|
43
|
-
dynamic_folder: dynamic
|
44
|
-
|
45
|
-
# ----------------------
|
46
|
-
# Templates:
|
47
|
-
#
|
48
|
-
# 'layouts' is a list of layouts to use, where
|
49
|
-
# 'name' is the filename (without extension).
|
50
|
-
# You can also use multiple layouts, and limit
|
51
|
-
# their scopes like so:
|
52
|
-
# - name: blog_layout
|
53
|
-
# only: [blog]
|
54
|
-
# - name: normal
|
55
|
-
# not: [blog, ajax]
|
56
|
-
templates:
|
57
|
-
layouts:
|
58
|
-
- name: layout
|
59
|
-
not: [builder, erb, liquid, markdown, mustache, redcloth]
|
60
|
-
- name: layout2
|
61
|
-
only: [layout2_test]
|
62
|
-
|
data/test/test_base.rb
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/helper'
|
2
|
-
|
3
|
-
class TestBase < Test::Unit::TestCase
|
4
|
-
|
5
|
-
def app
|
6
|
-
proj_dir = File.join(File.dirname(__FILE__), 'template')
|
7
|
-
settings = YAML.load_file(File.join(proj_dir, 'settings.yml'))
|
8
|
-
Frank.new do
|
9
|
-
settings.each do |name, value|
|
10
|
-
set name.to_s, value
|
11
|
-
end
|
12
|
-
set :environment, :test
|
13
|
-
set :proj_dir, proj_dir
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
context 'Frank::Base' do
|
18
|
-
|
19
|
-
should 'have all required settings set' do
|
20
|
-
assert_not_nil app.proj_dir
|
21
|
-
assert_not_nil app.server
|
22
|
-
assert_not_nil app.static_folder
|
23
|
-
assert_not_nil app.dynamic_folder
|
24
|
-
assert_not_nil app.templates
|
25
|
-
end
|
26
|
-
|
27
|
-
should 'render a dynamic template given a request' do
|
28
|
-
get '/'
|
29
|
-
|
30
|
-
assert last_response.ok?
|
31
|
-
assert_equal "<div id='layout'>\n <h1>hello worlds</h1>\n</div>\n", last_response.body
|
32
|
-
end
|
33
|
-
|
34
|
-
should 'render a dynamic css without a layout' do
|
35
|
-
get '/sass.css'
|
36
|
-
|
37
|
-
assert last_response.ok?
|
38
|
-
assert_equal "#hello-worlds {\n background: red; }\n", last_response.body
|
39
|
-
end
|
40
|
-
|
41
|
-
should 'render a dynamic javascript without a layout' do
|
42
|
-
get '/coffee.js'
|
43
|
-
|
44
|
-
assert last_response.ok?
|
45
|
-
assert_equal "(function(){\n var greeting;\n greeting = \"Hello CoffeeScript\";\n})();", last_response.body
|
46
|
-
end
|
47
|
-
|
48
|
-
should 'render 404 page if template not found' do
|
49
|
-
get '/not_here.css'
|
50
|
-
|
51
|
-
assert !last_response.ok?
|
52
|
-
assert_equal 'text/html', last_response.content_type
|
53
|
-
assert_match 'Not Found', last_response.body
|
54
|
-
end
|
55
|
-
|
56
|
-
should 'render 500 page for error' do
|
57
|
-
get '/?brok=en'
|
58
|
-
|
59
|
-
assert !last_response.ok?
|
60
|
-
assert_equal 'text/html', last_response.content_type
|
61
|
-
assert_match "undefined local variable or method `non_method'", last_response.body
|
62
|
-
end
|
63
|
-
|
64
|
-
end
|
65
|
-
|
66
|
-
context 'Frank.stub' do
|
67
|
-
|
68
|
-
should 'stub out a project' do
|
69
|
-
out = capture_stdout { Frank.stub('stubbed') }
|
70
|
-
assert_equal Dir.entries('stubbed'), Dir.entries(File.join(LIBDIR, 'template'))
|
71
|
-
putss = "\nFrank is...\n - \e[32mCreating\e[0m your project 'stubbed'\n - \e[32mCopying\e[0m Frank template\n\n \e[32mCongratulations, 'stubbed' is ready to go!\e[0m\n"
|
72
|
-
assert_equal putss, out.string
|
73
|
-
end
|
74
|
-
|
75
|
-
teardown do
|
76
|
-
FileUtils.rm_r File.join(Dir.pwd, 'stubbed')
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
data/test/test_helpers.rb
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/helper'
|
2
|
-
|
3
|
-
class TestBase < Test::Unit::TestCase
|
4
|
-
|
5
|
-
context 'Frank::TemplateHelpers' do
|
6
|
-
|
7
|
-
setup do
|
8
|
-
proj_dir = File.join(File.dirname(__FILE__), 'template')
|
9
|
-
settings = YAML.load_file(File.join(proj_dir, 'settings.yml'))
|
10
|
-
require File.join(proj_dir, 'helpers')
|
11
|
-
@frank = Frank.new do
|
12
|
-
settings.each do |name, value|
|
13
|
-
set name.to_s, value
|
14
|
-
end
|
15
|
-
set :environment, :test
|
16
|
-
set :proj_dir, proj_dir
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
should 'render haml and use hello_helper' do
|
21
|
-
template = @frank.render_path('helper_test.haml')
|
22
|
-
assert_equal "<div id='layout'>\n <h1>hello from helper</h1>\n</div>\n", template
|
23
|
-
end
|
24
|
-
|
25
|
-
context 'Lorem' do
|
26
|
-
should 'render haml with 3 random lorem words' do
|
27
|
-
template = @frank.render_path('lorem_test.haml')
|
28
|
-
reg = /<p class='words'>(?:\w+\s?){3}<\/p>/
|
29
|
-
assert_match reg, template
|
30
|
-
end
|
31
|
-
|
32
|
-
should 'render haml with 2 random lorem sentences' do
|
33
|
-
template = @frank.render_path('lorem_test.haml')
|
34
|
-
reg = /<p class='sentences'>(?:[^.]+.){2}<\/p>/
|
35
|
-
assert_match reg, template
|
36
|
-
end
|
37
|
-
|
38
|
-
should 'render haml with 1 random lorem paragraph' do
|
39
|
-
template = @frank.render_path('lorem_test.haml')
|
40
|
-
reg = /<p class='paragraphs'>(?:[^\n]+(?:\n\n)?){1}<\/p>/m
|
41
|
-
assert_match reg, template
|
42
|
-
end
|
43
|
-
|
44
|
-
should 'render haml with lorem name' do
|
45
|
-
template = @frank.render_path('lorem_test.haml')
|
46
|
-
reg = /<p class='name'>\w+\s\w+<\/p>/m
|
47
|
-
assert_match reg, template
|
48
|
-
end
|
49
|
-
|
50
|
-
should 'render haml with lorem email' do
|
51
|
-
template = @frank.render_path('lorem_test.haml')
|
52
|
-
reg = /<p class='email'>[\w-]+@\w+\.\w+<\/p>/m
|
53
|
-
assert_match reg, template
|
54
|
-
end
|
55
|
-
|
56
|
-
should 'render haml with lorem date' do
|
57
|
-
template = @frank.render_path('lorem_test.haml')
|
58
|
-
reg = /<p class='date'>\d{4}-\d{2}-\d{2}<\/p>/m
|
59
|
-
assert_match reg, template
|
60
|
-
end
|
61
|
-
|
62
|
-
should 'render image url using imager' do
|
63
|
-
template = @frank.render_path('lorem_test.haml')
|
64
|
-
reg = /<img src='\/_img\/400x300.jpg\?random\d{5}' \/>/
|
65
|
-
assert_match reg, template
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
data/test/test_output.rb
DELETED
@@ -1,160 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/helper'
|
2
|
-
|
3
|
-
class TestBase < Test::Unit::TestCase
|
4
|
-
|
5
|
-
context 'Frank::Output' do
|
6
|
-
|
7
|
-
setup do
|
8
|
-
proj_dir = File.join(File.dirname(__FILE__), 'template')
|
9
|
-
settings = YAML.load_file(File.join(proj_dir, 'settings.yml'))
|
10
|
-
require File.join(proj_dir, 'helpers')
|
11
|
-
capture_stdout do
|
12
|
-
@frank = Frank::Output.new do
|
13
|
-
settings.each do |name, value|
|
14
|
-
set name.to_s, value
|
15
|
-
end
|
16
|
-
set :environment, :test
|
17
|
-
set :proj_dir, proj_dir
|
18
|
-
set :output_folder, File.join(File.dirname(__FILE__), 'template/output')
|
19
|
-
end.dump
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
should 'create the output folder' do
|
24
|
-
assert File.exist? File.join(File.dirname(__FILE__), 'template/output')
|
25
|
-
end
|
26
|
-
|
27
|
-
should 'create index.html' do
|
28
|
-
output = File.join(File.dirname(__FILE__), 'template/output/index.html')
|
29
|
-
assert_equal "<div id='layout'>\n <h1>hello worlds</h1>\n</div>\n", IO.read(output)
|
30
|
-
end
|
31
|
-
|
32
|
-
should 'create partial_test.html' do
|
33
|
-
output = File.join(File.dirname(__FILE__), 'template/output/partial_test.html')
|
34
|
-
assert_equal "<div id='layout'>\n <h1>hello worlds</h1>\n <p>hello from partial</p>\n</div>\n", IO.read(output)
|
35
|
-
end
|
36
|
-
|
37
|
-
should 'create erb.html' do
|
38
|
-
output = File.join(File.dirname(__FILE__), 'template/output/erb.html')
|
39
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
40
|
-
end
|
41
|
-
|
42
|
-
should 'create redcloth.html' do
|
43
|
-
output = File.join(File.dirname(__FILE__), 'template/output/redcloth.html')
|
44
|
-
assert_equal "<h1>hello worlds</h1>", IO.read(output)
|
45
|
-
end
|
46
|
-
|
47
|
-
should 'create markdown.html' do
|
48
|
-
output = File.join(File.dirname(__FILE__), 'template/output/markdown.html')
|
49
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
50
|
-
end
|
51
|
-
|
52
|
-
should 'create mustache.html' do
|
53
|
-
output = File.join(File.dirname(__FILE__), 'template/output/mustache.html')
|
54
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
55
|
-
end
|
56
|
-
|
57
|
-
should 'create liquid.html' do
|
58
|
-
output = File.join(File.dirname(__FILE__), 'template/output/liquid.html')
|
59
|
-
assert_equal "<h1>hello worlds</h1>", IO.read(output)
|
60
|
-
end
|
61
|
-
|
62
|
-
should 'create builder.html' do
|
63
|
-
output = File.join(File.dirname(__FILE__), 'template/output/builder.html')
|
64
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
65
|
-
end
|
66
|
-
|
67
|
-
should 'copy static.html' do
|
68
|
-
output = File.join(File.dirname(__FILE__), 'template/output/static.html')
|
69
|
-
assert_equal "hello from static", IO.read(output)
|
70
|
-
end
|
71
|
-
|
72
|
-
should 'not create partials' do
|
73
|
-
assert !File.exist?(File.join(File.dirname(__FILE__), 'template/output/_partial.html'))
|
74
|
-
end
|
75
|
-
|
76
|
-
teardown do
|
77
|
-
FileUtils.rm_r File.join(File.dirname(__FILE__), 'template/output')
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
context 'Frank::Output Production' do
|
82
|
-
|
83
|
-
setup do
|
84
|
-
proj_dir = File.join(File.dirname(__FILE__), 'template')
|
85
|
-
settings = YAML.load_file(File.join(proj_dir, 'settings.yml'))
|
86
|
-
require File.join(proj_dir, 'helpers')
|
87
|
-
|
88
|
-
capture_stdout do
|
89
|
-
@frank = Frank::Output.new do
|
90
|
-
settings.each do |name, value|
|
91
|
-
set name.to_s, value
|
92
|
-
end
|
93
|
-
set :environment, :test
|
94
|
-
set :proj_dir, proj_dir
|
95
|
-
set :output_folder, File.join(File.dirname(__FILE__), 'template/output')
|
96
|
-
end.dump({:production => true})
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
should 'create the output folder' do
|
101
|
-
assert File.exist? File.join(File.dirname(__FILE__), 'template/output')
|
102
|
-
end
|
103
|
-
|
104
|
-
should 'create index.html' do
|
105
|
-
output = File.join(File.dirname(__FILE__), 'template/output/index.html')
|
106
|
-
assert_equal "<div id='layout'>\n <h1>hello worlds</h1>\n</div>\n", IO.read(output)
|
107
|
-
end
|
108
|
-
|
109
|
-
should 'create partial_test.html' do
|
110
|
-
output = File.join(File.dirname(__FILE__), 'template/output/partial_test/index.html')
|
111
|
-
assert_equal "<div id='layout'>\n <h1>hello worlds</h1>\n <p>hello from partial</p>\n</div>\n", IO.read(output)
|
112
|
-
end
|
113
|
-
|
114
|
-
should 'create erb.html' do
|
115
|
-
output = File.join(File.dirname(__FILE__), 'template/output/erb/index.html')
|
116
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
117
|
-
end
|
118
|
-
|
119
|
-
should 'create redcloth.html' do
|
120
|
-
output = File.join(File.dirname(__FILE__), 'template/output/redcloth/index.html')
|
121
|
-
assert_equal "<h1>hello worlds</h1>", IO.read(output)
|
122
|
-
end
|
123
|
-
|
124
|
-
should 'create markdown.html' do
|
125
|
-
output = File.join(File.dirname(__FILE__), 'template/output/markdown/index.html')
|
126
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
127
|
-
end
|
128
|
-
|
129
|
-
should 'create mustache.html' do
|
130
|
-
output = File.join(File.dirname(__FILE__), 'template/output/mustache/index.html')
|
131
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
132
|
-
end
|
133
|
-
|
134
|
-
should 'create liquid.html' do
|
135
|
-
output = File.join(File.dirname(__FILE__), 'template/output/liquid/index.html')
|
136
|
-
assert_equal "<h1>hello worlds</h1>", IO.read(output)
|
137
|
-
end
|
138
|
-
|
139
|
-
should 'create builder.html' do
|
140
|
-
output = File.join(File.dirname(__FILE__), 'template/output/builder/index.html')
|
141
|
-
assert_equal "<h1>hello worlds</h1>\n", IO.read(output)
|
142
|
-
end
|
143
|
-
|
144
|
-
should 'copy static.html' do
|
145
|
-
output = File.join(File.dirname(__FILE__), 'template/output/static.html')
|
146
|
-
assert_equal "hello from static", IO.read(output)
|
147
|
-
end
|
148
|
-
|
149
|
-
should 'not create partials' do
|
150
|
-
assert !File.exist?(File.join(File.dirname(__FILE__), 'template/output/_partial/index.html'))
|
151
|
-
end
|
152
|
-
|
153
|
-
teardown do
|
154
|
-
FileUtils.rm_r File.join(File.dirname(__FILE__), 'template/output')
|
155
|
-
end
|
156
|
-
|
157
|
-
|
158
|
-
end
|
159
|
-
|
160
|
-
end
|
data/test/test_render.rb
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/helper'
|
2
|
-
|
3
|
-
class TestBase < Test::Unit::TestCase
|
4
|
-
|
5
|
-
context 'Frank::Base' do
|
6
|
-
|
7
|
-
setup do
|
8
|
-
proj_dir = File.join(File.dirname(__FILE__), 'template')
|
9
|
-
settings = YAML.load_file(File.join(proj_dir, 'settings.yml'))
|
10
|
-
@frank = Frank.new do
|
11
|
-
settings.each do |name, value|
|
12
|
-
set name.to_s, value
|
13
|
-
end
|
14
|
-
set :environment, :test
|
15
|
-
set :proj_dir, proj_dir
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
context 'layouts' do
|
20
|
-
|
21
|
-
should 'render template using layout' do
|
22
|
-
template = @frank.render_path('layout_test.haml')
|
23
|
-
assert_equal "<div id='layout'>\n <h1>hi inside layout</h1>\n</div>\n", template
|
24
|
-
end
|
25
|
-
|
26
|
-
should 'render template using layout2' do
|
27
|
-
template = @frank.render_path('layout2_test.haml')
|
28
|
-
assert_equal "<div id='layout2'>\n <h1>hi inside layout2</h1>\n</div>\n", template
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
|
33
|
-
should 'render haml template' do
|
34
|
-
template = @frank.render_path('index.haml')
|
35
|
-
assert_equal "<div id='layout'>\n <h1>hello worlds</h1>\n</div>\n", template
|
36
|
-
end
|
37
|
-
|
38
|
-
should 'render haml template with a haml partial' do
|
39
|
-
template = @frank.render_path('partial_test.haml')
|
40
|
-
assert_equal "<div id='layout'>\n <h1>hello worlds</h1>\n <p>hello from partial</p>\n</div>\n", template
|
41
|
-
end
|
42
|
-
|
43
|
-
should 'render sass template' do
|
44
|
-
template = @frank.render_path('sass.sass')
|
45
|
-
assert_equal "#hello-worlds {\n background: red; }\n", template
|
46
|
-
end
|
47
|
-
|
48
|
-
should 'render coffee template' do
|
49
|
-
template = @frank.render_path('coffee.coffee')
|
50
|
-
assert_equal "(function(){\n var greeting;\n greeting = \"Hello CoffeeScript\";\n})();", template
|
51
|
-
end
|
52
|
-
|
53
|
-
should 'render erb template' do
|
54
|
-
template = @frank.render_path('erb.erb')
|
55
|
-
assert_equal "<h1>hello worlds</h1>\n", template
|
56
|
-
end
|
57
|
-
|
58
|
-
should 'render redcloth template' do
|
59
|
-
template = @frank.render_path('redcloth.textile')
|
60
|
-
assert_equal "<h1>hello worlds</h1>", template
|
61
|
-
end
|
62
|
-
|
63
|
-
should 'render rdiscount template' do
|
64
|
-
template = @frank.render_path('markdown.md')
|
65
|
-
assert_equal "<h1>hello worlds</h1>\n", template
|
66
|
-
end
|
67
|
-
|
68
|
-
should 'render mustache template' do
|
69
|
-
template = @frank.render_path('mustache.mustache')
|
70
|
-
assert_equal "<h1>hello worlds</h1>\n", template
|
71
|
-
end
|
72
|
-
|
73
|
-
should 'render liquid template' do
|
74
|
-
template = @frank.render_path('liquid.liquid')
|
75
|
-
assert_equal "<h1>hello worlds</h1>", template
|
76
|
-
end
|
77
|
-
|
78
|
-
should 'render builder template' do
|
79
|
-
template = @frank.render_path('builder.builder')
|
80
|
-
assert_equal "<h1>hello worlds</h1>\n", template
|
81
|
-
end
|
82
|
-
|
83
|
-
should 'raise template error' do
|
84
|
-
assert_raise(Frank::TemplateError) { @frank.render_path('not_a.template') }
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|