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.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/COPYING +23 -1
  3. data/Rakefile +16 -77
  4. data/VERSION +1 -1
  5. data/bin/webgen +0 -0
  6. data/data/webgen/basic_website_template/ext/init.rb +3 -1
  7. data/data/webgen/basic_website_template/src/.gitignore +0 -0
  8. data/data/webgen/basic_website_template/webgen.config +1 -1
  9. data/data/webgen/bundle_template_files/info.yaml.erb +14 -2
  10. data/data/webgen/passive_sources/default.metainfo +10 -0
  11. data/data/webgen/passive_sources/templates/api.template +16 -2
  12. data/data/webgen/passive_sources/templates/feed.template +5 -5
  13. data/data/webgen/passive_sources/templates/sitemap.template +1 -1
  14. data/data/webgen/passive_sources/templates/tag.template +8 -4
  15. data/lib/webgen/blackboard.rb +21 -5
  16. data/lib/webgen/bundle/built-in-show-changes/info.yaml +17 -0
  17. data/lib/webgen/bundle/built-in-show-changes/init.rb +4 -5
  18. data/lib/webgen/bundle/built-in/info.yaml +1064 -0
  19. data/lib/webgen/bundle/built-in/init.rb +103 -136
  20. data/lib/webgen/bundle_loader.rb +82 -9
  21. data/lib/webgen/cli.rb +12 -8
  22. data/lib/webgen/cli/commands/create.rb +27 -0
  23. data/lib/webgen/cli/{create_bundle_command.rb → commands/create_bundle.rb} +2 -2
  24. data/lib/webgen/cli/{create_command.rb → commands/create_website.rb} +2 -2
  25. data/lib/webgen/cli/commands/generate.rb +66 -0
  26. data/lib/webgen/cli/{install_bundle_command.rb → commands/install.rb} +1 -1
  27. data/lib/webgen/cli/{show_command.rb → commands/show.rb} +6 -4
  28. data/lib/webgen/cli/{list_bundle_command.rb → commands/show_bundles.rb} +12 -15
  29. data/lib/webgen/cli/{show_config_command.rb → commands/show_config.rb} +34 -6
  30. data/lib/webgen/cli/{show_dependencies_command.rb → commands/show_dependencies.rb} +0 -0
  31. data/lib/webgen/cli/{show_extensions_command.rb → commands/show_extensions.rb} +1 -13
  32. data/lib/webgen/cli/{show_tree_command.rb → commands/show_tree.rb} +3 -0
  33. data/lib/webgen/cli/utils.rb +1 -1
  34. data/lib/webgen/configuration.rb +9 -11
  35. data/lib/webgen/content_processor/html_head.rb +3 -4
  36. data/lib/webgen/content_processor/rainpress.rb +21 -0
  37. data/lib/webgen/content_processor/sass.rb +8 -8
  38. data/lib/webgen/content_processor/tikz.rb +59 -16
  39. data/lib/webgen/item_tracker.rb +33 -12
  40. data/lib/webgen/item_tracker/missing_node.rb +5 -5
  41. data/lib/webgen/item_tracker/template_chain.rb +52 -0
  42. data/lib/webgen/misc/dummy_index.rb +78 -0
  43. data/lib/webgen/node.rb +1 -1
  44. data/lib/webgen/node_finder.rb +86 -141
  45. data/lib/webgen/page.rb +5 -5
  46. data/lib/webgen/path.rb +4 -1
  47. data/lib/webgen/path_handler.rb +25 -21
  48. data/lib/webgen/path_handler/api.rb +36 -3
  49. data/lib/webgen/path_handler/base.rb +20 -4
  50. data/lib/webgen/path_handler/feed.rb +6 -2
  51. data/lib/webgen/path_handler/meta_info.rb +4 -2
  52. data/lib/webgen/path_handler/page.rb +5 -7
  53. data/lib/webgen/path_handler/sitemap.rb +6 -1
  54. data/lib/webgen/path_handler/virtual.rb +6 -8
  55. data/lib/webgen/source/file_system.rb +2 -2
  56. data/lib/webgen/tag.rb +22 -18
  57. data/lib/webgen/tag/menu.rb +5 -5
  58. data/lib/webgen/test_helper.rb +18 -18
  59. data/lib/webgen/utils/external_command.rb +1 -1
  60. data/lib/webgen/utils/tag_parser.rb +1 -1
  61. data/lib/webgen/vendor/rainpress.rb +168 -0
  62. data/lib/webgen/version.rb +1 -1
  63. data/lib/webgen/website.rb +10 -10
  64. data/man/man1/webgen.1 +54 -23
  65. data/test/test_documentation.rb +27 -4
  66. data/test/webgen/cli/test_logger.rb +1 -1
  67. data/test/webgen/content_processor/test_blocks.rb +1 -1
  68. data/test/webgen/content_processor/test_builder.rb +3 -2
  69. data/test/webgen/content_processor/test_erb.rb +1 -1
  70. data/test/webgen/content_processor/test_erubis.rb +2 -2
  71. data/test/webgen/content_processor/test_fragments.rb +1 -1
  72. data/test/webgen/content_processor/test_haml.rb +2 -2
  73. data/test/webgen/content_processor/test_html_head.rb +5 -1
  74. data/test/webgen/content_processor/test_kramdown.rb +2 -2
  75. data/test/webgen/content_processor/test_maruku.rb +2 -2
  76. data/test/webgen/content_processor/test_r_discount.rb +2 -2
  77. data/test/webgen/content_processor/test_r_doc.rb +1 -1
  78. data/test/webgen/content_processor/test_rainpress.rb +19 -0
  79. data/test/webgen/content_processor/test_red_cloth.rb +2 -2
  80. data/test/webgen/content_processor/test_ruby.rb +1 -1
  81. data/test/webgen/content_processor/test_sass.rb +8 -6
  82. data/test/webgen/content_processor/test_scss.rb +3 -3
  83. data/test/webgen/content_processor/test_tags.rb +1 -1
  84. data/test/webgen/content_processor/test_tidy.rb +9 -1
  85. data/test/webgen/content_processor/test_tikz.rb +6 -3
  86. data/test/webgen/content_processor/test_xmllint.rb +9 -2
  87. data/test/webgen/destination/test_file_system.rb +4 -4
  88. data/test/webgen/item_tracker/test_file.rb +1 -1
  89. data/test/webgen/item_tracker/test_missing_node.rb +1 -1
  90. data/test/webgen/item_tracker/test_node_content.rb +1 -1
  91. data/test/webgen/item_tracker/test_node_meta_info.rb +1 -1
  92. data/test/webgen/item_tracker/test_nodes.rb +2 -4
  93. data/test/webgen/item_tracker/test_template_chain.rb +36 -0
  94. data/test/webgen/misc/test_dummy_index.rb +83 -0
  95. data/test/webgen/path_handler/test_api.rb +6 -46
  96. data/test/webgen/path_handler/test_base.rb +3 -2
  97. data/test/webgen/path_handler/test_copy.rb +1 -1
  98. data/test/webgen/path_handler/test_feed.rb +3 -4
  99. data/test/webgen/path_handler/test_meta_info.rb +1 -1
  100. data/test/webgen/path_handler/test_page.rb +1 -1
  101. data/test/webgen/path_handler/test_page_utils.rb +1 -1
  102. data/test/webgen/path_handler/test_sitemap.rb +3 -5
  103. data/test/webgen/path_handler/test_template.rb +1 -1
  104. data/test/webgen/path_handler/test_virtual.rb +1 -3
  105. data/test/webgen/source/test_file_system.rb +9 -4
  106. data/test/webgen/source/test_stacked.rb +1 -1
  107. data/test/webgen/source/test_tar_archive.rb +2 -2
  108. data/test/webgen/tag/test_breadcrumb_trail.rb +1 -1
  109. data/test/webgen/tag/test_coderay.rb +3 -2
  110. data/test/webgen/tag/test_date.rb +1 -1
  111. data/test/webgen/tag/test_execute_command.rb +1 -1
  112. data/test/webgen/tag/test_include_file.rb +1 -1
  113. data/test/webgen/tag/test_langbar.rb +1 -1
  114. data/test/webgen/tag/test_link.rb +1 -1
  115. data/test/webgen/tag/test_menu.rb +12 -30
  116. data/test/webgen/tag/test_meta_info.rb +1 -1
  117. data/test/webgen/tag/test_relocatable.rb +1 -1
  118. data/test/webgen/tag/test_tikz.rb +3 -2
  119. data/test/webgen/task/test_create_website.rb +2 -2
  120. data/test/webgen/test_blackboard.rb +11 -3
  121. data/test/webgen/test_bundle_loader.rb +26 -9
  122. data/test/webgen/test_cache.rb +1 -1
  123. data/test/webgen/test_cli.rb +2 -2
  124. data/test/webgen/test_configuration.rb +8 -9
  125. data/test/webgen/test_content_processor.rb +1 -1
  126. data/test/webgen/test_context.rb +1 -1
  127. data/test/webgen/test_core_ext.rb +1 -1
  128. data/test/webgen/test_destination.rb +1 -1
  129. data/test/webgen/test_error.rb +5 -5
  130. data/test/webgen/test_extension_manager.rb +1 -1
  131. data/test/webgen/test_item_tracker.rb +26 -5
  132. data/test/webgen/test_languages.rb +1 -1
  133. data/test/webgen/test_logger.rb +1 -1
  134. data/test/webgen/test_node.rb +1 -1
  135. data/test/webgen/test_node_finder.rb +2 -2
  136. data/test/webgen/test_page.rb +5 -5
  137. data/test/webgen/test_path.rb +8 -8
  138. data/test/webgen/test_rake_task.rb +1 -1
  139. data/test/webgen/test_source.rb +1 -1
  140. data/test/webgen/test_tag.rb +16 -24
  141. data/test/webgen/test_task.rb +1 -1
  142. data/test/webgen/test_tree.rb +1 -1
  143. data/test/webgen/test_utils.rb +1 -1
  144. data/test/webgen/test_website.rb +1 -1
  145. data/test/webgen/utils/test_tag_parser.rb +1 -1
  146. metadata +85 -105
  147. data/lib/webgen/cli/bundle_command.rb +0 -30
  148. 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 < MiniTest::Unit::TestCase
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
- FileUtils.touch(@ext_info_file)
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({'webgen' => nil, 'my_ext' => @ext_info_file}, @website.ext.bundles)
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.open(File.join(@extdir, 'init.rb'), 'w+') do |f|
41
- f.puts("load('my_ext'); require_relative('webgen/init.rb')")
42
- end
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
 
