예제 #1
0
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']
예제 #2
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #3
0
파일: test_page.py 프로젝트: xassbit/zorn
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')
예제 #4
0
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'))
예제 #5
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #6
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #7
0
파일: test_page.py 프로젝트: xassbit/zorn
def test_subpage_cannot_have_subpages():
    with pytest.raises(TypeError):
        elements.SubPage('Test', 'test', [elements.SubPage('Test', 'test')])
예제 #8
0
파일: test_page.py 프로젝트: xassbit/zorn
def test_subpage():
    sub_page = elements.SubPage('Test', 'test')
    assert sub_page.title == 'Test'
    assert sub_page.file_name == 'test'
예제 #9
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #10
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #11
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #12
0
파일: test_page.py 프로젝트: xassbit/zorn
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 == '/'
예제 #13
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #14
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #15
0
파일: test_page.py 프로젝트: xassbit/zorn
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'
예제 #16
0
파일: test_page.py 프로젝트: xassbit/zorn
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]