[util] extend CustomNone with an __index__ method (#6009)
- Make it compatible with functions expecting integer arguments - Simplify and reuse some method definitions
This commit is contained in:
@@ -12,6 +12,7 @@ import sys
|
||||
import unittest
|
||||
|
||||
import io
|
||||
import time
|
||||
import random
|
||||
import string
|
||||
import datetime
|
||||
@@ -741,6 +742,9 @@ def hash(value):
|
||||
|
||||
self.assertFalse(obj)
|
||||
self.assertEqual(len(obj), 0)
|
||||
self.assertEqual(int(obj), 0)
|
||||
self.assertEqual(hash(obj), 0)
|
||||
|
||||
self.assertEqual(str(obj), str(None))
|
||||
self.assertEqual(repr(obj), repr(None))
|
||||
self.assertEqual(format(obj), str(None))
|
||||
@@ -751,6 +755,7 @@ def hash(value):
|
||||
self.assertIs(obj(), obj)
|
||||
self.assertIs(obj(1, "a"), obj)
|
||||
self.assertIs(obj(foo="bar"), obj)
|
||||
self.assertIs(iter(obj), obj)
|
||||
self.assertEqual(util.json_dumps(obj), "null")
|
||||
|
||||
self.assertLess(obj, "foo")
|
||||
@@ -797,6 +802,12 @@ def hash(value):
|
||||
mapping = {}
|
||||
mapping[obj] = 123
|
||||
self.assertIn(obj, mapping)
|
||||
self.assertEqual(mapping[obj], 123)
|
||||
|
||||
array = [1, 2, 3]
|
||||
self.assertEqual(array[obj], 1)
|
||||
|
||||
self.assertTrue(time.localtime(obj))
|
||||
|
||||
i = 0
|
||||
for _ in obj:
|
||||
|
||||
Reference in New Issue
Block a user