diff options
Diffstat (limited to 'tests/run/set_new.py')
-rw-r--r-- | tests/run/set_new.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/run/set_new.py b/tests/run/set_new.py new file mode 100644 index 000000000..d1c2c4acb --- /dev/null +++ b/tests/run/set_new.py @@ -0,0 +1,21 @@ +""" +>>> X = make_class_with_new(cynew) +>>> X.__new__ is cynew +True +>>> X().__new__ is cynew +True +>>> def pynew(cls): return object.__new__(cls) +>>> X = make_class_with_new(pynew) +>>> X.__new__ is pynew +True +>>> X().__new__ is pynew +True +""" + +def make_class_with_new(n): + class X(object): + __new__ = n + return X + +def cynew(cls): + return object.__new__(cls) |