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 'webgen/test_helper'
|
|
|
4
4
|
require 'webgen/path_handler/base'
|
|
5
5
|
require 'time'
|
|
6
6
|
|
|
7
|
-
class TestPathHandlerBase <
|
|
7
|
+
class TestPathHandlerBase < Minitest::Test
|
|
8
8
|
|
|
9
9
|
include Webgen::TestHelper
|
|
10
10
|
|
|
@@ -18,7 +18,7 @@ class TestPathHandlerBase < MiniTest::Unit::TestCase
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def setup
|
|
21
|
-
setup_website
|
|
21
|
+
setup_website('website.base_url' => 'http://example.com/sub')
|
|
22
22
|
@obj = TestPathHandler.new(@website)
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -31,6 +31,7 @@ class TestPathHandlerBase < MiniTest::Unit::TestCase
|
|
|
31
31
|
node = @obj.create_node(path) {|n| count += 1; assert_kind_of(Webgen::PathHandler::Base::Node, n)}
|
|
32
32
|
assert_equal(path, node.node_info[:path])
|
|
33
33
|
assert_kind_of(Time, node.meta_info['modified_at'])
|
|
34
|
+
assert_equal('http://example.com/sub/path.html', node.url)
|
|
34
35
|
assert_equal(1, count)
|
|
35
36
|
assert_nil(node.content)
|
|
36
37
|
def (@obj).content(node); node; end
|
|
@@ -7,13 +7,12 @@ require 'webgen/node_finder'
|
|
|
7
7
|
require 'webgen/path'
|
|
8
8
|
require 'webgen/version'
|
|
9
9
|
|
|
10
|
-
class TestPathHandlerFeed <
|
|
10
|
+
class TestPathHandlerFeed < Minitest::Test
|
|
11
11
|
|
|
12
12
|
include Webgen::TestHelper
|
|
13
13
|
|
|
14
14
|
FEED_CONTENT = <<EOF
|
|
15
15
|
---
|
|
16
|
-
site_url: http://example.com
|
|
17
16
|
entries:
|
|
18
17
|
:alcn: "*.html"
|
|
19
18
|
author: Thomas Leitner
|
|
@@ -23,12 +22,12 @@ hallo
|
|
|
23
22
|
EOF
|
|
24
23
|
|
|
25
24
|
def setup
|
|
26
|
-
setup_website('website.lang' => 'en')
|
|
25
|
+
setup_website('website.lang' => 'en', 'website.base_url' => 'http://example.com')
|
|
27
26
|
@website.ext.node_finder = Webgen::NodeFinder.new(@website)
|
|
28
27
|
|
|
29
28
|
@feed = Webgen::PathHandler::Feed.new(@website)
|
|
30
29
|
|
|
31
|
-
root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
|
|
30
|
+
root = Webgen::PathHandler::Base::Node.new(@website.tree.dummy_root, '/', '/')
|
|
32
31
|
@index_en = RenderNode.new("--- name:content\nMyContent\n--- name:abstract\nRealContent", root,
|
|
33
32
|
'index.html', '/index.en.html', {'lang' => 'en', 'modified_at' => Time.now - 1, 'author' => 'test'})
|
|
34
33
|
@file_en = RenderNode.new("--- name:content\nCContent\n--- name:abstract\nAContent", root,
|
|
@@ -6,13 +6,12 @@ require 'webgen/content_processor'
|
|
|
6
6
|
require 'webgen/node_finder'
|
|
7
7
|
require 'webgen/path'
|
|
8
8
|
|
|
9
|
-
class TestPathHandlerSitemap <
|
|
9
|
+
class TestPathHandlerSitemap < Minitest::Test
|
|
10
10
|
|
|
11
11
|
include Webgen::TestHelper
|
|
12
12
|
|
|
13
13
|
SITEMAP_CONTENT = <<EOF
|
|
14
14
|
---
|
|
15
|
-
site_url: http://example.com
|
|
16
15
|
default_change_freq: daily
|
|
17
16
|
default_priority: 0.5
|
|
18
17
|
entries:
|
|
@@ -21,7 +20,6 @@ EOF
|
|
|
21
20
|
|
|
22
21
|
SITEMAP_CONTENT_TEMPLATE = <<EOF
|
|
23
22
|
---
|
|
24
|
-
site_url: http://example.com
|
|
25
23
|
default_change_freq: daily
|
|
26
24
|
default_priority: 0.5
|
|
27
25
|
entries:
|
|
@@ -31,12 +29,12 @@ Yeah <%= context.node['title'] %>
|
|
|
31
29
|
EOF
|
|
32
30
|
|
|
33
31
|
def setup
|
|
34
|
-
setup_website('website.lang' => 'en')
|
|
32
|
+
setup_website('website.lang' => 'en', 'website.base_url' => 'http://example.com')
|
|
35
33
|
@website.ext.node_finder = Webgen::NodeFinder.new(@website)
|
|
36
34
|
|
|
37
35
|
@sitemap = Webgen::PathHandler::Sitemap.new(@website)
|
|
38
36
|
|
|
39
|
-
setup_default_nodes(@website.tree)
|
|
37
|
+
setup_default_nodes(@website.tree, Webgen::PathHandler::Base::Node)
|
|
40
38
|
@website.tree.node_access[:alcn].each_value {|n| n.meta_info['modified_at'] = Time.now}
|
|
41
39
|
@website.tree['/file.en.html'].meta_info['priority'] = 0.9
|
|
42
40
|
@website.tree['/file.en.html'].meta_info['change_freq'] = 'hourly'
|
|
@@ -4,7 +4,7 @@ require 'webgen/test_helper'
|
|
|
4
4
|
require 'webgen/path_handler/virtual'
|
|
5
5
|
require 'webgen/path'
|
|
6
6
|
|
|
7
|
-
class TestPathHandlerVirtual <
|
|
7
|
+
class TestPathHandlerVirtual < Minitest::Test
|
|
8
8
|
|
|
9
9
|
include Webgen::TestHelper
|
|
10
10
|
|
|
@@ -78,8 +78,6 @@ EOF
|
|
|
78
78
|
path = Webgen::Path.new('/virtual', 'dest_path' => '<parent><basename>(.<lang>)<ext>', 'modified_at' => @time)
|
|
79
79
|
nodes = @virtual.create_nodes(path, Webgen::Page.from_data(CONTENT).blocks)
|
|
80
80
|
|
|
81
|
-
nodes.each {|n| assert_equal(path, n.node_info[:path])}
|
|
82
|
-
|
|
83
81
|
node_de = @root.tree['/path.de.html']
|
|
84
82
|
node_en = @root.tree['/directory/path.en.html']
|
|
85
83
|
dir = @root.tree['/dir/']
|
|
@@ -6,7 +6,7 @@ require 'fileutils'
|
|
|
6
6
|
require 'rbconfig'
|
|
7
7
|
require 'webgen/source/file_system'
|
|
8
8
|
|
|
9
|
-
class TestSourceFileSystem <
|
|
9
|
+
class TestSourceFileSystem < Minitest::Test
|
|
10
10
|
|
|
11
11
|
def setup
|
|
12
12
|
@root = root = File.expand_path(File.dirname(__FILE__))
|
|
@@ -24,7 +24,7 @@ class TestSourceFileSystem < MiniTest::Unit::TestCase
|
|
|
24
24
|
assert_equal('c:/tmp/hallo', source.root)
|
|
25
25
|
else
|
|
26
26
|
source = Webgen::Source::FileSystem.new(@website, '/tmp/hallo')
|
|
27
|
-
assert_equal('
|
|
27
|
+
assert_equal('{*,**/*}', source.glob)
|
|
28
28
|
assert_equal('/tmp/hallo', source.root)
|
|
29
29
|
end
|
|
30
30
|
source = Webgen::Source::FileSystem.new(@website, '../hallo')
|
|
@@ -32,8 +32,13 @@ class TestSourceFileSystem < MiniTest::Unit::TestCase
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def test_paths
|
|
35
|
-
source = Webgen::Source::FileSystem.new(@website, '.'
|
|
36
|
-
|
|
35
|
+
source = Webgen::Source::FileSystem.new(@website, '.')
|
|
36
|
+
assert_equal(4, source.paths.length)
|
|
37
|
+
assert(source.paths.include?(Webgen::Path.new('/')))
|
|
38
|
+
assert(source.paths.include?(Webgen::Path.new('/test_file_system.rb')))
|
|
39
|
+
|
|
40
|
+
source = Webgen::Source::FileSystem.new(@website, '.', '/../source/{*,**/*}')
|
|
41
|
+
assert_equal(4, source.paths.length)
|
|
37
42
|
assert(source.paths.include?(Webgen::Path.new('/source/')))
|
|
38
43
|
assert(source.paths.include?(Webgen::Path.new('/source/test_file_system.rb')))
|
|
39
44
|
end
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
require 'minitest/autorun'
|
|
4
4
|
require 'fileutils'
|
|
5
5
|
require 'rbconfig'
|
|
6
|
-
require 'webgen/source/tar_archive'
|
|
7
6
|
|
|
8
|
-
class TestSourceTarArchive <
|
|
7
|
+
class TestSourceTarArchive < Minitest::Test
|
|
9
8
|
|
|
10
9
|
class FakeStream
|
|
11
10
|
|
|
@@ -30,6 +29,7 @@ class TestSourceTarArchive < MiniTest::Unit::TestCase
|
|
|
30
29
|
end
|
|
31
30
|
|
|
32
31
|
def setup
|
|
32
|
+
require 'webgen/source/tar_archive' rescue skip('Library archive-tar-minitar not installed')
|
|
33
33
|
@stream = FakeStream.new
|
|
34
34
|
end
|
|
35
35
|
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
|
|
3
3
|
require 'webgen/test_helper'
|
|
4
|
-
require 'webgen/tag/coderay'
|
|
5
4
|
|
|
6
|
-
class TestTagCoderay <
|
|
5
|
+
class TestTagCoderay < Minitest::Test
|
|
7
6
|
|
|
8
7
|
include Webgen::TestHelper
|
|
9
8
|
|
|
10
9
|
def test_call
|
|
10
|
+
require 'webgen/tag/coderay' rescue skip("Library coderay not installed")
|
|
11
|
+
|
|
11
12
|
setup_context
|
|
12
13
|
@website.ext.content_processor = Object.new
|
|
13
14
|
@website.ext.content_processor.define_singleton_method(:call) {|_, context| context}
|
|
@@ -5,7 +5,7 @@ require 'webgen/content_processor'
|
|
|
5
5
|
require 'webgen/tag/menu'
|
|
6
6
|
require 'webgen/node_finder'
|
|
7
7
|
|
|
8
|
-
class TestTagMenu <
|
|
8
|
+
class TestTagMenu < Minitest::Test
|
|
9
9
|
|
|
10
10
|
include Webgen::TestHelper
|
|
11
11
|
|
|
@@ -21,41 +21,23 @@ class TestTagMenu < MiniTest::Unit::TestCase
|
|
|
21
21
|
|
|
22
22
|
context = Webgen::Context.new(@website, :chain => [@website.tree['/dir/subfile.html']])
|
|
23
23
|
|
|
24
|
-
assert_tag_result("<ul><li class=\"webgen-menu-level1 webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"../\"></a><ul><li class=\"webgen-menu-level2 webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"./\">dir</a><ul><li class=\"webgen-menu-level3 webgen-menu-item-selected\"><a href=\"subfile.html\">subfile</a></li></ul></li></ul></li></ul>",
|
|
25
|
-
context, {:ancestors => true}, 'nested')
|
|
24
|
+
assert_tag_result("<ul class=\"other\"><li class=\"webgen-menu-level1 webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"../\"></a><ul><li class=\"webgen-menu-level2 webgen-menu-submenu webgen-menu-submenu-inhierarchy\"><a href=\"./\">dir</a><ul><li class=\"webgen-menu-level3 webgen-menu-item-selected\"><a href=\"subfile.html\">subfile</a></li></ul></li></ul></li></ul>",
|
|
25
|
+
context, {:ancestors => true}, 'nested', 'other', 'webgen-menu-level', 'webgen-menu-submenu', 'webgen-menu-submenu-inhierarchy', 'webgen-menu-item-selected')
|
|
26
26
|
|
|
27
|
-
assert_tag_result("<ul><li class=\"
|
|
28
|
-
context, {:ancestors => true}, 'flat')
|
|
27
|
+
assert_tag_result("<ul class=\"menu\"><li class=\"level1 sub sub-hier\"><a href=\"../\"></a></li></ul><ul><li class=\"level2 sub sub-hier\"><a href=\"./\">dir</a></li></ul><ul><li class=\"level3 active\"><a href=\"subfile.html\">subfile</a></li></ul>",
|
|
28
|
+
context, {:ancestors => true}, 'flat', 'menu', 'level', 'sub', 'sub-hier', 'active')
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
def assert_tag_result(result, context, options, style)
|
|
31
|
+
def assert_tag_result(result, context, options, style, css_class, level, smenu, smenuh, selected)
|
|
32
32
|
context[:config] = {'tag.menu.style' => style,
|
|
33
33
|
'tag.menu.options' => options,
|
|
34
|
-
'tag.menu.template' => '/tag.template'
|
|
34
|
+
'tag.menu.template' => '/tag.template',
|
|
35
|
+
'tag.menu.css_class' => css_class,
|
|
36
|
+
'tag.menu.item_level_class' => level,
|
|
37
|
+
'tag.menu.item_submenu_class' => smenu,
|
|
38
|
+
'tag.menu.item_submenu_inhierarchy_class' => smenuh,
|
|
39
|
+
'tag.menu.item_selected_class' => selected}
|
|
35
40
|
assert_equal(result, Webgen::Tag::Menu.call('menu', '', context))
|
|
36
41
|
end
|
|
37
42
|
|
|
38
|
-
def test_static_menu_item_details
|
|
39
|
-
setup_website
|
|
40
|
-
setup_default_nodes(@website.tree)
|
|
41
|
-
obj = Webgen::Tag::Menu
|
|
42
|
-
|
|
43
|
-
assert_equal(["class=\"webgen-menu-level1 webgen-menu-submenu\"",
|
|
44
|
-
"<a href=\"file.de.html\" hreflang=\"de\">file de</a>"],
|
|
45
|
-
obj.menu_item_details(@website.tree['/file.en.html'], @website.tree['/file.de.html'],
|
|
46
|
-
'en', 1, true))
|
|
47
|
-
assert_equal(["class=\"webgen-menu-level2 webgen-menu-submenu webgen-menu-submenu-inhierarchy\"",
|
|
48
|
-
"<a href=\"./\"></a>"],
|
|
49
|
-
obj.menu_item_details(@website.tree['/file.en.html'], @website.tree['/'],
|
|
50
|
-
'en', 2, true))
|
|
51
|
-
assert_equal(["class=\"webgen-menu-level2 webgen-menu-submenu webgen-menu-item-selected\"",
|
|
52
|
-
"<a href=\"file.en.html\" hreflang=\"en\">file en</a>"],
|
|
53
|
-
obj.menu_item_details(@website.tree['/file.en.html'], @website.tree['/file.en.html'],
|
|
54
|
-
'en', 2, true))
|
|
55
|
-
assert_equal(["class=\"webgen-menu-level3\"",
|
|
56
|
-
"<a href=\"file.de.html\" hreflang=\"de\">file de</a>"],
|
|
57
|
-
obj.menu_item_details(@website.tree['/file.en.html'], @website.tree['/file.de.html'],
|
|
58
|
-
'de', 3, false))
|
|
59
|
-
end
|
|
60
|
-
|
|
61
43
|
end
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
|
|
3
3
|
require 'webgen/test_helper'
|
|
4
|
-
require 'webgen/tag/tikz'
|
|
5
4
|
|
|
6
|
-
class TestTagTikz <
|
|
5
|
+
class TestTagTikz < Minitest::Test
|
|
7
6
|
|
|
8
7
|
include Webgen::TestHelper
|
|
9
8
|
|
|
10
9
|
def test_call
|
|
10
|
+
require 'webgen/tag/tikz' rescue skip($!.message)
|
|
11
|
+
|
|
11
12
|
setup_context
|
|
12
13
|
@website.ext.path_handler = MiniTest::Mock.new
|
|
13
14
|
|
|
@@ -5,7 +5,7 @@ require 'webgen/task/create_website'
|
|
|
5
5
|
require 'fileutils'
|
|
6
6
|
require 'ostruct'
|
|
7
7
|
|
|
8
|
-
class TestTaskCreateWebsite <
|
|
8
|
+
class TestTaskCreateWebsite < Minitest::Test
|
|
9
9
|
|
|
10
10
|
include Webgen::TestHelper
|
|
11
11
|
|
|
@@ -16,7 +16,7 @@ class TestTaskCreateWebsite < MiniTest::Unit::TestCase
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def teardown
|
|
19
|
-
FileUtils.remove_entry_secure(@website.directory)
|
|
19
|
+
FileUtils.remove_entry_secure(@website.directory) if Dir.exist?(@website.directory)
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def test_static_call
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
require 'minitest/autorun'
|
|
4
4
|
require 'webgen/blackboard'
|
|
5
5
|
|
|
6
|
-
class TestBlackboard <
|
|
6
|
+
class TestBlackboard < Minitest::Test
|
|
7
7
|
|
|
8
8
|
def setup
|
|
9
9
|
@blackboard = Webgen::Blackboard.new
|
|
@@ -11,9 +11,17 @@ class TestBlackboard < MiniTest::Unit::TestCase
|
|
|
11
11
|
|
|
12
12
|
def test_add_listener
|
|
13
13
|
assert_raises(ArgumentError) { @blackboard.add_listener(:test) }
|
|
14
|
-
@blackboard.add_listener(
|
|
14
|
+
@blackboard.add_listener(:test) { throw :called }
|
|
15
15
|
assert_throws(:called) { @blackboard.dispatch_msg(:test) }
|
|
16
|
-
|
|
16
|
+
|
|
17
|
+
msgs = []
|
|
18
|
+
@blackboard.add_listener(:other, 'test') { msgs << 'test' }
|
|
19
|
+
@blackboard.add_listener(:other, nil, :before => 'test') { msgs << 'before' }
|
|
20
|
+
@blackboard.add_listener(:other, nil, :before => 'non-existing') { msgs << 'after 2' }
|
|
21
|
+
@blackboard.add_listener(:other, nil, :after => 'non-existing') { msgs << 'last' }
|
|
22
|
+
@blackboard.add_listener(:other, nil, :after => 'test') { msgs << 'after 1' }
|
|
23
|
+
@blackboard.dispatch_msg(:other)
|
|
24
|
+
assert_equal(['before', 'test', 'after 1', 'after 2', 'last'], msgs)
|
|
17
25
|
end
|
|
18
26
|
|
|
19
27
|
def test_remove_listener
|