|
|
|
|
@ -3,7 +3,7 @@
|
|
|
|
|
import os |
|
|
|
|
import pytest |
|
|
|
|
|
|
|
|
|
from sigal.gallery import PathsDb, get_metadata |
|
|
|
|
from sigal.gallery import Gallery, PathsDb, get_metadata |
|
|
|
|
from sigal.settings import read_settings |
|
|
|
|
|
|
|
|
|
CURRENT_DIR = os.path.dirname(__file__) |
|
|
|
|
@ -30,9 +30,9 @@ REF = {
|
|
|
|
|
'title': 'Another example gallery with a very long name', |
|
|
|
|
'thumbnail': 'm57_the_ring_nebula-587px.jpg', |
|
|
|
|
'medias': ['exo20101028-b-full.jpg', |
|
|
|
|
'm57_the_ring_nebula-587px.jpg', |
|
|
|
|
'Hubble ultra deep field.jpg', |
|
|
|
|
'Hubble Interacting Galaxy NGC 5257.jpg'], |
|
|
|
|
'm57_the_ring_nebula-587px.jpg', |
|
|
|
|
'Hubble ultra deep field.jpg', |
|
|
|
|
'Hubble Interacting Galaxy NGC 5257.jpg'], |
|
|
|
|
}, |
|
|
|
|
u'accentué': { |
|
|
|
|
'title': u'Accentué', |
|
|
|
|
@ -54,7 +54,7 @@ def paths():
|
|
|
|
|
default_conf = os.path.join(SAMPLE_DIR, 'sigal.conf.py') |
|
|
|
|
settings = read_settings(default_conf) |
|
|
|
|
return PathsDb(os.path.join(SAMPLE_DIR, 'pictures'), |
|
|
|
|
settings['img_ext_list'], settings['vid_ext_list']) |
|
|
|
|
settings['img_ext_list'], settings['vid_ext_list']) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope='module') |
|
|
|
|
@ -64,16 +64,17 @@ def db(paths):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_filelist(db): |
|
|
|
|
assert set(db.keys()) == set(['paths_list', 'skipped_dir', '.', |
|
|
|
|
'dir1', 'dir2', 'dir1/test1', 'dir1/test2', u'accentué', 'video']) |
|
|
|
|
assert set(db.keys()) == set([ |
|
|
|
|
'paths_list', 'skipped_dir', '.', 'dir1', 'dir2', 'dir1/test1', |
|
|
|
|
'dir1/test2', u'accentué', 'video']) |
|
|
|
|
|
|
|
|
|
assert set(db['paths_list']) == set(['.', 'dir1', 'dir1/test1', |
|
|
|
|
'dir1/test2', 'dir2', u'accentué', 'video']) |
|
|
|
|
assert set(db['paths_list']) == set([ |
|
|
|
|
'.', 'dir1', 'dir1/test1', 'dir1/test2', 'dir2', u'accentué', 'video']) |
|
|
|
|
|
|
|
|
|
assert set(db['skipped_dir']) == set(['empty', 'dir1/empty']) |
|
|
|
|
assert db['.']['medias'] == [] |
|
|
|
|
assert set(db['.']['subdir']) == set([u'accentué', 'dir1', 'dir2', |
|
|
|
|
'video']) |
|
|
|
|
'video']) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_title(db): |
|
|
|
|
@ -93,9 +94,8 @@ def test_medialist(db):
|
|
|
|
|
|
|
|
|
|
def test_get_subdir(paths): |
|
|
|
|
assert set(paths.get_subdirs('dir1')) == set(['dir1/test1', 'dir1/test2']) |
|
|
|
|
assert set(paths.get_subdirs('.')) == set(['dir1', 'dir2', 'dir1/test1', |
|
|
|
|
'dir1/test2', u'accentué', |
|
|
|
|
'video']) |
|
|
|
|
assert set(paths.get_subdirs('.')) == set([ |
|
|
|
|
'dir1', 'dir2', 'dir1/test1', 'dir1/test2', u'accentué', 'video']) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_get_metadata(): |
|
|
|
|
@ -110,14 +110,19 @@ def test_get_metadata():
|
|
|
|
|
assert m['thumbnail'] == REF['dir2']['thumbnail'] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# class TestGallery(unittest.TestCase): |
|
|
|
|
# "Test the Gallery class." |
|
|
|
|
def test_gallery(tmpdir): |
|
|
|
|
"Test the Gallery class." |
|
|
|
|
|
|
|
|
|
default_conf = os.path.join(SAMPLE_DIR, 'sigal.conf.py') |
|
|
|
|
settings = read_settings(default_conf) |
|
|
|
|
settings['destination'] = str(tmpdir) |
|
|
|
|
gal = Gallery(settings) |
|
|
|
|
gal.build() |
|
|
|
|
|
|
|
|
|
out_html = os.path.join(settings['destination'], 'index.html') |
|
|
|
|
assert os.path.isfile(out_html) |
|
|
|
|
|
|
|
|
|
# @classmethod |
|
|
|
|
# def setUp(cls): |
|
|
|
|
# """Read the sample config file.""" |
|
|
|
|
with open(out_html, 'r') as f: |
|
|
|
|
html = f.read() |
|
|
|
|
|
|
|
|
|
# default_conf = os.path.join(CURRENT_DIR, 'sample', 'sigal.conf.py') |
|
|
|
|
# settings = read_settings(default_conf) |
|
|
|
|
# cls.gal = Gallery(settings, os.path.join(CURRENT_DIR, 'sample'), |
|
|
|
|
# os.path.join(CURRENT_DIR, 'output')) |
|
|
|
|
assert '<title>Sigal test gallery</title>' in html |
|
|
|
|
|