gettalong-webgen 0.5.8.20090507 → 0.5.9.20090620

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/Rakefile +5 -6
  2. data/data/webgen/passive_sources/images/generated_by_webgen.png +0 -0
  3. data/data/webgen/passive_sources/images/webgen_logo.png +0 -0
  4. data/data/webgen/passive_sources/templates/atom_feed.template +38 -0
  5. data/data/webgen/passive_sources/templates/rss_feed.template +28 -0
  6. data/data/webgen/resources.yaml +2 -1
  7. data/doc/contentprocessor/builder.page +1 -1
  8. data/doc/contentprocessor/erb.page +5 -2
  9. data/doc/contentprocessor/erubis.page +2 -2
  10. data/doc/extensions.page +1 -1
  11. data/doc/manual.page +56 -26
  12. data/doc/reference_configuration.page +36 -1
  13. data/doc/reference_website_styles.page +1 -1
  14. data/doc/sourcehandler/feed.page +6 -11
  15. data/doc/tag/includefile.page +1 -1
  16. data/lib/webgen/cli/apply_command.rb +1 -1
  17. data/lib/webgen/cli/utils.rb +2 -2
  18. data/lib/webgen/common.rb +0 -9
  19. data/lib/webgen/contentprocessor/blocks.rb +60 -36
  20. data/lib/webgen/contentprocessor/builder.rb +2 -2
  21. data/lib/webgen/contentprocessor/erb.rb +3 -2
  22. data/lib/webgen/contentprocessor/erubis.rb +2 -2
  23. data/lib/webgen/contentprocessor/haml.rb +2 -2
  24. data/lib/webgen/contentprocessor/maruku.rb +1 -1
  25. data/lib/webgen/contentprocessor/sass.rb +2 -2
  26. data/lib/webgen/contentprocessor/tags.rb +25 -11
  27. data/lib/webgen/context.rb +4 -1
  28. data/lib/webgen/context/render.rb +32 -0
  29. data/lib/webgen/context/tags.rb +20 -0
  30. data/lib/webgen/default_config.rb +4 -1
  31. data/lib/webgen/deprecated.rb +37 -4
  32. data/lib/webgen/node.rb +37 -38
  33. data/lib/webgen/path.rb +151 -54
  34. data/lib/webgen/source.rb +6 -6
  35. data/lib/webgen/source/stacked.rb +13 -5
  36. data/lib/webgen/sourcehandler.rb +71 -45
  37. data/lib/webgen/sourcehandler/base.rb +51 -21
  38. data/lib/webgen/sourcehandler/copy.rb +4 -4
  39. data/lib/webgen/sourcehandler/directory.rb +3 -9
  40. data/lib/webgen/sourcehandler/feed.rb +23 -49
  41. data/lib/webgen/sourcehandler/fragment.rb +10 -8
  42. data/lib/webgen/sourcehandler/memory.rb +9 -10
  43. data/lib/webgen/sourcehandler/metainfo.rb +9 -9
  44. data/lib/webgen/sourcehandler/page.rb +5 -5
  45. data/lib/webgen/sourcehandler/sitemap.rb +3 -3
  46. data/lib/webgen/sourcehandler/template.rb +6 -6
  47. data/lib/webgen/sourcehandler/virtual.rb +19 -17
  48. data/lib/webgen/tag/base.rb +34 -26
  49. data/lib/webgen/tag/breadcrumbtrail.rb +3 -3
  50. data/lib/webgen/tag/executecommand.rb +3 -3
  51. data/lib/webgen/tag/langbar.rb +2 -2
  52. data/lib/webgen/tag/link.rb +3 -3
  53. data/lib/webgen/tag/menu.rb +2 -2
  54. data/lib/webgen/tag/metainfo.rb +1 -1
  55. data/lib/webgen/tag/relocatable.rb +17 -21
  56. data/lib/webgen/tag/tikz.rb +5 -6
  57. data/lib/webgen/tree.rb +7 -7
  58. data/lib/webgen/version.rb +1 -1
  59. data/lib/webgen/website.rb +4 -2
  60. data/misc/default.css +8 -2
  61. data/misc/default.template +2 -2
  62. data/misc/logo.svg +313 -0
  63. data/misc/style.page +1 -1
  64. data/test/helper.rb +2 -2
  65. data/test/test_common_sitemap.rb +1 -1
  66. data/test/test_contentprocessor_blocks.rb +12 -4
  67. data/test/test_contentprocessor_builder.rb +2 -1
  68. data/test/test_contentprocessor_erb.rb +2 -1
  69. data/test/test_contentprocessor_erubis.rb +1 -1
  70. data/test/test_contentprocessor_fragments.rb +12 -11
  71. data/test/test_contentprocessor_haml.rb +2 -1
  72. data/test/test_contentprocessor_maruku.rb +1 -0
  73. data/test/test_contentprocessor_rdiscount.rb +1 -0
  74. data/test/test_contentprocessor_rdoc.rb +1 -0
  75. data/test/test_contentprocessor_sass.rb +1 -0
  76. data/test/test_contentprocessor_tags.rb +13 -0
  77. data/test/test_context.rb +28 -0
  78. data/test/test_node.rb +40 -20
  79. data/test/test_path.rb +106 -65
  80. data/test/test_source_filesystem.rb +1 -1
  81. data/test/test_source_stacked.rb +19 -6
  82. data/test/test_sourcehandler_base.rb +53 -47
  83. data/test/test_sourcehandler_copy.rb +6 -6
  84. data/test/test_sourcehandler_directory.rb +8 -12
  85. data/test/test_sourcehandler_feed.rb +10 -6
  86. data/test/test_sourcehandler_fragment.rb +6 -5
  87. data/test/test_sourcehandler_main.rb +39 -0
  88. data/test/test_sourcehandler_memory.rb +4 -4
  89. data/test/test_sourcehandler_metainfo.rb +10 -10
  90. data/test/test_sourcehandler_page.rb +9 -9
  91. data/test/test_sourcehandler_sitemap.rb +4 -4
  92. data/test/test_sourcehandler_template.rb +14 -14
  93. data/test/test_sourcehandler_virtual.rb +9 -5
  94. data/test/test_tag_base.rb +2 -2
  95. data/test/test_tag_executecommand.rb +1 -1
  96. data/test/test_tag_link.rb +4 -3
  97. data/test/test_tag_menu.rb +15 -15
  98. data/test/test_tag_metainfo.rb +1 -0
  99. data/test/test_tag_relocatable.rb +2 -1
  100. data/test/test_tag_tikz.rb +3 -3
  101. data/test/test_tree.rb +8 -8
  102. data/test/test_website.rb +15 -0
  103. metadata +14 -14
  104. data/test/test_common.rb +0 -18
