(self)
| 257 | self.assertEqual(linecache.getlines(FILENAME), lines) |
| 258 | |
| 259 | def test_loader(self): |
| 260 | filename = 'scheme://path' |
| 261 | |
| 262 | for loader in (None, object(), NoSourceLoader()): |
| 263 | linecache.clearcache() |
| 264 | module_globals = {'__name__': 'a.b.c', '__loader__': loader} |
| 265 | self.assertEqual(linecache.getlines(filename, module_globals), []) |
| 266 | |
| 267 | linecache.clearcache() |
| 268 | module_globals = {'__name__': 'a.b.c', '__loader__': FakeLoader()} |
| 269 | self.assertEqual(linecache.getlines(filename, module_globals), |
| 270 | ['source for a.b.c\n']) |
| 271 | |
| 272 | for spec in (None, object(), ModuleSpec('', FakeLoader())): |
| 273 | linecache.clearcache() |
| 274 | module_globals = {'__name__': 'a.b.c', '__loader__': FakeLoader(), |
| 275 | '__spec__': spec} |
| 276 | self.assertEqual(linecache.getlines(filename, module_globals), |
| 277 | ['source for a.b.c\n']) |
| 278 | |
| 279 | linecache.clearcache() |
| 280 | spec = ModuleSpec('x.y.z', FakeLoader()) |
| 281 | module_globals = {'__name__': 'a.b.c', '__loader__': spec.loader, |
| 282 | '__spec__': spec} |
| 283 | self.assertEqual(linecache.getlines(filename, module_globals), |
| 284 | ['source for x.y.z\n']) |
| 285 | |
| 286 | def test_frozen(self): |
| 287 | filename = '<frozen fakemodule>' |
nothing calls this directly
no test coverage detected