summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristoph Schlosser <christoph@linux.com>2025-09-18 22:05:48 +0200
committerChristoph Schlosser <christoph@linux.com>2025-09-18 22:05:48 +0200
commit74cd345f76dd01034c804f75e7f16b42e9c0643c (patch)
treeb1105460df469168e052ec278bbb9b96a829ca33 /tests
parentf2056d0a59cd7234610dd7da1ea2c3e2a4be0f00 (diff)
downloadgit2hugo-74cd345f76dd01034c804f75e7f16b42e9c0643c.tar.gz
g2h: Add breadcrumb navigations to file and tree pages
Diffstat (limited to 'tests')
-rw-r--r--tests/file_page_test.py2
-rw-r--r--tests/file_test.py14
-rw-r--r--tests/tree_page_test.py2
3 files changed, 15 insertions, 3 deletions
diff --git a/tests/file_page_test.py b/tests/file_page_test.py
index a1123de..3fff51e 100644
--- a/tests/file_page_test.py
+++ b/tests/file_page_test.py
@@ -41,6 +41,7 @@ def test_context():
assert(context['file_extension'] == 'txt')
assert(context['title'] == 'file test: test_file.txt')
assert(context['type'] == 'text')
+ assert(context['breadcrumbs'] == '[/](/file/content/123/t/)/[test_file.txt](/file/content/123/t/test_file.txt)')
def test_context_dot_file():
file = MagicMock()
@@ -57,6 +58,7 @@ def test_context_dot_file():
assert(context['file_extension'] == '')
assert(context['title'] == 'file test: .file')
assert(context['type'] == 'text')
+ assert(context['breadcrumbs'] == '[/](/file/content/123/t/)/[.file](/file/content/123/t/_file)')
def test_bytes_to_content_text():
content, type = bytes_to_content('test'.encode())
diff --git a/tests/file_test.py b/tests/file_test.py
index 838df71..d1b40bd 100644
--- a/tests/file_test.py
+++ b/tests/file_test.py
@@ -1,9 +1,9 @@
import os
import pytest
-from unittest.mock import Mock
+from unittest.mock import MagicMock, Mock
-from g2h.file import sanitize_file_name, tree_join
+from g2h.file import generate_breadcrumbs, sanitize_file_name, tree_join
def test_sanitize_not_necessary():
assert(sanitize_file_name('foo', None) == 'foo')
@@ -24,3 +24,13 @@ def test_tree_join():
commit = Mock()
commit.hexsha = '123'
assert(tree_join(commit, 'test') == os.path.join('123', 't', 'test'))
+
+def test_generate_breadcrumbs():
+ commit = Mock()
+ commit.hexsha = '123'
+ assert(generate_breadcrumbs('', commit, '', None) == '[/](/123/t/)')
+ assert(generate_breadcrumbs('', commit, 'sub', None) == '[/](/123/t/)/[sub](/123/t/sub)')
+ assert(generate_breadcrumbs('', commit, 'sub/dir', None) == '[/](/123/t/)/[sub](/123/t/sub)/[dir](/123/t/sub/dir)')
+ assert(generate_breadcrumbs('', commit, 'sub/dir/file.txt', None) == '[/](/123/t/)/[sub](/123/t/sub)/[dir](/123/t/sub/dir)/[file.txt](/123/t/sub/dir/file.txt)')
+ assert(generate_breadcrumbs('content sub', commit, 'sub', None) == '[/](/content sub/123/t/)/[sub](/content sub/123/t/sub)')
+ assert(generate_breadcrumbs('', commit, 'sub/.file', MagicMock()) == '[/](/123/t/)/[sub](/123/t/sub)/[.file](/123/t/sub/_file)')
diff --git a/tests/tree_page_test.py b/tests/tree_page_test.py
index 891e940..a298728 100644
--- a/tests/tree_page_test.py
+++ b/tests/tree_page_test.py
@@ -53,6 +53,7 @@ def test_context_empty():
assert(context['content_subdir'] == '')
assert(context['subdir'] == '/123/t/tree/path')
assert(context['title'] == 'tree test: Tree')
+ assert(context['breadcrumbs'] == '[/](/123/t/)')
def test_context_entries():
tree = MagicMock()
@@ -111,7 +112,6 @@ def test_get_files():
commit.tree = tree
expected = []
for case in [ None, '.file', 'README', 'main.cc' ]:
- print(str(case))
if case:
add_node(tree, case)
expected.append(case)