@@ -14,46 +14,46 @@ class TestSourceHandlerPage < Test::Unit::TestCase
14
14
  @website.blackboard.del_service(:templates_for_node)
15
15
  @website.blackboard.add_service(:templates_for_node) {|node| []}
16
16
  @obj = Webgen::SourceHandler::Page.new
17
- @root = Webgen::Node.new(Webgen::Tree.new.dummy_root, 'test/', 'test')
17
+ @root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
18
18
  @path = path_with_meta_info('/index.page') {StringIO.new('content')}
19
19
  @path.meta_info.update({'lang'=>'eo', 'test'=>'yes', 'sort_info'=>6})
20
20
  @website.blackboard.add_service(:source_paths) {{@path.path => @path}}
21
21
  end
22
22
 
23
23
  def test_create_node
24
- node = @obj.create_node(@root, @path.dup)
24
+ node = @obj.create_node(@path.dup)
25
25
 
26
26
  assert_not_nil(node)
27
- assert_equal('test/index.eo.html', node.path)
27
+ assert_equal('/index.eo.html', node.path)
28
28
  assert_equal(@obj.class.name, node.node_info[:processor])
29
29
  assert_equal('Index', node['title'])
30
30
  assert_equal('yes', node['test'])
31
31
  assert_equal(6, node['sort_info'])
32
32
  assert_equal(Webgen::LanguageManager.language_for_code('epo'), node.lang)
33
33
 
34
- assert_equal(node, @obj.create_node(@root, @path.dup))
34
+ assert_equal(node, @obj.create_node(@path.dup))
35
35
 
36
36
  @root.tree.delete_node(node)
37
37
  path = @path.dup
38
38
  def path.changed?
39
39
  false
40
40
  end
41
- @obj.create_node(@root, path)
41
+ @obj.create_node(path)
42
42
  end