@@ -3,7 +3,7 @@
3
3
  require 'minitest/autorun'
4
4
  require 'webgen/cache'
5
5
 
6
- class TestCache < MiniTest::Unit::TestCase
6
+ class TestCache < Minitest::Test
7
7
 
8
8
  def setup
9
9
  @cache = Webgen::Cache.new
@@ -3,7 +3,7 @@
3
3
  require 'minitest/autorun'
4
4
  require 'webgen/cli'
5
5
 
6
- class TestCLICommandParser < MiniTest::Unit::TestCase
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(/bundle.*create.*install.*list.*generate.*help.*sample.*.*show.*config.*deps.*extensions.*version/m, out)
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 < MiniTest::Unit::TestCase
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', 'desc') {|v| raise "Error with option" unless v.kind_of?(String); v}
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, 'desc')
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', 'desc') }
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', 'desc') }
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', 'desc') {|v| raise "Error with option" unless v.kind_of?(String); v}
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', 'desc')
126
+ other.define_option('namespace.option', 'default1')
128
127
  refute_equal(@config, other)
129
128
  end
130
129
 
@@ -13,7 +13,7 @@ class Webgen::ContentProcessor::MyProcessor
13
13
 
14
14
  end
15
15
 
16
- class TestContentProcessor < MiniTest::Unit::TestCase
16
+ class TestContentProcessor < Minitest::Test
17
17
 
