webgen 1.0.0.beta3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/COPYING +23 -1
- data/Rakefile +16 -77
- data/VERSION +1 -1
- data/bin/webgen +0 -0
- data/data/webgen/basic_website_template/ext/init.rb +3 -1
- data/data/webgen/basic_website_template/src/.gitignore +0 -0
- data/data/webgen/basic_website_template/webgen.config +1 -1
- data/data/webgen/bundle_template_files/info.yaml.erb +14 -2
- data/data/webgen/passive_sources/default.metainfo +10 -0
- data/data/webgen/passive_sources/templates/api.template +16 -2
- data/data/webgen/passive_sources/templates/feed.template +5 -5
- data/data/webgen/passive_sources/templates/sitemap.template +1 -1
- data/data/webgen/passive_sources/templates/tag.template +8 -4
- data/lib/webgen/blackboard.rb +21 -5
- data/lib/webgen/bundle/built-in-show-changes/info.yaml +17 -0
- data/lib/webgen/bundle/built-in-show-changes/init.rb +4 -5
- data/lib/webgen/bundle/built-in/info.yaml +1064 -0
- data/lib/webgen/bundle/built-in/init.rb +103 -136
- data/lib/webgen/bundle_loader.rb +82 -9
- data/lib/webgen/cli.rb +12 -8
- data/lib/webgen/cli/commands/create.rb +27 -0
- data/lib/webgen/cli/{create_bundle_command.rb → commands/create_bundle.rb} +2 -2
- data/lib/webgen/cli/{create_command.rb → commands/create_website.rb} +2 -2
- data/lib/webgen/cli/commands/generate.rb +66 -0
- data/lib/webgen/cli/{install_bundle_command.rb → commands/install.rb} +1 -1
- data/lib/webgen/cli/{show_command.rb → commands/show.rb} +6 -4
- data/lib/webgen/cli/{list_bundle_command.rb → commands/show_bundles.rb} +12 -15
- data/lib/webgen/cli/{show_config_command.rb → commands/show_config.rb} +34 -6
- data/lib/webgen/cli/{show_dependencies_command.rb → commands/show_dependencies.rb} +0 -0
- data/lib/webgen/cli/{show_extensions_command.rb → commands/show_extensions.rb} +1 -13
- data/lib/webgen/cli/{show_tree_command.rb → commands/show_tree.rb} +3 -0
- data/lib/webgen/cli/utils.rb +1 -1
- data/lib/webgen/configuration.rb +9 -11
- data/lib/webgen/content_processor/html_head.rb +3 -4
- data/lib/webgen/content_processor/rainpress.rb +21 -0
- data/lib/webgen/content_processor/sass.rb +8 -8
- data/lib/webgen/content_processor/tikz.rb +59 -16
- data/lib/webgen/item_tracker.rb +33 -12
- data/lib/webgen/item_tracker/missing_node.rb +5 -5
- data/lib/webgen/item_tracker/template_chain.rb +52 -0
- data/lib/webgen/misc/dummy_index.rb +78 -0
- data/lib/webgen/node.rb +1 -1
- data/lib/webgen/node_finder.rb +86 -141
- data/lib/webgen/page.rb +5 -5
- data/lib/webgen/path.rb +4 -1
- data/lib/webgen/path_handler.rb +25 -21
- data/lib/webgen/path_handler/api.rb +36 -3
- data/lib/webgen/path_handler/base.rb +20 -4
- data/lib/webgen/path_handler/feed.rb +6 -2
- data/lib/webgen/path_handler/meta_info.rb +4 -2
- data/lib/webgen/path_handler/page.rb +5 -7
- data/lib/webgen/path_handler/sitemap.rb +6 -1
- data/lib/webgen/path_handler/virtual.rb +6 -8
- data/lib/webgen/source/file_system.rb +2 -2
- data/lib/webgen/tag.rb +22 -18
- data/lib/webgen/tag/menu.rb +5 -5
- data/lib/webgen/test_helper.rb +18 -18
- data/lib/webgen/utils/external_command.rb +1 -1
- data/lib/webgen/utils/tag_parser.rb +1 -1
- data/lib/webgen/vendor/rainpress.rb +168 -0
- data/lib/webgen/version.rb +1 -1
- data/lib/webgen/website.rb +10 -10
- data/man/man1/webgen.1 +54 -23
- data/test/test_documentation.rb +27 -4
- data/test/webgen/cli/test_logger.rb +1 -1
- data/test/webgen/content_processor/test_blocks.rb +1 -1
- data/test/webgen/content_processor/test_builder.rb +3 -2
- data/test/webgen/content_processor/test_erb.rb +1 -1
- data/test/webgen/content_processor/test_erubis.rb +2 -2
- data/test/webgen/content_processor/test_fragments.rb +1 -1
- data/test/webgen/content_processor/test_haml.rb +2 -2
- data/test/webgen/content_processor/test_html_head.rb +5 -1
- data/test/webgen/content_processor/test_kramdown.rb +2 -2
- data/test/webgen/content_processor/test_maruku.rb +2 -2
- data/test/webgen/content_processor/test_r_discount.rb +2 -2
- data/test/webgen/content_processor/test_r_doc.rb +1 -1
- data/test/webgen/content_processor/test_rainpress.rb +19 -0
- data/test/webgen/content_processor/test_red_cloth.rb +2 -2
- data/test/webgen/content_processor/test_ruby.rb +1 -1
- data/test/webgen/content_processor/test_sass.rb +8 -6
- data/test/webgen/content_processor/test_scss.rb +3 -3
- data/test/webgen/content_processor/test_tags.rb +1 -1
- data/test/webgen/content_processor/test_tidy.rb +9 -1
- data/test/webgen/content_processor/test_tikz.rb +6 -3
- data/test/webgen/content_processor/test_xmllint.rb +9 -2
- data/test/webgen/destination/test_file_system.rb +4 -4
- data/test/webgen/item_tracker/test_file.rb +1 -1
- data/test/webgen/item_tracker/test_missing_node.rb +1 -1
- data/test/webgen/item_tracker/test_node_content.rb +1 -1
- data/test/webgen/item_tracker/test_node_meta_info.rb +1 -1
- data/test/webgen/item_tracker/test_nodes.rb +2 -4
- data/test/webgen/item_tracker/test_template_chain.rb +36 -0
- data/test/webgen/misc/test_dummy_index.rb +83 -0
- data/test/webgen/path_handler/test_api.rb +6 -46
- data/test/webgen/path_handler/test_base.rb +3 -2
- data/test/webgen/path_handler/test_copy.rb +1 -1
- data/test/webgen/path_handler/test_feed.rb +3 -4
- data/test/webgen/path_handler/test_meta_info.rb +1 -1
- data/test/webgen/path_handler/test_page.rb +1 -1
- data/test/webgen/path_handler/test_page_utils.rb +1 -1
- data/test/webgen/path_handler/test_sitemap.rb +3 -5
- data/test/webgen/path_handler/test_template.rb +1 -1
- data/test/webgen/path_handler/test_virtual.rb +1 -3
- data/test/webgen/source/test_file_system.rb +9 -4
- data/test/webgen/source/test_stacked.rb +1 -1
- data/test/webgen/source/test_tar_archive.rb +2 -2
- data/test/webgen/tag/test_breadcrumb_trail.rb +1 -1
- data/test/webgen/tag/test_coderay.rb +3 -2
- data/test/webgen/tag/test_date.rb +1 -1
- data/test/webgen/tag/test_execute_command.rb +1 -1
- data/test/webgen/tag/test_include_file.rb +1 -1
- data/test/webgen/tag/test_langbar.rb +1 -1
- data/test/webgen/tag/test_link.rb +1 -1
- data/test/webgen/tag/test_menu.rb +12 -30
- data/test/webgen/tag/test_meta_info.rb +1 -1
- data/test/webgen/tag/test_relocatable.rb +1 -1
- data/test/webgen/tag/test_tikz.rb +3 -2
- data/test/webgen/task/test_create_website.rb +2 -2
- data/test/webgen/test_blackboard.rb +11 -3
- data/test/webgen/test_bundle_loader.rb +26 -9
- data/test/webgen/test_cache.rb +1 -1
- data/test/webgen/test_cli.rb +2 -2
- data/test/webgen/test_configuration.rb +8 -9
- data/test/webgen/test_content_processor.rb +1 -1
- data/test/webgen/test_context.rb +1 -1
- data/test/webgen/test_core_ext.rb +1 -1
- data/test/webgen/test_destination.rb +1 -1
- data/test/webgen/test_error.rb +5 -5
- data/test/webgen/test_extension_manager.rb +1 -1
- data/test/webgen/test_item_tracker.rb +26 -5
- data/test/webgen/test_languages.rb +1 -1
- data/test/webgen/test_logger.rb +1 -1
- data/test/webgen/test_node.rb +1 -1
- data/test/webgen/test_node_finder.rb +2 -2
- data/test/webgen/test_page.rb +5 -5
- data/test/webgen/test_path.rb +8 -8
- data/test/webgen/test_rake_task.rb +1 -1
- data/test/webgen/test_source.rb +1 -1
- data/test/webgen/test_tag.rb +16 -24
- data/test/webgen/test_task.rb +1 -1
- data/test/webgen/test_tree.rb +1 -1
- data/test/webgen/test_utils.rb +1 -1
- data/test/webgen/test_website.rb +1 -1
- data/test/webgen/utils/test_tag_parser.rb +1 -1
- metadata +85 -105
- data/lib/webgen/cli/bundle_command.rb +0 -30
- data/lib/webgen/cli/generate_command.rb +0 -25
@@ -4,7 +4,7 @@ require 'fileutils'
|
|
4
4
|
require 'webgen/test_helper'
|
5
5
|
require 'webgen/bundle_loader'
|
6
6
|
|
7
|
-
class TestBundleLoader <
|
7
|
+
class TestBundleLoader < Minitest::Test
|
8
8
|
|
9
9
|
include Webgen::TestHelper
|
10
10
|
|
@@ -19,7 +19,18 @@ class TestBundleLoader < MiniTest::Unit::TestCase
|
|
19
19
|
@ext_file = File.join(@extdir, 'my_ext', 'init.rb')
|
20
20
|
FileUtils.touch(@ext_file)
|
21
21
|
@ext_info_file = File.join(@extdir, 'my_ext', 'info.yaml')
|
22
|
-
|
22
|
+
File.write(@ext_info_file, <<EOF)
|
23
|
+
author: authority
|
24
|
+
summary: summaries
|
25
|
+
|
26
|
+
extensions:
|
27
|
+
dummy:
|
28
|
+
summary: dummy
|
29
|
+
|
30
|
+
options:
|
31
|
+
dummy:
|
32
|
+
summary: dummy
|
33
|
+
EOF
|
23
34
|
|
24
35
|
@loader = Webgen::BundleLoader.new(@website, @extdir)
|
25
36
|
end
|
@@ -30,19 +41,25 @@ class TestBundleLoader < MiniTest::Unit::TestCase
|
|
30
41
|
|
31
42
|
def test_load
|
32
43
|
@loader.load('webgen')
|
44
|
+
assert_nil(@website.ext.bundle_infos.instance_variable_get(:@infos))
|
45
|
+
assert_equal({}, @website.ext.bundle_infos.bundles['webgen'])
|
46
|
+
|
33
47
|
@loader.load('my_ext')
|
34
48
|
@loader.load('my_ext')
|
35
49
|
assert_equal([File.expand_path(@webgen_file), File.expand_path(@ext_file)], @loader.instance_variable_get(:@loaded))
|
36
|
-
assert_equal({
|
50
|
+
assert_equal({}, @website.ext.bundle_infos.bundles['webgen'])
|
51
|
+
assert_equal({'author' => 'authority', 'summary' => 'summaries'},
|
52
|
+
@website.ext.bundle_infos.bundles['my_ext'])
|
53
|
+
assert_equal({'author' => 'authority', 'bundle' => 'my_ext', 'summary' => 'dummy'},
|
54
|
+
@website.ext.bundle_infos.extensions['dummy'])
|
55
|
+
assert_equal({'author' => 'authority', 'bundle' => 'my_ext', 'summary' => 'dummy'},
|
56
|
+
@website.ext.bundle_infos.options['dummy'])
|
37
57
|
end
|
38
58
|
|
39
59
|
def test_dsl
|
40
|
-
File.
|
41
|
-
|
42
|
-
|
43
|
-
File.open(@ext_file, 'w+') do |f|
|
44
|
-
f.puts("mount_passive('data', '/test', '*.hallo')")
|
45
|
-
end
|
60
|
+
File.write(File.join(@extdir, 'init.rb'), "load('my_ext'); require_relative('webgen/init.rb')")
|
61
|
+
File.write(@ext_file, "mount_passive('data', '/test', '*.hallo')")
|
62
|
+
|
46
63
|
@website.ext.source = OpenStruct.new
|
47
64
|
@website.ext.source.passive_sources = [['/', :file, 'other']]
|
48
65
|
|
data/test/webgen/test_cache.rb
CHANGED
data/test/webgen/test_cli.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'minitest/autorun'
|
4
4
|
require 'webgen/cli'
|
5
5
|
|
6
|
-
class TestCLICommandParser <
|
6
|
+
class TestCLICommandParser < Minitest::Test
|
7
7
|
|
8
8
|
class SampleCommand < CmdParse::Command
|
9
9
|
def initialize
|
@@ -35,7 +35,7 @@ class TestCLICommandParser < MiniTest::Unit::TestCase
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
assert_match(/Global options:/, out)
|
38
|
-
assert_match(/
|
38
|
+
assert_match(/create.*generate.*help.*install.*sample.*.*show.*config.*deps.*extensions.*version/m, out)
|
39
39
|
end
|
40
40
|
|
41
41
|
end
|
@@ -6,7 +6,7 @@ require 'stringio'
|
|
6
6
|
require 'minitest/autorun'
|
7
7
|
require 'webgen/configuration'
|
8
8
|
|
9
|
-
class TestConfiguration <
|
9
|
+
class TestConfiguration < Minitest::Test
|
10
10
|
|
11
11
|
def setup
|
12
12
|
@config = Webgen::Configuration.new
|
@@ -14,13 +14,12 @@ class TestConfiguration < MiniTest::Unit::TestCase
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def add_default_option
|
17
|
-
@config.define_option('namespace.option', 'default'
|
17
|
+
@config.define_option('namespace.option', 'default') {|v| raise "Error with option" unless v.kind_of?(String); v}
|
18
18
|
end
|
19
19
|
|
20
20
|
def test_defining_options
|
21
21
|
assert(@config.options['namespace.option'])
|
22
22
|
assert_equal('default', @config.options['namespace.option'].default)
|
23
|
-
assert_equal('desc', @config.options['namespace.option'].description)
|
24
23
|
assert_kind_of(Proc, @config.options['namespace.option'].validator)
|
25
24
|
|
26
25
|
assert_raises(ArgumentError) { add_default_option }
|
@@ -35,7 +34,7 @@ class TestConfiguration < MiniTest::Unit::TestCase
|
|
35
34
|
assert_equal('default', @config['namespace.option'])
|
36
35
|
assert_raises(Webgen::Configuration::Error) { @config['unknown'] }
|
37
36
|
|
38
|
-
@config.define_option('other', :sym
|
37
|
+
@config.define_option('other', :sym)
|
39
38
|
assert_equal(:sym, @config['other'])
|
40
39
|
end
|
41
40
|
|
@@ -66,7 +65,7 @@ class TestConfiguration < MiniTest::Unit::TestCase
|
|
66
65
|
@config.freeze
|
67
66
|
assert_equal('default', @config['namespace.option'])
|
68
67
|
assert_raises(Webgen::Configuration::Error) { @config['namespace.option'] = 'other' }
|
69
|
-
assert_raises(RuntimeError) { @config.define_option('nonsense', 'val'
|
68
|
+
assert_raises(RuntimeError) { @config.define_option('nonsense', 'val') }
|
70
69
|
end
|
71
70
|
|
72
71
|
def test_load_from_file_exceptions
|
@@ -97,12 +96,12 @@ class TestConfiguration < MiniTest::Unit::TestCase
|
|
97
96
|
cloned = @config.clone
|
98
97
|
assert(@config.frozen?)
|
99
98
|
assert_raises(Webgen::Configuration::Error) { cloned['namespace.option'] = 'other' }
|
100
|
-
assert_raises(RuntimeError) { cloned.define_option('nonsense', 'val'
|
99
|
+
assert_raises(RuntimeError) { cloned.define_option('nonsense', 'val') }
|
101
100
|
|
102
101
|
dupped = @config.dup
|
103
102
|
refute(dupped.frozen?)
|
104
103
|
|
105
|
-
dupped.define_option('test', ''
|
104
|
+
dupped.define_option('test', '')
|
106
105
|
assert(dupped.option?('test'))
|
107
106
|
refute(@config.option?('test'))
|
108
107
|
|
@@ -113,7 +112,7 @@ class TestConfiguration < MiniTest::Unit::TestCase
|
|
113
112
|
|
114
113
|
def test_equality
|
115
114
|
other = Webgen::Configuration.new
|
116
|
-
other.define_option('namespace.option', 'default'
|
115
|
+
other.define_option('namespace.option', 'default') {|v| raise "Error with option" unless v.kind_of?(String); v}
|
117
116
|
assert_equal(@config, other)
|
118
117
|
|
119
118
|
other['namespace.option'] = 'val'
|
@@ -124,7 +123,7 @@ class TestConfiguration < MiniTest::Unit::TestCase
|
|
124
123
|
refute_equal(@config, other)
|
125
124
|
|
126
125
|
other = Webgen::Configuration.new
|
127
|
-
other.define_option('namespace.option', 'default1'
|
126
|
+
other.define_option('namespace.option', 'default1')
|
128
127
|
refute_equal(@config, other)
|
129
128
|
end
|
130
129
|
|
data/test/webgen/test_context.rb
CHANGED
data/test/webgen/test_error.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'minitest/autorun'
|
4
4
|
require 'webgen/error'
|
5
5
|
|
6
|
-
class TestError <
|
6
|
+
class TestError < Minitest::Test
|
7
7
|
|
8
8
|
def test_all
|
9
9
|
e = Webgen::Error.new("test")
|
@@ -54,7 +54,7 @@ class TestError < MiniTest::Unit::TestCase
|
|
54
54
|
|
55
55
|
end
|
56
56
|
|
57
|
-
class TestNodeCreationError <
|
57
|
+
class TestNodeCreationError < Minitest::Test
|
58
58
|
|
59
59
|
def test_all
|
60
60
|
e = Webgen::NodeCreationError.new("test")
|
@@ -65,7 +65,7 @@ class TestNodeCreationError < MiniTest::Unit::TestCase
|
|
65
65
|
|
66
66
|
end
|
67
67
|
|
68
|
-
class TestRenderError <
|
68
|
+
class TestRenderError < Minitest::Test
|
69
69
|
|
70
70
|
def test_all
|
71
71
|
e = Webgen::RenderError.new("test", 'location', '/path', '/error')
|
@@ -89,7 +89,7 @@ class TestRenderError < MiniTest::Unit::TestCase
|
|
89
89
|
|
90
90
|
end
|
91
91
|
|
92
|
-
class TestLoadError <
|
92
|
+
class TestLoadError < Minitest::Test
|
93
93
|
|
94
94
|
def test_all
|
95
95
|
e = Webgen::LoadError.new(Exception.new("something"), 'location', '/path')
|
@@ -110,7 +110,7 @@ class TestLoadError < MiniTest::Unit::TestCase
|
|
110
110
|
|
111
111
|
end
|
112
112
|
|
113
|
-
class TestCommandNotFoundError <
|
113
|
+
class TestCommandNotFoundError < Minitest::Test
|
114
114
|
|
115
115
|
def test_all
|
116
116
|
e = Webgen::CommandNotFoundError.new("test", 'location', '/path')
|
@@ -17,7 +17,11 @@ class Webgen::ItemTracker::Sample
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def item_data(data) #:nodoc:
|
20
|
-
|
20
|
+
if TestItemTracker::Data.has_key?(data)
|
21
|
+
'alcn' + TestItemTracker::Data[data].to_s
|
22
|
+
else
|
23
|
+
raise "Unkown key"
|
24
|
+
end
|
21
25
|
end
|
22
26
|
|
23
27
|
def item_changed?(iid, old_data) #:nodoc:
|
@@ -30,9 +34,9 @@ class Webgen::ItemTracker::Sample
|
|
30
34
|
|
31
35
|
end
|
32
36
|
|
33
|
-
class TestItemTracker <
|
37
|
+
class TestItemTracker < Minitest::Test
|
34
38
|
|
35
|
-
DummyNode = Struct.new(:alcn)
|
39
|
+
DummyNode = Struct.new(:alcn, :node_info)
|
36
40
|
|
37
41
|
Data = {'/alcn' => 'mydata'}
|
38
42
|
|
@@ -42,8 +46,8 @@ class TestItemTracker < MiniTest::Unit::TestCase
|
|
42
46
|
website.blackboard = blackboard = Webgen::Blackboard.new
|
43
47
|
website.cache = cache = Webgen::Cache.new
|
44
48
|
|
45
|
-
node = DummyNode.new('/alcn')
|
46
|
-
other = DummyNode.new('/other')
|
49
|
+
node = DummyNode.new('/alcn', {})
|
50
|
+
other = DummyNode.new('/other', {})
|
47
51
|
website.tree = {'/alcn' => node, '/other' => other}
|
48
52
|
|
49
53
|
tracker = Webgen::ItemTracker.new(website)
|
@@ -72,6 +76,23 @@ class TestItemTracker < MiniTest::Unit::TestCase
|
|
72
76
|
blackboard.dispatch_msg(:before_all_nodes_written)
|
73
77
|
refute(tracker.node_changed?(node))
|
74
78
|
|
79
|
+
# Node should be changed because item id got invalid
|
80
|
+
blackboard.dispatch_msg(:after_node_written, node)
|
81
|
+
blackboard.dispatch_msg(:after_all_nodes_written)
|
82
|
+
Data.delete('/alcn')
|
83
|
+
blackboard.dispatch_msg(:before_all_nodes_written)
|
84
|
+
assert(tracker.node_changed?(node))
|
85
|
+
|
86
|
+
# Node should not be changed anymore, again
|
87
|
+
blackboard.dispatch_msg(:after_node_written, node)
|
88
|
+
blackboard.dispatch_msg(:after_all_nodes_written)
|
89
|
+
blackboard.dispatch_msg(:before_all_nodes_written)
|
90
|
+
refute(tracker.node_changed?(node))
|
91
|
+
|
92
|
+
# Re-add needed item and data
|
93
|
+
Data['/alcn'] = 'other'
|
94
|
+
tracker.add(node, :sample, '/alcn')
|
95
|
+
|
75
96
|
# Test the initial loading of the cache data
|
76
97
|
cache[:item_tracker_data] = {
|
77
98
|
:node_dependencies => {'/alcn' => [[:sample, '/alcn']], 'alcn' => ['data']},
|
data/test/webgen/test_logger.rb
CHANGED
data/test/webgen/test_node.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'webgen/test_helper'
|
4
4
|
require 'webgen/node_finder'
|
5
5
|
|
6
|
-
class TestNodeFinder <
|
6
|
+
class TestNodeFinder < Minitest::Test
|
7
7
|
|
8
8
|
include Webgen::TestHelper
|
9
9
|
|
@@ -93,7 +93,7 @@ class TestNodeFinder < MiniTest::Unit::TestCase
|
|
93
93
|
# test filter: alcn
|
94
94
|
check.call(%w[/],
|
95
95
|
@nf.find({:alcn => '/'}, tree['/']))
|
96
|
-
check.call(%w[/ /dir/subfile.html /dir/
|
96
|
+
check.call(%w[/ /dir/subfile.html /dir/dir/],
|
97
97
|
@nf.find({:alcn => ['/', '*'], :flatten => true}, tree['/dir/']))
|
98
98
|
|
99
99
|
# test filter: and/or/not
|
data/test/webgen/test_page.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
require 'minitest/autorun'
|
4
4
|
require 'webgen/page'
|
5
5
|
|
6
|
-
class TestPage <
|
6
|
+
class TestPage < Minitest::Test
|
7
7
|
|
8
8
|
VALID = <<EOF
|
9
9
|
# with more blocks
|
@@ -90,9 +90,9 @@ class TestPage < MiniTest::Unit::TestCase
|
|
90
90
|
content2
|
91
91
|
--- block3
|
92
92
|
content3
|
93
|
-
--- block4
|
93
|
+
--- block4 -
|
94
94
|
content4
|
95
|
-
---
|
95
|
+
--- block5 -----------------------------------
|
96
96
|
content5
|
97
97
|
meta_info: {}
|
98
98
|
blocks:
|
@@ -109,11 +109,11 @@ class TestPage < MiniTest::Unit::TestCase
|
|
109
109
|
|
110
110
|
# named block and block with other options
|
111
111
|
- in: |
|
112
|
-
--- name:block
|
112
|
+
--- name:block -------------------------------
|
113
113
|
content doing -
|
114
114
|
with?: with some things
|
115
115
|
|
116
|
-
---
|
116
|
+
--- other:options test1:true test2:false test3:542 pipeline: ----------------
|
117
117
|
meta_info:
|
118
118
|
blocks: {block2: {other: options, test1: true, test2: false, test3: 542, pipeline: ~}}
|
119
119
|
blocks:
|
data/test/webgen/test_path.rb
CHANGED
@@ -5,7 +5,7 @@ require 'webgen/path'
|
|
5
5
|
require 'stringio'
|
6
6
|
require 'tmpdir'
|
7
7
|
|
8
|
-
class TestPath <
|
8
|
+
class TestPath < Minitest::Test
|
9
9
|
|
10
10
|
def test_class_url
|
11
11
|
assert_equal("webgen://webgen.localhost/hallo", Webgen::Path.url("hallo").to_s)
|
@@ -37,7 +37,7 @@ class TestPath < MiniTest::Unit::TestCase
|
|
37
37
|
assert(Webgen::Path.matches_pattern?(path, '**/*'))
|
38
38
|
assert(Webgen::Path.matches_pattern?(path, '**/file.de.PAGE'))
|
39
39
|
assert(Webgen::Path.matches_pattern?(path, '/dir/*/file.*.page'))
|
40
|
-
|
40
|
+
refute(Webgen::Path.matches_pattern?(path, '**/*.test'))
|
41
41
|
|
42
42
|
path = '/dir/'
|
43
43
|
assert(Webgen::Path.matches_pattern?(path, '/dir/'))
|
@@ -57,6 +57,12 @@ class TestPath < MiniTest::Unit::TestCase
|
|
57
57
|
|
58
58
|
path = ''
|
59
59
|
assert(!Webgen::Path.matches_pattern?(path, '/'))
|
60
|
+
|
61
|
+
path = '/dir/to/file.de.page#somefile.page'
|
62
|
+
refute(Webgen::Path.matches_pattern?(path, '**/*'))
|
63
|
+
refute(Webgen::Path.matches_pattern?(path, '/dir/*/file.*.page'))
|
64
|
+
assert(Webgen::Path.matches_pattern?(path, '**/*#*'))
|
65
|
+
assert(Webgen::Path.matches_pattern?(path, '**/*#*.page'))
|
60
66
|
end
|
61
67
|
|
62
68
|
def test_initialize_and_accessors
|
@@ -93,16 +99,12 @@ class TestPath < MiniTest::Unit::TestCase
|
|
93
99
|
'/', 'default', nil, 'tar.bz2', 'default.tar.bz2', 'default.tar.bz2', '/default.tar.bz2', '/default.tar.bz2', nil, 'Default')
|
94
100
|
check_proc.call(Webgen::Path.new('/default.en.tar.bz2'),
|
95
101
|
'/', 'default', 'en', 'tar.bz2', 'default.tar.bz2', 'default.en.tar.bz2', '/default.tar.bz2', '/default.en.tar.bz2', nil, 'Default')
|
96
|
-
check_proc.call(Webgen::Path.new('/default.deu.'),
|
97
|
-
'/', 'default', 'de', '', 'default', 'default.de', '/default', '/default.de', nil, 'Default')
|
98
102
|
check_proc.call(Webgen::Path.new('/default'),
|
99
103
|
'/', 'default', nil, '', 'default', 'default', '/default', '/default', nil, 'Default')
|
100
104
|
check_proc.call(Webgen::Path.new('/.htaccess'),
|
101
105
|
'/', '.htaccess', nil, '', '.htaccess', '.htaccess', '/.htaccess', '/.htaccess', nil, '.htaccess')
|
102
106
|
check_proc.call(Webgen::Path.new('/.htaccess.page'),
|
103
107
|
'/', '.htaccess', nil, 'page', '.htaccess.page', '.htaccess.page', '/.htaccess.page', '/.htaccess.page', nil, '.htaccess')
|
104
|
-
check_proc.call(Webgen::Path.new('/.htaccess.en.'),
|
105
|
-
'/', '.htaccess', 'en', '', '.htaccess', '.htaccess.en', '/.htaccess', '/.htaccess.en', nil, '.htaccess')
|
106
108
|
check_proc.call(Webgen::Path.new('/.htaccess.en.page'),
|
107
109
|
'/', '.htaccess', 'en', 'page', '.htaccess.page', '.htaccess.en.page', '/.htaccess.page', '/.htaccess.en.page', nil, '.htaccess')
|
108
110
|
check_proc.call(Webgen::Path.new('/5.png'),
|
@@ -221,8 +223,6 @@ class TestPath < MiniTest::Unit::TestCase
|
|
221
223
|
path = Webgen::Path.new('/test') {|mode| File.open(File.join(dir, 'src'), mode) }
|
222
224
|
assert_equal(1, path.data('r:UTF-8').length)
|
223
225
|
assert_equal(2, path.data('rb').length)
|
224
|
-
assert_equal(1, path.data.length)
|
225
|
-
assert_equal(1, path.io {|f| f.read}.length)
|
226
226
|
end
|
227
227
|
|
228
228
|
path = Webgen::Path.new('/test.page')
|