43
43
 
44
44
  def test_content
45
- node = @obj.create_node(@root, @path)
45
+ node = @obj.create_node(@path)
46
46
  assert_equal("content", @obj.content(node))
47
47
  end
48
48
 
49
49
  def test_render_node
50
- node = @obj.create_node(@root, @path)
50
+ node = @obj.create_node(@path)
51
51
  assert_equal("content", @obj.render_node(node))
52
52
  assert_raise(RuntimeError) { @obj.render_node(node, 'other') }
53
53
  end
54
54
 
55
55
  def test_meta_info_changed
56
- node = @obj.create_node(@root, @path)
56
+ node = @obj.create_node(@path)
57
57
  @website.blackboard.dispatch_msg(:node_meta_info_changed?, node)
58
58
  assert(!node.meta_info_changed?)
59
59
 
@@ -63,7 +63,7 @@ class TestSourceHandlerPage < Test::Unit::TestCase
63
63
 
64
64
  # Remove path from which node is created, meta info should naturally change
65
65
  @root.tree.delete_node(node)
66
- node = @obj.create_node(@root, @path)
66
+ node = @obj.create_node(@path)
67
67
  @website.blackboard.del_service(:source_paths)
68
68
  @website.blackboard.add_service(:source_paths) { {} }
69
69
  @website.blackboard.dispatch_msg(:node_meta_info_changed?, node)
@@ -26,19 +26,19 @@ EOF
26
26
  end
27
27
 
28
28
  def test_create_node
29
- sitemap = @obj.create_node(@nodes[:root], @path)
29
+ sitemap = @obj.create_node(@path)
30
30
 
31
31
  assert_not_nil(sitemap)
32
32
  assert_equal('/test.xml', sitemap.path)
33
- assert_equal('/test.xml', sitemap.absolute_lcn)
33
+ assert_equal('/test.xml', sitemap.alcn)
34
34
 
35
35
  assert_raise(RuntimeError) do
36
- @obj.create_node(@nodes[:root], path_with_meta_info('/test.sitemap', {}, @obj.class.name) {StringIO.new('')})
36
+ @obj.create_node(path_with_meta_info('/test.sitemap', {}, @obj.class.name) {StringIO.new('')})
37
37
  end
38
38
  end
39
39
 
40
40
  def test_content
41
- sitemap = @obj.create_node(@nodes[:root], @path)
41
+ sitemap = @obj.create_node(@path)
42
42
  content = sitemap.content
43
43
  assert_match(/<changefreq>daily<\/changefreq>/, content)
44
44
  assert_match(/<changefreq>hourly<\/changefreq>/, content)
@@ -18,23 +18,23 @@ class TestSourceHandlerTemplate < Test::Unit::TestCase
18
18
  end
19
19
 
20
20
  def test_create_node
21
- root = Webgen::Node.new(Webgen::Tree.new.dummy_root, 'test/', 'test', {'lang' => 'de', :test => :value})
22
- node = @obj.create_node(root, path_with_meta_info('/default.template') {StringIO.new('')})
21
+ root = Webgen::Node.new(@website.tree.dummy_root, '/', '/', {'lang' => 'de', :test => :value})
22
+ node = @obj.create_node(path_with_meta_info('/default.template') {StringIO.new('')})
23
23
 
24
24
  assert_not_nil(node)
25
25
  assert_not_nil(node.node_info[:page])
26
- assert_equal('test/default.template', node.path)
26
+ assert_equal('/default.template', node.path)
27
27
  end
28
28
 
29
29
  def test_templates_for_node
