| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1445,6 +1445,37 @@ def test_int_max_str_digits(self): | |||
| 1445 | 1445 | with self.assertRaises(TypeError): | |
| 1446 | 1446 | sys.set_int_max_str_digits(2_048.0) | |
| 1447 | 1447 | ||
| 1448 | + @test.support.cpython_only | ||
| 1449 | + def test_is_immortal(self): | ||
| 1450 | + is_immortal = sys._is_immortal | ||
| 1451 | + | ||
| 1452 | + # Singletons | ||
| 1453 | + self.assertTrue(is_immortal(None)) | ||
| 1454 | + self.assertTrue(is_immortal(False)) | ||
| 1455 | + self.assertTrue(is_immortal(True)) | ||
| 1456 | + self.assertTrue(is_immortal(0)) | ||
| 1457 | + self.assertTrue(is_immortal(b'')) | ||
| 1458 | + self.assertTrue(is_immortal('')) | ||
| 1459 | + self.assertTrue(is_immortal(b'x')) | ||
| 1460 | + self.assertTrue(is_immortal('x')) | ||
| 1461 | + self.assertTrue(is_immortal(())) | ||
| 1462 | + | ||
| 1463 | + # Static types | ||
| 1464 | + self.assertTrue(is_immortal(int)) | ||
| 1465 | + self.assertTrue(is_immortal(dict)) | ||
| 1466 | + | ||
| 1467 | + # Test some mortal objects | ||
| 1468 | + class PythonType: | ||
| 1469 | + pass | ||
| 1470 | + self.assertFalse(is_immortal([1, 2, 3])) | ||
| 1471 | + self.assertFalse(is_immortal({'key': 5})) | ||
| 1472 | + self.assertFalse(is_immortal(object())) | ||
| 1473 | + self.assertFalse(is_immortal(PythonType)) | ||
| 1474 | + self.assertFalse(is_immortal(2 ** 100)) | ||
| 1475 | + # Use encode/decode to get a fresh object | ||
| 1476 | + self.assertFalse(is_immortal(b'abc'.decode())) | ||
| 1477 | + self.assertFalse(is_immortal('abc'.encode())) | ||
| 1478 | + | ||
| 1448 | 1479 | ||
| 1449 | 1480 | @test.support.cpython_only | |
| 1450 | 1481 | @test.support.force_not_colorized_test_class | |
| Back | FazBrowse Home | New Git URL |
0 commit comments