69140669125f97c394cff11b6f6169a61843f63c
[librarian.git] / tests / test_html.py
1 # -*- coding: utf-8 -*-
2 #
3 #    This file is part of Librarian.
4 #
5 #    Copyright © 2008,2009,2010 Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org.pl>
6 #    
7 #    For full list of contributors see AUTHORS file. 
8 #
9 #    This program is free software: you can redistribute it and/or modify
10 #    it under the terms of the GNU Affero General Public License as published by
11 #    the Free Software Foundation, either version 3 of the License, or
12 #    (at your option) any later version.
13 #
14 #    This program is distributed in the hope that it will be useful,
15 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
16 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 #    GNU Affero General Public License for more details.
18 #
19 #    You should have received a copy of the GNU Affero General Public License
20 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 #
22 from librarian import html, NoDublinCore
23 from nose.tools import *
24 from utils import get_fixture, remove_output_file
25
26 def teardown_transform():
27     remove_output_file('text', 'asnyk_miedzy_nami.html')
28
29
30 @with_setup(None, teardown_transform)
31 def test_transform():
32     output_file_path = get_fixture('text', 'asnyk_miedzy_nami.html')
33     expected_output_file_path = get_fixture('text', 'asnyk_miedzy_nami_expected.html')
34     
35     html.transform(
36         get_fixture('text', 'asnyk_miedzy_nami.xml'),
37         output_file_path,
38     )
39     
40     assert_equal(file(output_file_path).read(), file(expected_output_file_path).read())
41
42
43 @with_setup(None, teardown_transform)
44 @raises(NoDublinCore)
45 def test_no_dublincore():
46     html.transform(
47         get_fixture('text', 'asnyk_miedzy_nami_nodc.xml'),
48         get_fixture('text', 'asnyk_miedzy_nami_nodc.html'),
49     )
50
51
52 @with_setup(None, teardown_transform)
53 def test_passing_parse_dublincore_to_transform():
54     """Passing parse_dublincore=False to transform omits DublinCore parsing."""
55     html.transform(
56         get_fixture('text', 'asnyk_miedzy_nami_nodc.xml'),
57         get_fixture('text', 'asnyk_miedzy_nami.html'),
58         parse_dublincore=False,
59     )