30
- root = Webgen::Node.new(Webgen::Tree.new.dummy_root, 'test/', 'test', {'lang' => 'de', :test => :value})
31
- default_template = Webgen::Node.new(root, 'default.template', 'default.template')
32
- default_de_template = Webgen::Node.new(root, 'default.de.template', 'default.template', {'lang' => 'de'})
33
- other_template = Webgen::Node.new(root, 'other.template', 'other.template')
34
- stopped_template = Webgen::Node.new(root, 'stopped.html', 'stopped.page', { 'template' => nil})
35
- invalid_template = Webgen::Node.new(root, 'invalid.template', 'invalid.template', {'template' => 'invalidity'})
36
- chained_template = Webgen::Node.new(root, 'chained.template', 'chained.template', {'template' => 'other.template'})
37
- german_file = Webgen::Node.new(root, 'german.html', 'german.page', {'lang' => 'de', 'template' => 'other.template'})
30
+ root = Webgen::Node.new(@website.tree.dummy_root, '/', '/', {:test => :value})
31
+ default_template = Webgen::Node.new(root, '/default.template', 'default.template')
32
+ default_de_template = Webgen::Node.new(root, '/default.de.template', 'default.template', {'lang' => 'de'})
33
+ other_template = Webgen::Node.new(root, '/other.template', 'other.template')
34
+ stopped_template = Webgen::Node.new(root, '/stopped.html', 'stopped.page', { 'template' => nil})
35
+ invalid_template = Webgen::Node.new(root, '/invalid.template', 'invalid.template', {'template' => 'invalidity'})
36
+ chained_template = Webgen::Node.new(root, '/chained.template', 'chained.template', {'template' => 'other.template'})
37
+ german_file = Webgen::Node.new(root, '/german.html', 'german.page', {'lang' => 'de', 'template' => 'other.template'})
38
38
  dir = Webgen::Node.new(root, '/dir/', 'dir')
39
39
  dir_default_template = Webgen::Node.new(dir, '/dir/default.template', 'default.template')
40
40
 
@@ -52,9 +52,9 @@ class TestSourceHandlerTemplate < Test::Unit::TestCase
52
52
  end
53
53
 
54
54
  def test_default_template
55
- root = Webgen::Node.new(Webgen::Tree.new.dummy_root, 'test/', 'test', {'lang' => 'de', :test => :value})
56
- dir = Webgen::Node.new(root, 'dir/', 'dir')
57
- template = Webgen::Node.new(root, 'default.template', 'default.template')
55
+ root = Webgen::Node.new(@website.tree.dummy_root, '/', '/', {:test => :value})
56
+ dir = Webgen::Node.new(root, '/dir/', 'dir/')
57
+ template = Webgen::Node.new(root, '/default.template', 'default.template')
58
58
 
59
59
  assert_equal(template, @obj.default_template(root, nil))
60
60
  assert_equal(template, @obj.default_template(dir, nil))
@@ -25,16 +25,20 @@ class TestSourceHandlerVirtual < Test::Unit::TestCase
25
25
  - api.html:
26
26
  url: http://www.example.com
27
27
  title: Absolute
28
+
29
+ - other.html:
30
+ url: directory/path.en.html
31
+ title: Nothing
28
32
  EOF
29
33
 
30
34
  def setup
31
35
  super
32
36
  @obj = Webgen::SourceHandler::Virtual.new
33
- @root = Webgen::Node.new(Webgen::Tree.new.dummy_root, '/', '/')
37
+ @root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
34
38
  shm = Webgen::SourceHandler::Main.new # for using service :create_nodes
35
39
  @time = Time.now
36
40
  @path = path_with_meta_info('/virtuals', {'modified_at' => @time}, @obj.class.name) {StringIO.new(CONTENT)}
37
- @nodes = @obj.create_node(@root, @path)
41
+ @nodes = @obj.create_node(@path)
38
42
  @website.blackboard.del_service(:source_paths)
39
43
  @website.blackboard.add_service(:source_paths) {{@path.path => @path}}
40
44
  end
@@ -44,7 +48,7 @@ EOF
44
48
 
45
49
  path_de = @root.tree['/path.de.html']
46
50
  path_en = @root.tree['/directory/path.en.html']
47
- dir = @root.tree['/dir']
51
+ dir = @root.tree['/dir/']
48
52
  assert_not_nil(path_de)
49
53
  assert_not_nil(dir)
50
54
  assert_not_nil(path_en)
@@ -74,7 +78,7 @@ EOF
74
78
 
75
79
  # Reinit node, meta info of path_de should not change, #create_node should only return one node
76
80
  path_de.flag(:reinit)
77
- assert(1, @obj.create_node(@root, @path).length)
81
+ assert(1, @obj.create_node(@path).length)
78
82
  @obj.send(:node_meta_info_changed?, path_de)
79
83
  assert(!path_de.flagged?(:dirty_meta_info))
80
84
 
@@ -86,7 +90,7 @@ EOF
86
90
  # Remove path from which virtual node is created, meta info should naturally change
