MCPcopy Index your code
hub / github.com/python/cpython / test_expanduser_windows

Method test_expanduser_windows

Lib/test/test_pathlib/test_pathlib.py:3368–3415  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3366
3367 @needs_windows
3368 def test_expanduser_windows(self):
3369 P = self.cls
3370 with os_helper.EnvironmentVarGuard() as env:
3371 env.unset('HOME', 'USERPROFILE', 'HOMEPATH', 'HOMEDRIVE')
3372 env['USERNAME'] = 'alice'
3373
3374 # test that the path returns unchanged
3375 p1 = P('~/My Documents')
3376 p2 = P('~alice/My Documents')
3377 p3 = P('~bob/My Documents')
3378 p4 = P('/~/My Documents')
3379 p5 = P('d:~/My Documents')
3380 p6 = P('')
3381 self.assertRaises(RuntimeError, p1.expanduser)
3382 self.assertRaises(RuntimeError, p2.expanduser)
3383 self.assertRaises(RuntimeError, p3.expanduser)
3384 self.assertEqual(p4.expanduser(), p4)
3385 self.assertEqual(p5.expanduser(), p5)
3386 self.assertEqual(p6.expanduser(), p6)
3387
3388 def check():
3389 env.pop('USERNAME', None)
3390 self.assertEqual(p1.expanduser(),
3391 P('C:/Users/alice/My Documents'))
3392 self.assertRaises(RuntimeError, p2.expanduser)
3393 env['USERNAME'] = 'alice'
3394 self.assertEqual(p2.expanduser(),
3395 P('C:/Users/alice/My Documents'))
3396 self.assertEqual(p3.expanduser(),
3397 P('C:/Users/bob/My Documents'))
3398 self.assertEqual(p4.expanduser(), p4)
3399 self.assertEqual(p5.expanduser(), p5)
3400 self.assertEqual(p6.expanduser(), p6)
3401
3402 env['HOMEPATH'] = 'C:\\Users\\alice'
3403 check()
3404
3405 env['HOMEDRIVE'] = 'C:\\'
3406 env['HOMEPATH'] = 'Users\\alice'
3407 check()
3408
3409 env.unset('HOMEDRIVE', 'HOMEPATH')
3410 env['USERPROFILE'] = 'C:\\Users\\alice'
3411 check()
3412
3413 # bpo-38883: ignore `HOME` when set on windows
3414 env['HOME'] = 'C:\\Users\\eve'
3415 check()
3416
3417 @needs_windows
3418 def test_from_uri_windows(self):

Callers

nothing calls this directly

Calls 6

unsetMethod · 0.80
expanduserMethod · 0.80
PClass · 0.70
checkFunction · 0.50
assertRaisesMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected