def test_website_set_parent_pages(): pages = [ elements.Page('Test 1', 'test1', [ elements.SubPage('sp11', 'sp11'), elements.SubPage('sp12', 'sp12') ]), elements.Page('Test 2', 'test2', [ elements.SubPage('sp21', 'sp21'), elements.SubPage('sp22', 'sp22') ]), ] website = elements.Website({ 'root_dir': 'test_root_dir', 'project_name': 'test_project_name', 'pages': pages }) sub_pages = [ page for page in website.pages if type(pages) is elements.SubPage ] for sub_page in sub_pages: assert sub_page.parent_page is None website.set_parent_pages() sub_pages = [ page for page in website.pages if type(pages) is elements.SubPage ] for sub_page in sub_pages: assert sub_page.parent_page in ['test1', 'test2']
def test_set_css_path_of_subpage(): page = elements.SubPage('test', 'Test') page.set_css_path(True, 'flat') assert page.css_path == './main.css' other_page = elements.SubPage('test', 'Test') other_page.set_css_path(True, 'nested') assert other_page.css_path == '../main.css'
def test_page_generate_content_menu_with_nested_url_style(): page = elements.Page('Test', 'test', [ elements.SubPage('Sub Page 1', 'subpage1'), elements.SubPage('Sub Page 2', 'subpage2'), elements.SubPage('Sub Page 3', 'subpage3'), ]) result_menu = '#Test\n- [Sub Page 1](./test/subpage1.html)\n- [Sub Page 2](./test/subpage2.html)\n- [Sub Page ' \ '3](./test/subpage3.html)\n' assert result_menu == page.generate_content_menu('nested')
def test_generate_subpage_nested(): pages = [ elements.Page('Test Page', 'test_page', [elements.SubPage('Test SubPage', 'test_subpage')]) ] website = elements.Website({ 'root_dir': os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fixtures', 'test_project'), 'project_name': 'test_project_name', 'pages': pages, 'url_style': 'nested', }) website.generate_pages() page_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fixtures', 'test_project', 'test_page.html') subpage_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fixtures', 'test_project', 'test_page', 'test_subpage.html') assert os.path.exists(page_path) assert os.path.exists(subpage_path) os.remove(page_path) shutil.rmtree( os.path.join(os.path.dirname(os.path.abspath(__file__)), 'fixtures', 'test_project', 'test_page'))
def test_relative_path_from_page_to_sub_page_with_nested_url_style_and_debug_on(): from_page = elements.Page('test 1', 'test1') parent_page = elements.Page('test 2', 'test2') to_page = elements.SubPage('test 3', 'test3') to_page.parent_page = parent_page.file_name relative_path = to_page.get_relative_path(from_page, 'nested', True) assert relative_path == './test2/test3.html'
def test_set_css_path_with_no_debug(): page = elements.Page('test', 'Test') page.set_css_path() assert page.css_path == '/main.min.css' sub_page = elements.SubPage('test', 'Test') sub_page.set_css_path() assert sub_page.css_path == '/main.min.css' unlinked_page = elements.UnlinkedPage('test', 'Test', ['path', 'to', 'page']) unlinked_page.set_css_path() assert unlinked_page.css_path == '/main.min.css'
def test_subpage_cannot_have_subpages(): with pytest.raises(TypeError): elements.SubPage('Test', 'test', [elements.SubPage('Test', 'test')])
def test_subpage(): sub_page = elements.SubPage('Test', 'test') assert sub_page.title == 'Test' assert sub_page.file_name == 'test'
def test_relative_path_from_unlinked_page_to_subpage_with_flat_url_style_and_debug_on(): to_page = elements.SubPage('test 1', 'test2') to_page.parent_page = 'test3' from_page = elements.UnlinkedPage('test 2', 'test2', ['path', 'to', 'the', 'page']) relative_path = to_page.get_relative_path(from_page, 'flat', True) assert relative_path == '../../../../test2.html'
def test_relative_path_from_subpage_to_subpage_with_nested_url_style_and_debug_on(): to_page = elements.SubPage('test 1', 'test2') from_page = elements.SubPage('test 2', 'test2') to_page.parent_page = 'test3' relative_path = to_page.get_relative_path(from_page, 'nested', True) assert relative_path == '../test3/test2.html'
def test_relative_path_from_subpage_to_subpage_with_flat_url_style_and_debug_on(): to_page = elements.SubPage('test 1', 'test2') from_page = elements.SubPage('test 2', 'test2') relative_path = to_page.get_relative_path(from_page, 'flat', True) assert relative_path == './test2.html'
def test_relative_path_of_index_page_with_debug_off(): from_page = elements.SubPage('test 1', 'test2') to_page = elements.Page('Home', 'index') relative_path = to_page.get_relative_path(from_page) assert relative_path == '/'
def test_relative_path_from_subpage_to_unlinked_page_with_debug_on(): from_page = elements.SubPage('test 1', 'test1') to_page = elements.UnlinkedPage('test 2', 'test2', ['path', 'to', 'page']) relative_path = to_page.get_relative_path(from_page, 'nested', True) assert relative_path == '../path/to/page/test2.html'
def test_relative_path_from_subpage_to_unlinked_page_with_flat_url_style_debug_off(): from_page = elements.SubPage('test 1', 'test1') to_page = elements.UnlinkedPage('test 2', 'test2', ['path', 'to', 'page']) relative_path = to_page.get_relative_path(from_page, 'flat', False) assert relative_path == '/path/to/page/test2'
def test_relative_path_from_sub_page_to_page_with_flat_url_style_and_debug_off(): from_page = elements.SubPage('test 3', 'test3') to_page = elements.Page('test 1', 'test1') relative_path = to_page.get_relative_path(from_page, 'flat', False) assert relative_path == '/test1'
def test_page_with_sub_pages(): sub_page = elements.SubPage('Sub Test', 'subtest') page = elements.Page('Test', 'test', [sub_page]) assert page.title == 'Test' assert page.file_name == 'test' assert page.sub_pages == [sub_page]