87
91
  @root.tree.delete_node(path_de)
88
92
  @path.instance_eval { @io = Webgen::Path::SourceIO.new {StringIO.new("path.de.html:\n title: hallo")} }
89
- @obj.create_node(@root, @path)
93
+ @obj.create_node(@path)
90
94
  path_de = @root.tree['/path.de.html']
91
95
  @website.blackboard.del_service(:source_paths)
92
96
  @website.blackboard.add_service(:source_paths) { {} }
@@ -36,7 +36,7 @@ class TestTagBase < Test::Unit::TestCase
36
36
  @website.logger.level = Logger::WARN
37
37
 
38
38
  output.string = ''
39
- assert_equal({}, @obj.create_tag_params("--\nhal:param1\ntest:[;", Webgen::Tree.new.dummy_root))
39
+ assert_equal([{}, true], @obj.create_tag_params("--\nhal:param1\ntest:[;", Webgen::Tree.new.dummy_root))
40
40
  output.rewind; assert_match(/Could not parse the tag params/, output.read)
41
41
 
42
42
  output.string = ''
@@ -79,7 +79,7 @@ class TestTagBase < Test::Unit::TestCase
79
79
  end
80
80
 
81
81
  def set_params(params)
82
- @obj.set_params(@obj.send(:create_params_hash, params, Webgen::Tree.new.dummy_root))
82
+ @obj.set_params(@obj.send(:create_params_hash, params, Webgen::Tree.new.dummy_root).first)
83
83
  end
84
84
 
85
85
  end
@@ -35,7 +35,7 @@ class TestTagExecuteCommand < Test::Unit::TestCase
35
35
  end
36
36
 
37
37
  def echo_cmd(data)
38
- (Config::CONFIG['arch'].include?('mswin32') ? "echo #{data}" : "echo '#{data}'")
38
+ (Config::CONFIG['host_os'] =~ /mswin|mingw/ ? "echo #{data}" : "echo '#{data}'")
39
39
  end
40
40
 
41
41
  end
@@ -34,12 +34,13 @@ class TestTagLink < Test::Unit::TestCase
34
34
  # no path set
35
35
  node.unflag(:dirty)
36
36
  @obj.set_params('tag.link.path' => nil)
37
- assert_equal('', call(context))
38
- assert(node.flagged?(:dirty))
37
+ assert_equal('<span></span>', call(context))
38
+ assert(!node.flagged?(:dirty))
39
39
 
40
40
  # invalid paths
41
41
  @obj.set_params('tag.link.path' => ':/asdf=-)')
42
42
  assert_equal('', call(context))
43
+ assert(node.flagged?(:dirty))
43
44
 
44
45
  # basic node resolving
45
46
  @obj.set_params('tag.link.path' => 'dir/file.html')
@@ -63,7 +64,7 @@ class TestTagLink < Test::Unit::TestCase
63
64
  node.node_info[:used_meta_info_nodes] = Set.new
64
65
  @obj.set_params('tag.link.path' => 'dir/file.html')
65
66
  call(context)
66
- assert(Set.new([file.absolute_lcn]), node.node_info[:used_meta_info_nodes])
67
+ assert(Set.new([file.alcn]), node.node_info[:used_meta_info_nodes])
67
68
  end
68
69
 
69
70
  end
@@ -111,12 +111,12 @@ class TestTagMenu < Test::Unit::TestCase
111
111
  expected = [nodes[:dir1], nodes[:dir11], nodes[:file111_en], nodes[:index11_en],
112
112
  nodes[:file11_en], nodes[:file11_en_f1], nodes[:file11_en_f11], nodes[:file11_en_f2],
113
113
  nodes[:dir2], nodes[:file21_en],
114
- nodes[:dir3], nodes[:file31_en], nodes[:file31_en_f1]].collect {|n| n.absolute_lcn}
114
+ nodes[:dir3], nodes[:file31_en], nodes[:file31_en_f1]].collect {|n| n.alcn}
115
115
 
116
116
  assert_equal(expected, tree_en.to_lcn_list.flatten)
117
117
 
118
118
  tree_de = @obj.send(:menu_tree_for_lang, 'de', nodes[:root])
