~jaap.karssenberg/zim/pyzim-0.43-backports

« back to all changes in this revision

Viewing changes to tests/__init__.py

  • Committer: Jaap Karssenberg
  • Date: 2008-09-29 16:39:44 UTC
  • Revision ID: pardus@mirage-20080929163944-dqvdm6fciacc76wj
Added code for resolving page names

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
'''Zim test suite'''
6
6
 
7
 
__all__ = ['fs', 'templates', 'stores']
 
7
import codecs
 
8
 
 
9
__all__ = ['fs', 'formats', 'templates', 'stores', 'notebook']
 
10
 
 
11
def get_notebook_data(format):
 
12
        '''Generator function for test data'''
 
13
        assert format == 'wiki' # No other formats available for now
 
14
        file = codecs.open('tests/notebook-wiki.txt', encoding='utf8')
 
15
        pagename = None
 
16
        buffer = u''
 
17
        for line in file:
 
18
                if line.startswith('%%%%'):
 
19
                        # new page start, yield previous page
 
20
                        if not pagename is None:
 
21
                                yield (pagename, buffer)
 
22
                        pagename = line.strip('% \n')
 
23
                        buffer = u''
 
24
                else:
 
25
                        buffer += line
 
26
        yield (pagename, buffer)
 
27
 
 
28
def     get_test_notebook(format='wiki'):
 
29
        '''Returns a notebook with a memory store and some test data'''
 
30
        notebook = Notebook()
 
31
        store = notebook.add_store('', 'memory')
 
32
        for name, text in get_notebook_data(format):
 
33
                        store._set_node(name, text)
 
34
        return notebook