~ubuntu-branches/ubuntu/precise/pida/precise

« back to all changes in this revision

Viewing changes to pida/tests/services/buffermanager.py

  • Committer: Bazaar Package Importer
  • Author(s): Jan Luebbe
  • Date: 2007-04-17 16:08:06 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20070417160806-3ttlb6igf94x9i03
Tags: 0.4.4-1
* New upstream release (closes: #419129)
* Add dependency on python-glade2 (closes: #418716)
* Update copyright

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
from pida.core.testing import test, assert_in, assert_equal, block_delay,\
 
3
    assert_notequal
 
4
 
 
5
import gobject
 
6
import os
 
7
 
 
8
def bm(boss):
 
9
    return boss.get_service('buffermanager')
 
10
 
 
11
def docs(boss):
 
12
    return bm(boss).call('get_documents')
 
13
 
 
14
def curdoc(boss):
 
15
    return bm(boss)._Buffermanager__currentdocument
 
16
 
 
17
def bd(boss):
 
18
    if boss.get_service('editormanager').editor.NAME.startswith('vim'):
 
19
        block_delay(1)
 
20
    else:
 
21
        pass
 
22
 
 
23
@test
 
24
def start_up(boss):
 
25
    b = bm(boss)
 
26
    assert_equal({}, docs(boss))
 
27
 
 
28
@test
 
29
def open_file(boss):
 
30
    b = bm(boss)
 
31
    b.call('open_file', filename='/etc/passwd')
 
32
    bd(boss)
 
33
    assert_equal(1, len(docs(boss)))
 
34
    for doc in docs(boss).values():
 
35
        assert_equal(doc, curdoc(boss))
 
36
 
 
37
@test
 
38
def close_document(boss):
 
39
    # opened file from the previous test
 
40
    b = bm(boss)
 
41
    assert_equal(1, len(docs(boss)))
 
42
    for doc in docs(boss).values():
 
43
        b.call('close_document', document=doc)
 
44
    block_delay(1)
 
45
    assert_equal(0, len(docs(boss)))
 
46
 
 
47
@test
 
48
def open_some_documents(boss):
 
49
    b = bm(boss)
 
50
    assert_equal(0, len(docs(boss)))
 
51
    for fn in ['/etc/passwd', '/etc/profile', '/etc/aliases']:
 
52
        b.call('open_file', filename=fn)
 
53
    bd(boss)
 
54
    assert_equal(3, len(docs(boss)))
 
55
 
 
56
@test
 
57
def close_some_documents(boss):
 
58
    """This test fails in vim."""
 
59
    b = bm(boss)
 
60
    assert_equal(3, len(docs(boss)))
 
61
    b.call('close_documents', documents=docs(boss).values())
 
62
    block_delay(1)
 
63
    assert_equal(0, len(docs(boss)))
 
64
 
 
65
#@test
 
66
def open_many_documents(boss):
 
67
    b = bm(boss)
 
68
    hdir = os.path.expanduser('~')
 
69
    slen = len(docs(boss))
 
70
    fs = 0
 
71
    for name in os.listdir(hdir):
 
72
        path = os.path.join(hdir, name)
 
73
        if os.path.isfile(path):
 
74
            try:
 
75
                b.call('open_file', filename=path)
 
76
                fs = fs + 1
 
77
            except:
 
78
                pass
 
79
            if fs == 30:
 
80
                break
 
81
    assert_equal(slen+30, len(docs(boss)))
 
82
    
 
83
#@test
 
84
def close_many_documents(boss):
 
85
    """This test fails in vim."""
 
86
    b = bm(boss)
 
87
    b.call('close_documents', documents=docs(boss).values())
 
88
    block_delay(3)
 
89
    assert_equal(0, len(docs(boss)))
 
90
 
 
91
@test
 
92
def current_document(boss):
 
93
    b = bm(boss)
 
94
    b.call('open_file', filename='/etc/passwd')
 
95
    assert_equal(curdoc(boss).filename, '/etc/passwd')
 
96
 
 
97
@test
 
98
def auto_select_after_close(boss):
 
99
    b = bm(boss)
 
100
    for fn in ['/etc/passwd', '/etc/profile', '/etc/aliases']:
 
101
        b.call('open_file', filename=fn)
 
102
    bd(boss)
 
103
    b.call('close_file', filename='/etc/passwd')
 
104
    bd(boss)
 
105
    assert_notequal(curdoc(boss), None)
 
106
 
 
107
    
 
108
        
 
109
    
 
110
    
 
111
        
 
112