##// END OF EJS Templates
Fixing pep-8 conformance issues
Jorgen Stenarson -
Show More
@@ -1,231 +1,231 b''
1 # encoding: utf-8
1 # encoding: utf-8
2
2
3 """Tests for genutils.py"""
3 """Tests for genutils.py"""
4
4
5 __docformat__ = "restructuredtext en"
5 __docformat__ = "restructuredtext en"
6
6
7 #-----------------------------------------------------------------------------
7 #-----------------------------------------------------------------------------
8 # Copyright (C) 2008 The IPython Development Team
8 # Copyright (C) 2008 The IPython Development Team
9 #
9 #
10 # Distributed under the terms of the BSD License. The full license is in
10 # Distributed under the terms of the BSD License. The full license is in
11 # the file COPYING, distributed as part of this software.
11 # the file COPYING, distributed as part of this software.
12 #-----------------------------------------------------------------------------
12 #-----------------------------------------------------------------------------
13
13
14 #-----------------------------------------------------------------------------
14 #-----------------------------------------------------------------------------
15 # Imports
15 # Imports
16 #-----------------------------------------------------------------------------
16 #-----------------------------------------------------------------------------
17
17
18 from IPython import genutils
18 from IPython import genutils
19 from IPython.testing.decorators import skipif
19 from IPython.testing.decorators import skipif
20 from nose import with_setup
20 from nose import with_setup
21 from nose.tools import raises
21 from nose.tools import raises
22
22
23 from os.path import join, abspath, split
23 import os, sys, IPython
24 import os, sys, IPython
24 env = os.environ
25
25
26 from os.path import join, abspath, split
26 env = os.environ
27
27
28 try:
28 try:
29 import _winreg as wreg
29 import _winreg as wreg
30 except ImportError:
30 except ImportError:
31 #Fake _winreg module on none windows platforms
31 #Fake _winreg module on none windows platforms
32 import new
32 import new
33 sys.modules["_winreg"] = new.module("_winreg")
33 sys.modules["_winreg"] = new.module("_winreg")
34 import _winreg as wreg
34 import _winreg as wreg
35 #Add entries that needs to be stubbed by the testing code
35 #Add entries that needs to be stubbed by the testing code
36 (wreg.OpenKey, wreg.QueryValueEx,) = (None, None)
36 (wreg.OpenKey, wreg.QueryValueEx,) = (None, None)
37
37
38 test_file_path = split(abspath(__file__))[0]
38 test_file_path = split(abspath(__file__))[0]
39
39
40 #skip_if_not_win32 = skipif(sys.platform!='win32',"This test only runs under Windows")
40 #skip_if_not_win32 = skipif(sys.platform!='win32',"This test only runs under Windows")
41
41
42 def setup_environment():
42 def setup_environment():
43 global oldstuff, platformstuff
43 global oldstuff, platformstuff
44 oldstuff = (env.copy(), os.name, genutils.get_home_dir, IPython.__file__,)
44 oldstuff = (env.copy(), os.name, genutils.get_home_dir, IPython.__file__,)
45
45
46 if os.name == 'nt':
46 if os.name == 'nt':
47 platformstuff = (wreg.OpenKey, wreg.QueryValueEx,)
47 platformstuff = (wreg.OpenKey, wreg.QueryValueEx,)
48
48
49 if 'IPYTHONDIR' in env:
49 if 'IPYTHONDIR' in env:
50 del env['IPYTHONDIR']
50 del env['IPYTHONDIR']
51
51
52 def teardown_environment():
52 def teardown_environment():
53 (oldenv, os.name, genutils.get_home_dir, IPython.__file__,) = oldstuff
53 (oldenv, os.name, genutils.get_home_dir, IPython.__file__,) = oldstuff
54 for key in env.keys():
54 for key in env.keys():
55 if key not in oldenv:
55 if key not in oldenv:
56 del env[key]
56 del env[key]
57 env.update(oldenv)
57 env.update(oldenv)
58 if hasattr(sys, 'frozen'):
58 if hasattr(sys, 'frozen'):
59 del sys.frozen
59 del sys.frozen
60 if os.name == 'nt':
60 if os.name == 'nt':
61 (wreg.OpenKey, wreg.QueryValueEx,) = platformstuff
61 (wreg.OpenKey, wreg.QueryValueEx,) = platformstuff
62
62
63 with_enivronment = with_setup(setup_environment, teardown_environment)
63 with_enivronment = with_setup(setup_environment, teardown_environment)
64
64
65 @with_enivronment
65 @with_enivronment
66 def test_get_home_dir_1():
66 def test_get_home_dir_1():
67 """Testcase for py2exe logic, un-compressed lib
67 """Testcase for py2exe logic, un-compressed lib
68 """
68 """
69 sys.frozen = True
69 sys.frozen = True
70
70
71 #fake filename for IPython.__init__
71 #fake filename for IPython.__init__
72 IPython.__file__ = abspath(join(test_file_path, "home_test_dir/Lib/IPython/__init__.py"))
72 IPython.__file__ = abspath(join(test_file_path, "home_test_dir/Lib/IPython/__init__.py"))
73
73
74 home_dir = genutils.get_home_dir()
74 home_dir = genutils.get_home_dir()
75 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
75 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
76
76
77 @with_enivronment
77 @with_enivronment
78 def test_get_home_dir_2():
78 def test_get_home_dir_2():
79 """Testcase for py2exe logic, compressed lib
79 """Testcase for py2exe logic, compressed lib
80 """
80 """
81 sys.frozen=True
81 sys.frozen = True
82 #fake filename for IPython.__init__
82 #fake filename for IPython.__init__
83 IPython.__file__ = abspath(join(test_file_path, "home_test_dir/Library.zip/IPython/__init__.py"))
83 IPython.__file__ = abspath(join(test_file_path, "home_test_dir/Library.zip/IPython/__init__.py"))
84
84
85 home_dir = genutils.get_home_dir()
85 home_dir = genutils.get_home_dir()
86 assert home_dir == abspath(join(test_file_path, "home_test_dir")).lower()
86 assert home_dir == abspath(join(test_file_path, "home_test_dir")).lower()
87
87
88 @with_enivronment
88 @with_enivronment
89 def test_get_home_dir_3():
89 def test_get_home_dir_3():
90 """Testcase $HOME is set, then use its value as home directory."""
90 """Testcase $HOME is set, then use its value as home directory."""
91 env["HOME"] = join(test_file_path,"home_test_dir")
91 env["HOME"] = join(test_file_path, "home_test_dir")
92 home_dir = genutils.get_home_dir()
92 home_dir = genutils.get_home_dir()
93 assert home_dir == env["HOME"]
93 assert home_dir == env["HOME"]
94
94
95 @with_enivronment
95 @with_enivronment
96 def test_get_home_dir_4():
96 def test_get_home_dir_4():
97 """Testcase $HOME is not set, os=='posix'.
97 """Testcase $HOME is not set, os=='posix'.
98 This should fail with HomeDirError"""
98 This should fail with HomeDirError"""
99
99
100 os.name = 'posix'
100 os.name = 'posix'
101 del os.environ["HOME"]
101 del os.environ["HOME"]
102 try:
102 try:
103 genutils.get_home_dir()
103 genutils.get_home_dir()
104 assert False
104 assert False
105 except genutils.HomeDirError:
105 except genutils.HomeDirError:
106 pass
106 pass
107
107
108 @with_enivronment
108 @with_enivronment
109 def test_get_home_dir_5():
109 def test_get_home_dir_5():
110 """Testcase $HOME is not set, os=='nt'
110 """Testcase $HOME is not set, os=='nt'
111 env['HOMEDRIVE'],env['HOMEPATH'] points to path."""
111 env['HOMEDRIVE'],env['HOMEPATH'] points to path."""
112
112
113 os.name = 'nt'
113 os.name = 'nt'
114 del os.environ["HOME"]
114 del os.environ["HOME"]
115 env['HOMEDRIVE'],env['HOMEPATH'] = os.path.abspath(test_file_path),"home_test_dir"
115 env['HOMEDRIVE'], env['HOMEPATH'] = os.path.abspath(test_file_path), "home_test_dir"
116
116
117 home_dir = genutils.get_home_dir()
117 home_dir = genutils.get_home_dir()
118 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
118 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
119
119
120 @with_enivronment
120 @with_enivronment
121 def test_get_home_dir_6():
121 def test_get_home_dir_6():
122 """Testcase $HOME is not set, os=='nt'
122 """Testcase $HOME is not set, os=='nt'
123 env['HOMEDRIVE'],env['HOMEPATH'] do not point to path.
123 env['HOMEDRIVE'],env['HOMEPATH'] do not point to path.
124 env['USERPROFILE'] points to path
124 env['USERPROFILE'] points to path
125 """
125 """
126
126
127 os.name = 'nt'
127 os.name = 'nt'
128 del os.environ["HOME"]
128 del os.environ["HOME"]
129 env['HOMEDRIVE'],env['HOMEPATH'] = os.path.abspath(test_file_path),"DOES NOT EXIST"
129 env['HOMEDRIVE'], env['HOMEPATH'] = os.path.abspath(test_file_path), "DOES NOT EXIST"
130 env["USERPROFILE"] = abspath(join(test_file_path,"home_test_dir"))
130 env["USERPROFILE"] = abspath(join(test_file_path, "home_test_dir"))
131
131
132 home_dir = genutils.get_home_dir()
132 home_dir = genutils.get_home_dir()
133 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
133 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
134
134
135 # Should we stub wreg fully so we can run the test on all platforms?
135 # Should we stub wreg fully so we can run the test on all platforms?
136 #@skip_if_not_win32
136 #@skip_if_not_win32
137 @with_enivronment
137 @with_enivronment
138 def test_get_home_dir_7():
138 def test_get_home_dir_7():
139 """Testcase $HOME is not set, os=='nt'
139 """Testcase $HOME is not set, os=='nt'
140 env['HOMEDRIVE'],env['HOMEPATH'], env['USERPROFILE'] missing
140 env['HOMEDRIVE'],env['HOMEPATH'], env['USERPROFILE'] missing
141 """
141 """
142 os.name = 'nt'
142 os.name = 'nt'
143 del env["HOME"],env['HOMEDRIVE']
143 del env["HOME"], env['HOMEDRIVE']
144
144
145 #Stub windows registry functions
145 #Stub windows registry functions
146 def OpenKey(x, y):
146 def OpenKey(x, y):
147 class key:
147 class key:
148 def Close(self):
148 def Close(self):
149 pass
149 pass
150 return key()
150 return key()
151 def QueryValueEx(x, y):
151 def QueryValueEx(x, y):
152 return [abspath(join(test_file_path, "home_test_dir"))]
152 return [abspath(join(test_file_path, "home_test_dir"))]
153
153
154 wreg.OpenKey = OpenKey
154 wreg.OpenKey = OpenKey
155 wreg.QueryValueEx = QueryValueEx
155 wreg.QueryValueEx = QueryValueEx
156
156
157 home_dir = genutils.get_home_dir()
157 home_dir = genutils.get_home_dir()
158 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
158 assert home_dir == abspath(join(test_file_path, "home_test_dir"))
159
159
160
160
161 #
161 #
162 # Tests for get_ipython_dir
162 # Tests for get_ipython_dir
163 #
163 #
164
164
165 @with_enivronment
165 @with_enivronment
166 def test_get_ipython_dir_1():
166 def test_get_ipython_dir_1():
167 """2 Testcase to see if we can call get_ipython_dir without Exceptions."""
167 """2 Testcase to see if we can call get_ipython_dir without Exceptions."""
168 env['IPYTHONDIR'] = "someplace/.ipython"
168 env['IPYTHONDIR'] = "someplace/.ipython"
169 ipdir = genutils.get_ipython_dir()
169 ipdir = genutils.get_ipython_dir()
170 assert ipdir == os.path.abspath("someplace/.ipython")
170 assert ipdir == os.path.abspath("someplace/.ipython")
171
171
172
172
173 @with_enivronment
173 @with_enivronment
174 def test_get_ipython_dir_2():
174 def test_get_ipython_dir_2():
175 """3 Testcase to see if we can call get_ipython_dir without Exceptions."""
175 """3 Testcase to see if we can call get_ipython_dir without Exceptions."""
176 genutils.get_home_dir=lambda : "someplace"
176 genutils.get_home_dir = lambda : "someplace"
177 os.name = "posix"
177 os.name = "posix"
178 ipdir = genutils.get_ipython_dir()
178 ipdir = genutils.get_ipython_dir()
179 assert ipdir == os.path.abspath(os.path.join("someplace", ".ipython"))
179 assert ipdir == os.path.abspath(os.path.join("someplace", ".ipython"))
180
180
181 @with_enivronment
181 @with_enivronment
182 def test_get_ipython_dir_3():
182 def test_get_ipython_dir_3():
183 """4 Testcase to see if we can call get_ipython_dir without Exceptions."""
183 """4 Testcase to see if we can call get_ipython_dir without Exceptions."""
184 genutils.get_home_dir = lambda : "someplace"
184 genutils.get_home_dir = lambda : "someplace"
185 os.name = "nt"
185 os.name = "nt"
186 ipdir = genutils.get_ipython_dir()
186 ipdir = genutils.get_ipython_dir()
187 assert ipdir == os.path.abspath(os.path.join("someplace", "_ipython"))
187 assert ipdir == os.path.abspath(os.path.join("someplace", "_ipython"))
188
188
189
189
190 #
190 #
191 # Tests for get_security_dir
191 # Tests for get_security_dir
192 #
192 #
193
193
194 @with_enivronment
194 @with_enivronment
195 def test_get_security_dir():
195 def test_get_security_dir():
196 """Testcase to see if we can call get_security_dir without Exceptions."""
196 """Testcase to see if we can call get_security_dir without Exceptions."""
197 sdir = genutils.get_security_dir()
197 sdir = genutils.get_security_dir()
198
198
199
199
200 #
200 #
201 # Tests for popkey
201 # Tests for popkey
202 #
202 #
203
203
204 def test_popkey_1():
204 def test_popkey_1():
205 dct = dict(a=1, b=2, c=3)
205 dct = dict(a=1, b=2, c=3)
206 assert genutils.popkey(dct, "a") == 1
206 assert genutils.popkey(dct, "a") == 1
207 assert dct == dict(b=2, c=3)
207 assert dct == dict(b=2, c=3)
208 assert genutils.popkey(dct, "b") == 2
208 assert genutils.popkey(dct, "b") == 2
209 assert dct == dict(c=3)
209 assert dct == dict(c=3)
210 assert genutils.popkey(dct, "c") == 3
210 assert genutils.popkey(dct, "c") == 3
211 assert dct == dict()
211 assert dct == dict()
212
212
213 @raises(KeyError)
213 @raises(KeyError)
214 def test_popkey_2():
214 def test_popkey_2():
215 dct = dict(a=1, b=2, c=3)
215 dct = dict(a=1, b=2, c=3)
216 genutils.popkey(dct, "d")
216 genutils.popkey(dct, "d")
217
217
218 def test_popkey_3():
218 def test_popkey_3():
219 dct = dict(a=1, b=2, c=3)
219 dct = dict(a=1, b=2, c=3)
220 assert genutils.popkey(dct, "A", 13)==13
220 assert genutils.popkey(dct, "A", 13) == 13
221 assert dct == dict(a=1, b=2, c=3)
221 assert dct == dict(a=1, b=2, c=3)
222 assert genutils.popkey(dct, "B", 14)==14
222 assert genutils.popkey(dct, "B", 14) == 14
223 assert dct == dict(a=1, b=2, c=3)
223 assert dct == dict(a=1, b=2, c=3)
224 assert genutils.popkey(dct, "C", 15)==15
224 assert genutils.popkey(dct, "C", 15) == 15
225 assert dct == dict(a=1, b=2, c=3)
225 assert dct == dict(a=1, b=2, c=3)
226 assert genutils.popkey(dct, "a")==1
226 assert genutils.popkey(dct, "a") == 1
227 assert dct == dict(b=2, c=3)
227 assert dct == dict(b=2, c=3)
228 assert genutils.popkey(dct, "b")==2
228 assert genutils.popkey(dct, "b") == 2
229 assert dct == dict(c=3)
229 assert dct == dict(c=3)
230 assert genutils.popkey(dct, "c")==3
230 assert genutils.popkey(dct, "c") == 3
231 assert dct == dict()
231 assert dct == dict()
General Comments 0
You need to be logged in to leave comments. Login now