Merged revisions 72167 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r72167 | walter.doerwald | 2009-05-01 19:35:37 +0200 (Fr, 01 Mai 2009) | 5 lines

  Make test.test_support.EnvironmentVarGuard behave like a dictionary.

  All changes are mirrored to the underlying os.environ dict, but rolled back
  on exit from the with block.
........
This commit is contained in:
Walter Dörwald 2009-05-01 19:58:58 +00:00
parent 33841c3489
commit 155374d95d
10 changed files with 79 additions and 68 deletions

View file

@ -141,12 +141,11 @@ class TestNtpath(unittest.TestCase):
tester("ntpath.normpath('//machine/share//a/b')", r'\\machine\share\a\b')
def test_expandvars(self):
oldenv = os.environ.copy()
try:
os.environ.clear()
os.environ["foo"] = "bar"
os.environ["{foo"] = "baz1"
os.environ["{foo}"] = "baz2"
with support.EnvironmentVarGuard() as env:
env.clear()
env["foo"] = "bar"
env["{foo"] = "baz1"
env["{foo}"] = "baz2"
tester('ntpath.expandvars("foo")', "foo")
tester('ntpath.expandvars("$foo bar")', "bar bar")
tester('ntpath.expandvars("${foo}bar")', "barbar")
@ -166,9 +165,6 @@ class TestNtpath(unittest.TestCase):
tester('ntpath.expandvars("%?bar%")', "%?bar%")
tester('ntpath.expandvars("%foo%%bar")', "bar%bar")
tester('ntpath.expandvars("\'%foo%\'%bar")', "\'%foo%\'%bar")
finally:
os.environ.clear()
os.environ.update(oldenv)
def test_abspath(self):
# ntpath.abspath() can only be used on a system with the "nt" module