119
- expected = [nodes[:dir1], nodes[:dir11], nodes[:file111_de], nodes[:file1_de]].collect {|n| n.absolute_lcn}
119
+ expected = [nodes[:dir1], nodes[:dir11], nodes[:file111_de], nodes[:file1_de]].collect {|n| n.alcn}
120
120
 
121
121
  assert_equal(expected, tree_de.to_lcn_list.flatten)
122
122
  end
@@ -126,26 +126,26 @@ class TestTagMenu < Test::Unit::TestCase
126
126
 
127
127
  # testing min_levels and max_levels
128
128
  output = build_menu(nodes[:index_en], [1, 1, 1, true])
129
- expected = [nodes[:dir1], nodes[:dir2], nodes[:dir3]].collect {|n| n.absolute_lcn}
129
+ expected = [nodes[:dir1], nodes[:dir2], nodes[:dir3]].collect {|n| n.alcn}
130
130
  assert_equal(expected, output.to_lcn_list.flatten)
131
131
 
132
132
  output = build_menu(nodes[:index_en], [1, 2, 1, true])
133
- expected = [nodes[:dir1], nodes[:dir2], nodes[:dir3]].collect {|n| n.absolute_lcn}
133
+ expected = [nodes[:dir1], nodes[:dir2], nodes[:dir3]].collect {|n| n.alcn}
134
134
  assert_equal(expected, output.to_lcn_list.flatten)
135
135
 
136
136
  output = build_menu(nodes[:index_en], [1, 2, 2, true])
137
137
  expected = [nodes[:dir1], nodes[:dir11], nodes[:file11_en], nodes[:dir2], nodes[:file21_en],
138
- nodes[:dir3], nodes[:file31_en]].collect {|n| n.absolute_lcn}
138
+ nodes[:dir3], nodes[:file31_en]].collect {|n| n.alcn}
139
139
  assert_equal(expected, output.to_lcn_list.flatten)
140
140
 
141
141
  # testing show_current_subtree_only
142
142
  output = build_menu(nodes[:file11_en], [1, 1, 2, true])
143
- expected = [nodes[:dir1], nodes[:dir11], nodes[:file11_en], nodes[:dir2], nodes[:dir3]].collect {|n| n.absolute_lcn}
143
+ expected = [nodes[:dir1], nodes[:dir11], nodes[:file11_en], nodes[:dir2], nodes[:dir3]].collect {|n| n.alcn}
144
144
  assert_equal(expected, output.to_lcn_list.flatten)
145
145
 
146
146
  output = build_menu(nodes[:file11_en], [1, 1, 2, false])
147
147
  expected = [nodes[:dir1], nodes[:dir11], nodes[:file11_en], nodes[:dir2], nodes[:file21_en],
148
- nodes[:dir3], nodes[:file31_en]].collect {|n| n.absolute_lcn}
148
+ nodes[:dir3], nodes[:file31_en]].collect {|n| n.alcn}
149
149
  assert_equal(expected, output.to_lcn_list.flatten)
150
150
 
151
151
  # testing start_level
@@ -153,38 +153,38 @@ class TestTagMenu < Test::Unit::TestCase
153
153
  assert_equal([], output.to_lcn_list.flatten)
154
154
 
155
155
  output = build_menu(nodes[:file11_en], [2, 1, 2, true])
156
- expected = [nodes[:dir11], nodes[:file11_en]].collect {|n| n.absolute_lcn}
156
+ expected = [nodes[:dir11], nodes[:file11_en]].collect {|n| n.alcn}
157
157
  assert_equal(expected, output.to_lcn_list.flatten)
158
158
 
159
159
  output = build_menu(nodes[:file11_en], [2, 1, 2, false])
160
- expected = [nodes[:dir11], nodes[:file11_en]].collect {|n| n.absolute_lcn}
160
+ expected = [nodes[:dir11], nodes[:file11_en]].collect {|n| n.alcn}
161
161
  assert_equal(expected, output.to_lcn_list.flatten)
162
162
 
163
163
  output = build_menu(nodes[:file11_en], [2, 2, 2, false])
164
164
  expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en],
165
- nodes[:file11_en], nodes[:file11_en_f1], nodes[:file11_en_f2]].collect {|n| n.absolute_lcn}
165
+ nodes[:file11_en], nodes[:file11_en_f1], nodes[:file11_en_f2]].collect {|n| n.alcn}
166
166
  assert_equal(expected, output.to_lcn_list.flatten)
167
167
 
168
168
  output = build_menu(nodes[:file111_en], [2, 1, 2, true])
169
- expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en], nodes[:file11_en]].collect {|n| n.absolute_lcn}
169
+ expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en], nodes[:file11_en]].collect {|n| n.alcn}
170
170
  assert_equal(expected, output.to_lcn_list.flatten)
171
171
 
172
172
  # testing used_nodes=files setting
173
173
  output = build_menu(nodes[:file11_en], [2, 2, 2, false, 'files'])
174
- expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en], nodes[:file11_en]].collect {|n| n.absolute_lcn}
174
+ expected = [nodes[:dir11], nodes[:file111_en], nodes[:index11_en], nodes[:file11_en]].collect {|n| n.alcn}
175
175
  assert_equal(expected, output.to_lcn_list.flatten)
176
176
 
177
177
  output = build_menu(nodes[:file11_en], [1, 1, 1, true, 'files'])
178
- expected = [nodes[:dir1], nodes[:dir2]].collect {|n| n.absolute_lcn}
178
+ expected = [nodes[:dir1], nodes[:dir2]].collect {|n| n.alcn}
179
179
  assert_equal(expected, output.to_lcn_list.flatten)
180
180
 
181
181
  # testing used_nodes=fragments setting
182
182
  output = build_menu(nodes[:file11_en], [1, 1, 2, false, 'fragments'])
183
- expected = [nodes[:file11_en_f1], nodes[:file11_en_f2]].collect {|n| n.absolute_lcn}
183
+ expected = [nodes[:file11_en_f1], nodes[:file11_en_f2]].collect {|n| n.alcn}
184
184
  assert_equal(expected, output.to_lcn_list.flatten)
185
185
 
186
186
  output = build_menu(nodes[:file11_en], [1, 2, 2, false, 'fragments'])
187
- expected = [nodes[:file11_en_f1], nodes[:file11_en_f11], nodes[:file11_en_f2]].collect {|n| n.absolute_lcn}
187
+ expected = [nodes[:file11_en_f1], nodes[:file11_en_f11], nodes[:file11_en_f2]].collect {|n| n.alcn}
188
188
  assert_equal(expected, output.to_lcn_list.flatten)
189
189
  end
190
190
 
@@ -1,6 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  require 'test/unit'
4
+ require 'helper'
4
5
  require 'webgen/tree'
5
6
  require 'webgen/contentprocessor'
6
7
  require 'webgen/tag'
@@ -20,7 +20,7 @@ class TestTagRelocatable < Test::Unit::TestCase
20
20
  end
21
21
 
22
22
  def test_call
23
- root = Webgen::Node.new(Webgen::Tree.new.dummy_root, '/', '/')
23
+ root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
24
24
  node = Webgen::Node.new(root, '/file.html', 'file.html', {'lang' => 'en'})
25
25
  dir = Webgen::Node.new(root, '/dir/', 'dir/', 'index_path' => "index.html")
26
26
  file = Webgen::Node.new(dir, '/dir/file.html', 'file.html', {'lang' => 'en'})
@@ -34,6 +34,7 @@ class TestTagRelocatable < Test::Unit::TestCase
34
34
  # basic node resolving
35
35
  @obj.set_params('tag.relocatable.path' => 'dir/file.html')
36
36
  assert_equal('dir/file.html', call(context))
37
+ assert(context.dest_node.node_info[:used_meta_info_nodes].include?(file.alcn))
37
38
  @obj.set_params('tag.relocatable.path' => 'dir/other.html')
38
39
  assert_equal('', call(context))
39
40
 
@@ -25,7 +25,7 @@ class TestTagTikZ < Test::Unit::TestCase
25
25
  end
26
26
 
27
27
  def test_call
28
- root = Webgen::Node.new(Webgen::Tree.new.dummy_root, '/', '/')
28
+ root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
29
29
  node = Webgen::Node.new(root, '/file.html', 'file.page')
30
30
  context = Webgen::Context.new(:chain => [node])
31
31
 
@@ -55,14 +55,14 @@ class TestTagTikZ < Test::Unit::TestCase
55
55
  end
56
56
 
57
57
  def test_run_command
