webgen 1.0.0.beta3 → 1.0.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.
- 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')
|