rote 0.3.2 → 0.3.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README +2 -2
- data/Rakefile +35 -8
- data/doc/pages/guide/index.html +97 -30
- data/doc/pages/index.html +18 -14
- data/lib/rote.rb +2 -2
- data/lib/rote/app.rb +1 -1
- data/lib/rote/cache.rb +29 -16
- data/lib/rote/filters.rb +1 -1
- data/lib/rote/filters/base.rb +1 -1
- data/lib/rote/filters/rdoc.rb +1 -1
- data/lib/rote/filters/redcloth.rb +1 -1
- data/lib/rote/filters/syntax.rb +20 -6
- data/lib/rote/filters/tidy.rb +1 -1
- data/lib/rote/filters/toc.rb +3 -2
- data/lib/rote/format.rb +1 -1
- data/lib/rote/format/html.rb +1 -1
- data/lib/rote/page.rb +150 -44
- data/lib/rote/project/README +1 -1
- data/lib/rote/project/Rakefile +1 -1
- data/lib/rote/rotetasks.rb +16 -4
- data/test/layouts/nestme.txt +1 -1
- data/test/pages/nested/COMMON.rb +1 -0
- data/test/pages/nested/inner/COMMON.rb +11 -0
- data/test/pages/nested/inner/nested-override.txt +3 -0
- data/test/test_cache.rb +16 -7
- data/test/test_filters.rb +2 -2
- data/test/test_page.rb +65 -10
- metadata +7 -2
data/lib/rote/project/Rakefile
CHANGED
data/lib/rote/rotetasks.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# (c)2005 Ross Bamford (and contributors)
|
4
4
|
#
|
5
5
|
# See 'rote.rb' or LICENSE for licence information.
|
6
|
-
# $Id: rotetasks.rb
|
6
|
+
# $Id: rotetasks.rb 170 2006-01-11 23:38:51 +0000 (Wed, 11 Jan 2006) roscopeco $
|
7
7
|
#++
|
8
8
|
require 'rake'
|
9
9
|
require 'rake/tasklib'
|
@@ -317,18 +317,30 @@ module Rote
|
|
317
317
|
end #class
|
318
318
|
end #module
|
319
319
|
|
320
|
-
|
321
|
-
##
|
322
|
-
|
320
|
+
#####
|
321
|
+
## Rote adds the following methods to the Rake module.
|
322
|
+
## All this cool stuff was contributed by Jonathan Paisley (<jp-www at dcs gla ac uk>)
|
323
|
+
module Rake
|
324
|
+
|
325
|
+
#####
|
326
|
+
## Rote adds the following methods to the Rake::Task class.
|
323
327
|
class Task
|
328
|
+
# Reset the _executed_ and _invoked_ flags on this task.
|
329
|
+
# Used by the +monitor+ task.
|
324
330
|
def reset
|
325
331
|
@already_invoked = false
|
326
332
|
@executed = false
|
327
333
|
end
|
334
|
+
|
335
|
+
# Determine whether this task has been executed in this cycle.
|
336
|
+
# Used by the +monitor+ task.
|
328
337
|
def executed?
|
329
338
|
@executed
|
330
339
|
end
|
340
|
+
|
331
341
|
alias :pre_rote_execute :execute
|
342
|
+
# Execute the task, setting the _executed_ flag.
|
343
|
+
# Used by the +monitor+ task.
|
332
344
|
def execute
|
333
345
|
@executed = true
|
334
346
|
pre_rote_execute
|
data/test/layouts/nestme.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
with nested: '<%= @content_for_layout %>'
|
@@ -0,0 +1 @@
|
|
1
|
+
layout 'withext.ext'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# This should *override* the layout specified by the preceeding
|
2
|
+
# COMMON.rb, i.e. nested layout CANNOT be specified from COMMON,
|
3
|
+
# This is intentional - COMMON.rb code always overrides the
|
4
|
+
# COMMON.rb code from above. Nested layout only happens when
|
5
|
+
# 'layout' is called from page or layout code.
|
6
|
+
|
7
|
+
# Obviously we can specify a layout here that uses nesting, since
|
8
|
+
# the actual nesting doesn't happen until layout is run. If the
|
9
|
+
# page goes on to specify a layout, however, it will override
|
10
|
+
# this one (as with this test).
|
11
|
+
layout 'simple'
|
data/test/test_cache.rb
CHANGED
@@ -9,6 +9,8 @@ $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__),'../lib'))
|
|
9
9
|
require 'rake'
|
10
10
|
require 'rote/cache'
|
11
11
|
|
12
|
+
Rake.cache_enabled = false
|
13
|
+
|
12
14
|
module Rote
|
13
15
|
class TestCache < Test::Unit::TestCase
|
14
16
|
|
@@ -29,19 +31,26 @@ module Rote
|
|
29
31
|
end
|
30
32
|
|
31
33
|
def test_rake_task_stack
|
34
|
+
innerex, outerex = false, false
|
32
35
|
assert_equal [], Rake.task_stack
|
33
36
|
|
34
37
|
outertask = task :outertask do
|
35
|
-
assert_equal ['outertask'], Rake.task_stack
|
38
|
+
assert_equal ['outertask'], Rake.task_stack.map { |t| t.name }
|
36
39
|
|
37
|
-
innertask = task :innertask do
|
38
|
-
assert_equal ['outertask', 'innertask'], Rake.task_stack
|
40
|
+
innertask = task :innertask do
|
41
|
+
assert_equal ['outertask', 'innertask'], Rake.task_stack.map { |t| t.name }
|
42
|
+
innerex = true
|
39
43
|
end
|
40
44
|
|
41
|
-
|
45
|
+
innertask.invoke
|
46
|
+
assert_equal ['outertask'], Rake.task_stack.map { |t| t.name }
|
47
|
+
outerex = true
|
42
48
|
end
|
43
49
|
|
44
|
-
|
50
|
+
outertask.invoke
|
51
|
+
assert_equal [], Rake.task_stack.map { |t| t.name }
|
52
|
+
assert innerex
|
53
|
+
assert outerex
|
45
54
|
end
|
46
55
|
|
47
56
|
def test_rake_register_dep_cached_deps
|
@@ -51,12 +60,12 @@ module Rote
|
|
51
60
|
# there's no current task
|
52
61
|
assert_nil Rake.register_dependency('dep')
|
53
62
|
assert_equal({}, Rake.cached_dependencies)
|
54
|
-
|
63
|
+
|
55
64
|
testtask = task :test_register_dep do
|
56
65
|
assert_equal(['dep'], Rake.register_dependency('dep'))
|
57
66
|
end
|
58
67
|
|
59
|
-
testtask.invoke
|
68
|
+
testtask.invoke
|
60
69
|
|
61
70
|
assert_equal({'test_register_dep' => ['dep']}, Rake.cached_dependencies)
|
62
71
|
end
|
data/test/test_filters.rb
CHANGED
@@ -67,11 +67,11 @@ EOM
|
|
67
67
|
|
68
68
|
SYNEXPECT = <<-EOM
|
69
69
|
<p>Non-code</p>
|
70
|
-
<pre class='ruby'><code> <span class=\"keyword\">def </span><span class=\"method\">amethod</span><span class=\"punct\">(</span><span class=\"ident\">arg</span><span class=\"punct\">)</span>
|
70
|
+
<pre class='ruby'><code class='ruby'> <span class=\"keyword\">def </span><span class=\"method\">amethod</span><span class=\"punct\">(</span><span class=\"ident\">arg</span><span class=\"punct\">)</span>
|
71
71
|
<span class=\"ident\">puts</span> <span class=\"ident\">arg</span>
|
72
72
|
<span class=\"keyword\">end</span></code></pre>
|
73
73
|
<p>More non-code</p>
|
74
|
-
<pre class='ruby'><code> <span class=\"keyword\">def </span><span class=\"method\">amethod_too</span><span class=\"punct\">(</span><span class=\"ident\">arg</span><span class=\"punct\">)</span>
|
74
|
+
<pre class='ruby'><code class='ruby'> <span class=\"keyword\">def </span><span class=\"method\">amethod_too</span><span class=\"punct\">(</span><span class=\"ident\">arg</span><span class=\"punct\">)</span>
|
75
75
|
<span class=\"ident\">puts</span> <span class=\"ident\">arg</span>
|
76
76
|
<span class=\"keyword\">end</span></code></pre>
|
77
77
|
EOM
|
data/test/test_page.rb
CHANGED
@@ -70,21 +70,24 @@ module Rote
|
|
70
70
|
assert_equal 'justtext.txt', p.template_name
|
71
71
|
end
|
72
72
|
|
73
|
-
def
|
73
|
+
def test_base_layout_name
|
74
74
|
p = new_test_page('justtext')
|
75
|
-
assert_nil p.
|
75
|
+
assert_nil p.base_layout_name
|
76
76
|
|
77
77
|
p = new_test_page('withcode')
|
78
|
-
assert_equal 'simple.txt', p.
|
78
|
+
assert_equal 'simple.txt', p.base_layout_name
|
79
79
|
end
|
80
80
|
|
81
81
|
def test_layout_names
|
82
|
-
|
83
|
-
|
84
|
-
|
82
|
+
# no layout
|
83
|
+
p = new_test_page('justtext')
|
84
|
+
assert p.layout_names.empty?
|
85
|
+
|
86
|
+
# with page code
|
85
87
|
p = new_test_page('withcode')
|
86
88
|
assert_equal ['simple.txt'], p.layout_names
|
87
89
|
|
90
|
+
# nested
|
88
91
|
p = new_test_page('nestedlayout')
|
89
92
|
assert_equal ['nestme.txt'], p.layout_names
|
90
93
|
|
@@ -99,12 +102,20 @@ module Rote
|
|
99
102
|
assert_equal 'test/pages/justtext.txt', p.template_filename
|
100
103
|
end
|
101
104
|
|
102
|
-
def
|
105
|
+
def test_base_layout_filename
|
103
106
|
p = new_test_page('justtext')
|
104
|
-
assert_nil p.
|
107
|
+
assert_nil p.base_layout_filename
|
105
108
|
|
106
109
|
p = new_test_page('withcode')
|
107
|
-
assert_equal 'test/layouts/simple.txt', p.
|
110
|
+
assert_equal 'test/layouts/simple.txt', p.base_layout_filename
|
111
|
+
|
112
|
+
# nested layout is ignored
|
113
|
+
p = new_test_page('nestedlayout')
|
114
|
+
assert_equal 'test/layouts/nestme.txt', p.base_layout_filename
|
115
|
+
|
116
|
+
# even after rendering
|
117
|
+
p.render
|
118
|
+
assert_equal 'test/layouts/nestme.txt', p.base_layout_filename
|
108
119
|
end
|
109
120
|
|
110
121
|
def test_ruby_filename
|
@@ -143,6 +154,41 @@ module Rote
|
|
143
154
|
assert_equal 'layout <%= @content_for_layout %> for a change.', p.layout_text.chomp
|
144
155
|
end
|
145
156
|
|
157
|
+
############## filters ################
|
158
|
+
def test_page_filter
|
159
|
+
p = new_test_page('justtext')
|
160
|
+
assert p.page_filters.empty?
|
161
|
+
|
162
|
+
# test with nil
|
163
|
+
p.page_filter(nil)
|
164
|
+
assert p.page_filters.empty?
|
165
|
+
|
166
|
+
# test with filter
|
167
|
+
p.page_filter("filter")
|
168
|
+
assert_equal ["filter"], p.page_filters
|
169
|
+
|
170
|
+
# test with block
|
171
|
+
p.page_filter { "filter" }
|
172
|
+
assert_instance_of Rote::Filters::TextFilter, p.page_filters[1]
|
173
|
+
end
|
174
|
+
|
175
|
+
def test_post_filter
|
176
|
+
p = new_test_page('justtext')
|
177
|
+
assert p.post_filters.empty?
|
178
|
+
|
179
|
+
# test with nil
|
180
|
+
p.post_filter(nil)
|
181
|
+
assert p.post_filters.empty?
|
182
|
+
|
183
|
+
# test with filter
|
184
|
+
p.post_filter("filter")
|
185
|
+
assert_equal ["filter"], p.post_filters
|
186
|
+
|
187
|
+
# test with block
|
188
|
+
p.post_filter { "filter" }
|
189
|
+
assert_instance_of Rote::Filters::TextFilter, p.post_filters[1]
|
190
|
+
end
|
191
|
+
|
146
192
|
############## render #################
|
147
193
|
def test_render_text
|
148
194
|
t = new_test_page('justtext').render.chomp
|
@@ -156,7 +202,16 @@ module Rote
|
|
156
202
|
|
157
203
|
def test_render_layout_code
|
158
204
|
t = new_test_page('nestedlayout').render.chomp
|
159
|
-
assert_equal "layout
|
205
|
+
assert_equal "layout with nested: 'some text and some other text' for a change.", t
|
206
|
+
|
207
|
+
end
|
208
|
+
|
209
|
+
# Make sure that layout nesting applies only in layout code,
|
210
|
+
# not common or page code. See comments in nested/COMMON.rb(s) and
|
211
|
+
# nested/inner/nested-override.txt
|
212
|
+
def test_layout_overrides_in_common_rb
|
213
|
+
t = new_test_page('nested/inner/nested-override').render.chomp
|
214
|
+
assert_equal "layout with nested: '\n\nSome text\n' for a change.", t
|
160
215
|
end
|
161
216
|
|
162
217
|
############## broken render #################
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: rote
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.2
|
7
|
-
date: 2006-01-
|
6
|
+
version: 0.3.2.2
|
7
|
+
date: 2006-01-12 00:00:00 +00:00
|
8
8
|
summary: Adds template-based doc support to Rake.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -79,12 +79,17 @@ files:
|
|
79
79
|
- test/pages/badlayout.rb
|
80
80
|
- test/pages/samedir.rb
|
81
81
|
- test/pages/COMMON.rb
|
82
|
+
- test/pages/nested
|
82
83
|
- test/pages/custext.txt
|
83
84
|
- test/pages/withcode.rb
|
84
85
|
- test/pages/justtext.txt
|
85
86
|
- test/pages/badlayout.txt
|
86
87
|
- test/pages/nestedlayout.txt
|
87
88
|
- test/pages/withcode.txt
|
89
|
+
- test/pages/nested/COMMON.rb
|
90
|
+
- test/pages/nested/inner
|
91
|
+
- test/pages/nested/inner/COMMON.rb
|
92
|
+
- test/pages/nested/inner/nested-override.txt
|
88
93
|
- test/layouts/nestme.rb
|
89
94
|
- test/layouts/nestme.txt
|
90
95
|
- test/layouts/simple.rb
|