rote 0.2.4.1 → 0.3.0
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/CONTRIBUTORS +3 -2
- data/DONE +22 -0
- data/README +11 -2
- data/Rakefile +25 -4
- data/TODO +7 -9
- data/doc/layouts/page.html +3 -0
- data/doc/pages/COMMON.rb +0 -11
- data/doc/pages/guide/COMMON.rb +5 -3
- data/doc/pages/guide/index.html +373 -120
- data/doc/res/stylesheets/normal.css +63 -0
- data/lib/rote.rb +2 -3
- data/lib/rote/app.rb +1 -1
- data/lib/rote/builtin.rf +3 -33
- data/lib/rote/filters.rb +10 -0
- data/lib/rote/filters/base.rb +135 -0
- data/lib/rote/filters/rdoc.rb +25 -0
- data/lib/rote/filters/redcloth.rb +40 -0
- data/lib/rote/filters/syntax.rb +38 -0
- data/lib/rote/filters/tidy.rb +55 -0
- data/lib/rote/filters/toc.rb +74 -0
- data/lib/rote/format.rb +9 -0
- data/lib/rote/format/html.rb +49 -0
- data/lib/rote/page.rb +194 -141
- data/lib/rote/project/Rakefile +26 -5
- data/lib/rote/rotetasks.rb +133 -20
- data/test/gem_tests.rb +3 -1
- data/test/layouts/simple.rb +1 -0
- data/test/pages/markdown.txt +5 -1
- data/test/pages/rdoc.txt +4 -1
- data/test/pages/textile.rb +2 -0
- data/test/test_formatting.rb +140 -0
- data/test/test_html_page.rb +33 -0
- data/test/test_page.rb +72 -50
- metadata +15 -2
@@ -0,0 +1,33 @@
|
|
1
|
+
begin
|
2
|
+
require 'rubygems'
|
3
|
+
rescue LoadError
|
4
|
+
nil
|
5
|
+
end
|
6
|
+
|
7
|
+
require 'test/unit'
|
8
|
+
require 'rote/page'
|
9
|
+
require 'rote/format/html'
|
10
|
+
|
11
|
+
module Rote
|
12
|
+
class TestHtmlPage < Test::Unit::TestCase
|
13
|
+
include Format::HTML
|
14
|
+
|
15
|
+
# pretend to be a page
|
16
|
+
attr_reader :template_name
|
17
|
+
|
18
|
+
def test_relative
|
19
|
+
@template_name = "three.rhtml"
|
20
|
+
assert_equal '', relative('')
|
21
|
+
assert_equal 'not-absolute.html', relative('not-absolute.html')
|
22
|
+
assert_equal 'doc/not-absolute.html', relative('doc/not-absolute.html')
|
23
|
+
assert_equal 'doc/absolute.html', relative('/doc/absolute.html')
|
24
|
+
assert_equal 'doc/files/deep/other.html', relative('/doc/files/deep/other.html')
|
25
|
+
|
26
|
+
@template_name = "one/two/three.rhtml"
|
27
|
+
assert_equal 'not-absolute.html', relative('not-absolute.html')
|
28
|
+
assert_equal 'doc/not-absolute.html', relative('doc/not-absolute.html')
|
29
|
+
assert_equal '../../doc/absolute.html', relative('/doc/absolute.html')
|
30
|
+
assert_equal '../../doc/files/deep/other.html', relative('/doc/files/deep/other.html')
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/test/test_page.rb
CHANGED
@@ -11,7 +11,16 @@ module Rote
|
|
11
11
|
class TestPage < Test::Unit::TestCase
|
12
12
|
############## helpers #################
|
13
13
|
def new_test_page(basename)
|
14
|
-
Page.new(
|
14
|
+
Page.new(basename + '.txt', 'test/pages', 'test/layouts')
|
15
|
+
end
|
16
|
+
|
17
|
+
############## Clz methods ################
|
18
|
+
def test_page_ruby_filename
|
19
|
+
assert_equal 'test/file.rb', Page::page_ruby_filename('test/file.txt')
|
20
|
+
assert_equal '/home/me/test/file.rb', Page::page_ruby_filename('/home/me/test/file.txt')
|
21
|
+
assert_equal 'file.rb', Page::page_ruby_filename('file.txt')
|
22
|
+
assert_equal 'txt.rb', Page::page_ruby_filename('txt')
|
23
|
+
assert_equal '', Page::page_ruby_filename('')
|
15
24
|
end
|
16
25
|
|
17
26
|
############## initialize #################
|
@@ -37,21 +46,74 @@ module Rote
|
|
37
46
|
end
|
38
47
|
|
39
48
|
############## accessors #################
|
40
|
-
def
|
49
|
+
def test_template_text
|
41
50
|
p = new_test_page('justtext')
|
42
51
|
assert_equal 'Just some text', p.template_text.chomp
|
43
52
|
end
|
44
53
|
|
45
|
-
def
|
46
|
-
p = new_test_page('justtext')
|
54
|
+
def test_layout_text
|
55
|
+
(p = new_test_page('justtext')).render
|
47
56
|
assert_nil p.layout_text
|
48
57
|
|
49
|
-
p = new_test_page('withcode')
|
58
|
+
(p = new_test_page('withcode')).render
|
50
59
|
assert_equal 'layout <%= @content_for_layout %> for a change.', p.layout_text.chomp
|
51
60
|
end
|
52
61
|
|
62
|
+
def test_base_path
|
63
|
+
p = new_test_page('justtext')
|
64
|
+
assert_equal 'test/pages', p.base_path
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_layout_path
|
68
|
+
p = new_test_page('justtext')
|
69
|
+
assert_equal 'test/layouts', p.layout_path
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_template_name
|
73
|
+
p = new_test_page('justtext')
|
74
|
+
assert_equal 'justtext.txt', p.template_name
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_layout_name
|
78
|
+
p = new_test_page('justtext')
|
79
|
+
assert_nil p.layout_name
|
80
|
+
|
81
|
+
p = new_test_page('withcode')
|
82
|
+
assert_equal 'simple.txt', p.layout_name
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_template_filename
|
86
|
+
p = new_test_page('justtext')
|
87
|
+
assert_equal 'test/pages/justtext.txt', p.template_filename
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_layout_filename
|
91
|
+
p = new_test_page('justtext')
|
92
|
+
assert_nil p.layout_filename
|
93
|
+
|
94
|
+
p = new_test_page('withcode')
|
95
|
+
assert_equal 'test/layouts/simple.txt', p.layout_filename
|
96
|
+
end
|
97
|
+
|
98
|
+
def test_ruby_filename
|
99
|
+
p = new_test_page('justtext')
|
100
|
+
assert_nil p.ruby_filename
|
101
|
+
|
102
|
+
p = new_test_page('withcode')
|
103
|
+
assert_equal 'test/pages/withcode.rb', p.ruby_filename
|
104
|
+
end
|
105
|
+
|
106
|
+
############## layout code #################
|
107
|
+
def test_layout_code
|
108
|
+
(p = new_test_page('withcode')).render
|
109
|
+
assert_equal 'test/layouts/simple.txt', p.layout_filename
|
110
|
+
assert p.instance_eval { @layout_code_works }
|
111
|
+
end
|
112
|
+
|
113
|
+
|
114
|
+
############## edges #################
|
53
115
|
def test_default_layout_params
|
54
|
-
p = Page.new('test/pages/
|
116
|
+
(p = Page.new('samedir.txt','test/pages/')).render
|
55
117
|
assert_equal '<%= @global %>', p.template_text.chomp
|
56
118
|
assert_equal 'Lay <%= @content_for_layout %> out.', p.layout_text.chomp
|
57
119
|
end
|
@@ -68,26 +130,6 @@ module Rote
|
|
68
130
|
|
69
131
|
assert_equal 'layout <%= @content_for_layout %> for a change.', p.layout_text.chomp
|
70
132
|
end
|
71
|
-
|
72
|
-
def test_format_opts
|
73
|
-
p = new_test_page('justtext')
|
74
|
-
assert p.format_opts.empty?
|
75
|
-
|
76
|
-
# alter array
|
77
|
-
p = new_test_page('textile')
|
78
|
-
assert_equal [:textile], p.format_opts
|
79
|
-
p.format_opts -= [:textile]
|
80
|
-
assert p.format_opts.empty?
|
81
|
-
|
82
|
-
# replace array with single sym
|
83
|
-
p = new_test_page('textile')
|
84
|
-
assert_equal [:textile], p.format_opts
|
85
|
-
p.format_opts = [:markdown]
|
86
|
-
assert_equal [:markdown], p.format_opts
|
87
|
-
p.format_opts = :textile
|
88
|
-
# should create array for one sim
|
89
|
-
assert_equal [:textile], p.format_opts
|
90
|
-
end
|
91
133
|
|
92
134
|
############## render #################
|
93
135
|
def test_render_text
|
@@ -95,28 +137,6 @@ module Rote
|
|
95
137
|
assert_equal 'Just some text', t
|
96
138
|
end
|
97
139
|
|
98
|
-
def test_render_textile
|
99
|
-
t = new_test_page('textile').render.chomp
|
100
|
-
assert_equal '<p><strong>This</strong> is a <em>simple</em> test of <a href="http://www.textism.org/tools/textile">Textile</a> formatting.</p>', t
|
101
|
-
end
|
102
|
-
|
103
|
-
# FIXME Fails under Gem install, but passes when run normally (???)
|
104
|
-
unless defined?(TEST_FROM_GEM)
|
105
|
-
def test_render_rdoc
|
106
|
-
begin
|
107
|
-
t = new_test_page('rdoc').render.chomp
|
108
|
-
assert_equal "<h2>RDoc</h2>\n<h3>Markup</h3>", t
|
109
|
-
rescue Object => ex
|
110
|
-
p ex
|
111
|
-
end
|
112
|
-
end
|
113
|
-
end
|
114
|
-
|
115
|
-
def test_render_markdown
|
116
|
-
t = new_test_page('markdown').render.chomp
|
117
|
-
assert_equal '<h1>*this* is a _test_</h1>', t
|
118
|
-
end
|
119
|
-
|
120
140
|
def test_render_layout_code
|
121
141
|
t = new_test_page('withcode').render.chomp
|
122
142
|
assert_equal 'layout some text and some other text for a change.', t
|
@@ -125,7 +145,9 @@ module Rote
|
|
125
145
|
############## broken render #################
|
126
146
|
def test_render_switch_layout_freeze
|
127
147
|
p = new_test_page('withcode')
|
128
|
-
|
148
|
+
|
149
|
+
# It has a layout, but since it's not rendered it's not loaded yet
|
150
|
+
assert_nil p.layout_text
|
129
151
|
|
130
152
|
p.layout(nil)
|
131
153
|
assert_nil p.layout_text
|
@@ -140,7 +162,7 @@ module Rote
|
|
140
162
|
end
|
141
163
|
|
142
164
|
def test_render_switch_to_bad_layout
|
143
|
-
p = new_test_page('withcode')
|
165
|
+
(p = new_test_page('withcode')).render
|
144
166
|
assert_equal 'layout <%= @content_for_layout %> for a change.', p.layout_text.chomp
|
145
167
|
|
146
168
|
begin
|
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.
|
7
|
-
date: 2005-12-
|
6
|
+
version: 0.3.0
|
7
|
+
date: 2005-12-12 00:00:00 +00:00
|
8
8
|
summary: Adds template-based doc support to Rake.
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -32,6 +32,7 @@ files:
|
|
32
32
|
- Rakefile
|
33
33
|
- README
|
34
34
|
- TODO
|
35
|
+
- DONE
|
35
36
|
- LICENSE
|
36
37
|
- CONTRIBUTORS
|
37
38
|
- bin/rote
|
@@ -39,8 +40,17 @@ files:
|
|
39
40
|
- lib/rote/rotetasks.rb
|
40
41
|
- lib/rote/page.rb
|
41
42
|
- lib/rote/app.rb
|
43
|
+
- lib/rote/filters.rb
|
44
|
+
- lib/rote/format.rb
|
42
45
|
- lib/rote/project/doc/pages/COMMON.rb
|
43
46
|
- lib/rote/project/doc/pages/index.rb
|
47
|
+
- lib/rote/format/html.rb
|
48
|
+
- lib/rote/filters/rdoc.rb
|
49
|
+
- lib/rote/filters/base.rb
|
50
|
+
- lib/rote/filters/syntax.rb
|
51
|
+
- lib/rote/filters/redcloth.rb
|
52
|
+
- lib/rote/filters/toc.rb
|
53
|
+
- lib/rote/filters/tidy.rb
|
44
54
|
- lib/rote/builtin.rf
|
45
55
|
- lib/rote/project/Rakefile
|
46
56
|
- lib/rote/project/doc
|
@@ -52,8 +62,10 @@ files:
|
|
52
62
|
- lib/rote/project/doc/res/images/rote-tiny.png
|
53
63
|
- lib/rote/project/doc/pages/index.html
|
54
64
|
- lib/rote/project/doc/layouts/normal.html
|
65
|
+
- test/test_formatting.rb
|
55
66
|
- test/test_page.rb
|
56
67
|
- test/pages
|
68
|
+
- test/test_html_page.rb
|
57
69
|
- test/layouts
|
58
70
|
- test/gem_tests.rb
|
59
71
|
- test/pages/samedir.txt
|
@@ -70,6 +82,7 @@ files:
|
|
70
82
|
- test/pages/justtext.txt
|
71
83
|
- test/pages/badlayout.txt
|
72
84
|
- test/pages/withcode.txt
|
85
|
+
- test/layouts/simple.rb
|
73
86
|
- test/layouts/withext.ext
|
74
87
|
- test/layouts/simple.txt
|
75
88
|
- doc/res
|