(self)
| 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): |
nothing calls this directly
no test coverage detected