58
- root = Webgen::Node.new(Webgen::Tree.new.dummy_root, '/', '/')
58
+ root = Webgen::Node.new(@website.tree.dummy_root, '/', '/')
59
59
  context = Webgen::Context.new(:chain => [root])
60
60
  assert_equal("hallo\n", @obj.send(:run_command, echo_cmd('hallo'), context))
61
61
  assert_nil(@obj.send(:run_command, 'unknown_command 2>&1', context))
62
62
  end
63
63
 
64
64
  def echo_cmd(data)
65
- (Config::CONFIG['arch'].include?('mswin32') ? "echo #{data}" : "echo '#{data}'")
65
+ (Config::CONFIG['host_os'] =~ /mswin|mingw/ ? "echo #{data}" : "echo '#{data}'")
66
66
  end
67
67
 
68
68
 
data/test/test_tree.rb CHANGED
@@ -15,24 +15,24 @@ class TestTree < Test::Unit::TestCase
15
15
 
16
16
  def test_initialize
17
17
  assert_not_nil(@tree.dummy_root)
18
- assert_equal('', @tree.dummy_root.absolute_lcn)
18
+ assert_equal('', @tree.dummy_root.alcn)
19
19
  end
20
20
 
21
21
  def test_root
22
22
  root = Webgen::Node.new(@tree.dummy_root, '/', '/')
23
23
  assert_equal(root, @tree.root)
24
- assert_equal('/', root.absolute_lcn)
24
+ assert_equal('/', root.alcn)
25
25
  end
26
26
 
27
27
  def test_register_node_and_register_path
28
28
  # Tree#register_node/_path is called when creating a node
29
- node = Webgen::Node.new(@tree.dummy_root, 'dummy/', 'dummy')
30
- assert_equal(node, @tree['/dummy', :alcn])
31
- assert_equal(node, @tree['/dummy', :acn])
32
- assert_equal(node, @tree['dummy/', :path])
29
+ node = Webgen::Node.new(@tree.dummy_root, '/', '/')
30
+ assert_equal(node, @tree['/', :alcn])
31
+ assert_equal(node, @tree['/', :acn])
32
+ assert_equal(node, @tree['/', :path])
33
33
  assert_raise(RuntimeError) { Webgen::Node.new(@tree.dummy_root, '/', 'dummy') }
34
- assert_raise(RuntimeError) { Webgen::Node.new(@tree.dummy_root, 'dummy/', 'other') }
35
- assert_nothing_raised { Webgen::Node.new(@tree.dummy_root, 'dummy/', 'unknown', {'no_output' => true}) }
34
+ assert_raise(RuntimeError) { Webgen::Node.new(@tree.dummy_root, 'dummy', '/') }
35
+ assert_nothing_raised { Webgen::Node.new(@tree.dummy_root, '/', 'unknown', {'no_output' => true}) }
36
36
  Webgen::Node.new(@tree.dummy_root, 'new', 'new', {'no_output' => true})
37
37
  assert(!@tree['new', :path])
38
38
  end
data/test/test_website.rb CHANGED
@@ -57,6 +57,19 @@ class TestWebsite < Test::Unit::TestCase
57
57
  assert(ws.config['website.cache'][1].length == 0)
58
58
  end
59
59
 
60
+ def test_render
61
+ dir = File.join(Dir.tmpdir, 'webgen-' + Process.pid.to_s)
62
+ FileUtils.mkdir_p(dir)
63
+ FileUtils.mkdir_p(File.join(dir, 'src'))
64
+ FileUtils.touch(File.join(dir, 'src', 'test.jpg'))
65
+
66
+ ws = Webgen::Website.new(dir, nil)
67
+ assert_equal(:success, ws.render)
68
+ assert_equal(:success, ws.render)
69
+ ensure
70
+ FileUtils.rm_rf(dir)
71
+ end
72
+
60
73
  def test_execute_in_env
61
74
  ws = Webgen::Website.new('hallo')
62
75
  assert_nil(Webgen::WebsiteAccess.website)
@@ -110,6 +123,8 @@ class TestWebsite < Test::Unit::TestCase
110
123
  assert(File.directory?(File.join(dir, 'out')))
111
124
  ws.clean(true)
112
125
  assert(!File.directory?(File.join(dir, 'out')))
126
+ ensure
127
+ FileUtils.rm_rf(dir)
113
128
  end
114
129
 
115
130
  end