rote 0.3.2 → 0.3.2.2
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/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
|