diff --git a/lib/gollum/file_view.rb b/lib/gollum/file_view.rb
index 6af63caf..2be5071a 100644
--- a/lib/gollum/file_view.rb
+++ b/lib/gollum/file_view.rb
@@ -15,7 +15,7 @@ module Gollum
def new_page page
name = page.name
- url = page.filename_stripped
+ url = ::File.join(::File.dirname(page.path), page.filename_stripped)
%Q(
#{name} \n)
end
diff --git a/test/file_view/1_file.txt b/test/file_view/1_file.txt
index 6f65a3a3..d0c72ff9 100644
--- a/test/file_view/1_file.txt
+++ b/test/file_view/1_file.txt
@@ -1,3 +1,3 @@
- 0
+ 0
\ No newline at end of file
diff --git a/test/file_view/2_files_2_folders.txt b/test/file_view/2_files_2_folders.txt
index a481bb0e..05a8799a 100644
--- a/test/file_view/2_files_2_folders.txt
+++ b/test/file_view/2_files_2_folders.txt
@@ -2,11 +2,11 @@
folder0
- 0
+ 0
folder1
- 1
+ 1
\ No newline at end of file
diff --git a/test/file_view/2_files_2_folders_1_root.txt b/test/file_view/2_files_2_folders_1_root.txt
index 95ba363b..d648b641 100644
--- a/test/file_view/2_files_2_folders_1_root.txt
+++ b/test/file_view/2_files_2_folders_1_root.txt
@@ -1,13 +1,13 @@
- root
+ root
folder0
- 0
+ 0
folder1
- 1
+ 1
\ No newline at end of file
diff --git a/test/file_view/nested_folders.txt b/test/file_view/nested_folders.txt
index d026e8be..5094929d 100644
--- a/test/file_view/nested_folders.txt
+++ b/test/file_view/nested_folders.txt
@@ -8,13 +8,13 @@
folder2
- 0
+ 0
folder3
- 1
+ 1
@@ -24,5 +24,5 @@
folder4
- 2
+ 2
\ No newline at end of file
diff --git a/test/test_file_view.rb b/test/test_file_view.rb
index 744e479e..a801b89b 100644
--- a/test/test_file_view.rb
+++ b/test/test_file_view.rb
@@ -57,56 +57,46 @@ def read file
end
# For creating expected files.
+# write name, actual
def write file, content
File.open(@@test_path + file + '.txt', 'w') do | f |
f.write content
end
end
+def check name, pages_array
+ pages = FakePages.new pages_array
+ expected = read name
+ actual = view pages
+ assert_equal expected, actual
+end
+
# Test Notes
# root files must be before any folders.
# Home.md => file at root folder
# docs/sanitization.md => file within folder
context 'file_view' do
test 'one file' do
- pages = FakePages.new [ '0.md' ]
- expected = read '1_file'
- actual = view pages
- assert_equal expected, actual
+ check '1_file', [ '0.md' ]
end
test 'one folder' do
- pages = FakePages.new [ 'folder0/' ]
- expected = read '1_folder'
- actual = view pages
- assert_equal expected, actual
+ check '1_folder', [ 'folder0/' ]
end
test 'one file with one folder' do
- pages = FakePages.new [ 'folder0/0.md' ]
- expected = read '1_file_1_folder'
- actual = view pages
- assert_equal expected, actual
+ check '1_file_1_folder', [ 'folder0/0.md' ]
end
test 'two files with two folders' do
- pages = FakePages.new [ 'folder0/0.md', 'folder1/1.md' ]
- expected = read '2_files_2_folders'
- actual = view pages
- assert_equal expected, actual
+ check '2_files_2_folders', [ 'folder0/0.md', 'folder1/1.md' ]
end
test 'two files with two folders and one root file' do
- pages = FakePages.new [ 'root.md', 'folder0/0.md', 'folder1/1.md' ]
- expected = read '2_files_2_folders_1_root'
- actual = view pages
- assert_equal expected, actual
+ check '2_files_2_folders_1_root', [ 'root.md', 'folder0/0.md', 'folder1/1.md' ]
end
test 'nested folders' do
- pages = FakePages.new [ 'folder0/folder1/folder2/0.md', 'folder0/folder1/folder3/1.md', 'folder4/2.md' ]
- expected = read 'nested_folders'
- actual = view pages
- assert_equal expected, actual
+ check 'nested_folders', [ 'folder0/folder1/folder2/0.md', 'folder0/folder1/folder3/1.md', 'folder4/2.md' ]
end
end # context