18
18
  def setup
19
19
  @cp = Webgen::ContentProcessor.new
@@ -3,7 +3,7 @@
3
3
  require 'webgen/test_helper'
4
4
  require 'webgen/context'
5
5
 
6
- class TestContext < MiniTest::Unit::TestCase
6
+ class TestContext < Minitest::Test
7
7
 
8
8
  include Webgen::TestHelper
9
9
 
@@ -3,7 +3,7 @@
3
3
  require 'minitest/autorun'
4
4
  require 'webgen/core_ext'
5
5
 
6
- class TestCoreExtensions < MiniTest::Unit::TestCase
6
+ class TestCoreExtensions < Minitest::Test
7
7
 
8
8
  def test_webgen_require
9
9
  assert_raises(Webgen::LoadError) { webgen_require('unknown_library_here') }
@@ -9,7 +9,7 @@ class Webgen::Destination::MyDestination
9
9
 
10
10
  end
11
11
 
12
- class TestDestination < MiniTest::Unit::TestCase
12
+ class TestDestination < Minitest::Test
13
13
 
14
14
  def setup
15
15
  @website = MiniTest::Mock.new
@@ -3,7 +3,7 @@
3
3
  require 'minitest/autorun'
4
4
  require 'webgen/error'
5
5
 
6
- class TestError < MiniTest::Unit::TestCase
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 < MiniTest::Unit::TestCase
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 < MiniTest::Unit::TestCase
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 < MiniTest::Unit::TestCase
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 < MiniTest::Unit::TestCase
113
+ class TestCommandNotFoundError < Minitest::Test
114
114
 
115
115
  def test_all
116
116
  e = Webgen::CommandNotFoundError.new("test", 'location', '/path')
@@ -13,7 +13,7 @@ class DummyExtensionManager
13
13
 
14
14
  end
15
15
 
16
- class TestExtensionManager < MiniTest::Unit::TestCase
16
+ class TestExtensionManager < Minitest::Test
17
17
 
18
18
  def setup
19
19
  @dummy = DummyExtensionManager.new
@@ -17,7 +17,11 @@ class Webgen::ItemTracker::Sample
17
17
  end
18
18
 
19
19
  def item_data(data) #:nodoc:
20
- 'alcn' + TestItemTracker::Data[data].to_s
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 < MiniTest::Unit::TestCase
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']},
@@ -3,7 +3,7 @@
3
3
  require 'minitest/autorun'
4
4
  require 'webgen/languages'
5
5
 
6
- class TestLanguages < MiniTest::Unit::TestCase
6
+ class TestLanguages < Minitest::Test
7
7
 
8
8
  def test_get_language
9
9
  assert_nil(Webgen::LanguageManager.language_for_code(nil))
@@ -4,7 +4,7 @@ require 'minitest/autorun'
4
4
  require 'stringio'
5
5
  require 'webgen/logger'
6
6
 
7
- class TestLogger < MiniTest::Unit::TestCase
7
+ class TestLogger < Minitest::Test
8
8
 
9
9
  def test_logging
10
10
  @logio = StringIO.new
@@ -3,7 +3,7 @@
3
3
  require 'webgen/test_helper'
4
4
  require 'webgen/node'
5
5
 
6
- class TestNode < MiniTest::Unit::TestCase
6
+ class TestNode < Minitest::Test
7
7
 
8
8
  include Webgen::TestHelper
9
9
 
@@ -3,7 +3,7 @@
3
3
  require 'webgen/test_helper'
4
4
  require 'webgen/node_finder'
5
5
 
6
- class TestNodeFinder < MiniTest::Unit::TestCase
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/subfile.html#frag /dir/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
@@ -3,7 +3,7 @@
3
3
  require 'minitest/autorun'
4
4
  require 'webgen/page'
5
5
 
6
- class TestPage < MiniTest::Unit::TestCase
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
- --- block5 -----------------------------------
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
- --- other:options test1:true test2:false test3:542 pipeline: ----------------
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:
@@ -5,7 +5,7 @@ require 'webgen/path'
5
5
  require 'stringio'
6
6
  require 'tmpdir'
7
7
 
8
- class TestPath < MiniTest::Unit::TestCase
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
- assert(!Webgen::Path.matches_pattern?(path, '**/*.test'))
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')