• Home
  • Raw
  • Download

Lines Matching +full:py3 +full:- +full:six

1 # Copyright (c) 2010-2017 Benjamin Peterson
28 import six
35 six._add_doc(f, """New doc""")
41 m = six._import_module("logging.handlers")
46 assert isinstance(1, six.integer_types)
47 assert isinstance(-1, six.integer_types)
48 assert isinstance(six.MAXSIZE + 23, six.integer_types)
49 assert not isinstance(.1, six.integer_types)
53 assert isinstance("hi", six.string_types)
54 assert isinstance(six.u("hi"), six.string_types)
55 assert issubclass(six.text_type, six.string_types)
63 assert isinstance(X, six.class_types)
64 assert isinstance(Y, six.class_types)
65 assert not isinstance(X(), six.class_types)
69 assert type(six.u("hi")) is six.text_type
73 assert type(six.b("hi")) is six.binary_type
79 six.MAXSIZE.__index__()
85 operator.mul, [None], six.MAXSIZE + 1)
89 if six.PY3:
94 mod = six.moves.html_parser
96 assert "htmlparser" not in six._MovedItems.__dict__
116 [item.name for item in six._moved_attributes])
120 item = getattr(six.moves, item_name)
122 __import__("six.moves." + item_name)
138 assert item_name in dir(six.moves)
142 [item.name for item in six._urllib_parse_moved_attributes])
150 assert item_name in dir(six.moves.urllib.parse)
151 getattr(six.moves.urllib.parse, item_name)
155 [item.name for item in six._urllib_error_moved_attributes])
159 assert item_name in dir(six.moves.urllib.error)
160 getattr(six.moves.urllib.error, item_name)
164 [item.name for item in six._urllib_request_moved_attributes])
168 assert item_name in dir(six.moves.urllib.request)
169 getattr(six.moves.urllib.request, item_name)
173 [item.name for item in six._urllib_response_moved_attributes])
177 assert item_name in dir(six.moves.urllib.response)
178 getattr(six.moves.urllib.response, item_name)
182 [item.name for item in six._urllib_robotparser_moved_attributes])
186 assert item_name in dir(six.moves.urllib.robotparser)
187 getattr(six.moves.urllib.robotparser, item_name)
191 from six.moves.urllib.parse import urljoin
192 from six import moves
198 from six import moves
201 from six.moves.urllib.parse import urljoin
205 from six.moves.urllib.parse import urljoin
207 from six.moves.urllib_parse import urljoin
211 from six.moves.queue import Queue
212 assert isinstance(Queue, six.class_types)
213 from six.moves.configparser import ConfigParser
214 assert isinstance(ConfigParser, six.class_types)
218 from six.moves import filter
220 assert six.advance_iterator(f) == 1
224 from six.moves import filterfalse
226 assert six.advance_iterator(f) == 0
227 assert six.advance_iterator(f) == 3
228 assert six.advance_iterator(f) == 6
231 from six.moves import map
232 assert six.advance_iterator(map(lambda x: x + 1, range(2))) == 1
236 from six.moves import getoutput
242 from six.moves import zip
243 assert six.advance_iterator(zip(range(2), range(2))) == (0, 0)
248 from six.moves import zip_longest
251 assert six.advance_iterator(it) == (0, 0)
252 assert six.advance_iterator(it) == (1, None)
259 del six._MovedItems.spam
263 del six.moves.__dict__["spam"]
269 attr = six.MovedAttribute("spam", "foo", "bar")
270 if six.PY3:
275 attr = six.MovedAttribute("spam", "foo", "bar", "lemma")
277 attr = six.MovedAttribute("spam", "foo", "bar", "lemma", "theorm")
278 if six.PY3:
285 attr = six.MovedModule("spam", "foo")
286 if six.PY3:
290 attr = six.MovedModule("spam", "foo", "bar")
291 if six.PY3:
298 attr = six.MovedModule("spam", "six", "six")
299 six.add_move(attr)
300 six.remove_move("spam")
301 assert not hasattr(six.moves, "spam")
302 attr = six.MovedModule("spam", "six", "six")
303 six.add_move(attr)
304 from six.moves import spam
305 assert spam is six
306 six.remove_move("spam")
307 assert not hasattr(six.moves, "spam")
311 attr = six.MovedAttribute("spam", "six", "six", "u", "u")
312 six.add_move(attr)
313 six.remove_move("spam")
314 assert not hasattr(six.moves, "spam")
315 attr = six.MovedAttribute("spam", "six", "six", "u", "u")
316 six.add_move(attr)
317 from six.moves import spam
318 assert spam is six.u
319 six.remove_move("spam")
320 assert not hasattr(six.moves, "spam")
324 py.test.raises(AttributeError, six.remove_move, "eggs")
331 assert six.get_unbound_function(X.m) is X.__dict__["m"]
339 assert six.get_method_self(x.m) is x
340 py.test.raises(AttributeError, six.get_method_self, 42)
348 assert six.get_method_function(x.m) is X.__dict__["m"]
349 py.test.raises(AttributeError, six.get_method_function, hasattr)
358 cell = six.get_function_closure(f())[0]
365 assert isinstance(six.get_function_code(f), types.CodeType)
367 py.test.raises(AttributeError, six.get_function_code, hasattr)
373 assert six.get_function_defaults(f) == (3, 4)
379 assert six.get_function_globals(f) is globals()
387 if six.PY3:
392 if not six.PY3:
403 meth = getattr(six, "iter" + name)
407 py.test.raises(StopIteration, six.advance_iterator, it)
426 if six.PY3:
432 meth = getattr(six, "view" + name)
438 assert six.next is six.advance_iterator
441 assert six.next(it) == 1
442 assert six.next(it) == 2
443 py.test.raises(StopIteration, six.next, it)
444 py.test.raises(StopIteration, six.next, it)
448 class myiter(six.Iterator):
451 assert six.advance_iterator(myiter()) == 13
455 assert six.advance_iterator(myitersub()) == 14
464 assert six.callable(X)
465 assert six.callable(X())
466 assert six.callable(test_callable)
467 assert six.callable(hasattr)
468 assert six.callable(X.method)
469 assert six.callable(X().method)
470 assert not six.callable(4)
471 assert not six.callable("string")
480 b = six.create_bound_method(f, x)
491 u = six.create_unbound_method(f, X)
493 if six.PY2:
499 if six.PY3:
502 data = six.b("\xff")
509 s = six.u("hi \u0439 \U00000439 \\ \\\\ \n")
516 data = six.b("\xff")
523 s = six.u("hi \u0439 \U00000439 \\ \\\\ \n")
529 s = six.u("\u1234")
534 assert six.u("\u1234") == six.unichr(0x1234)
535 assert type(six.u("\u1234")) is type(six.unichr(0x1234))
539 assert six.int2byte(3) == six.b("\x03")
540 py.test.raises(Exception, six.int2byte, 256)
544 assert six.byte2int(six.b("\x03")) == 3
545 assert six.byte2int(six.b("\x03\x04")) == 3
546 py.test.raises(IndexError, six.byte2int, six.b(""))
550 assert six.indexbytes(six.b("hello"), 3) == ord("l")
554 it = six.iterbytes(six.b("hi"))
555 assert six.next(it) == ord("h")
556 assert six.next(it) == ord("i")
557 py.test.raises(StopIteration, six.next, it)
561 fp = six.StringIO()
562 fp.write(six.u("hello"))
563 assert fp.getvalue() == six.u("hello")
567 fp = six.BytesIO()
568 fp.write(six.b("hello"))
569 assert fp.getvalue() == six.b("hello")
575 six.exec_("l.append(1)")
579 six.exec_("x = 42", ns)
583 six.exec_("global y; y = 42; x = 12", glob, loc)
592 if six.PY3:
602 six.reraise(tp, val, tb)
609 six.reraise(tp, val)
616 six.reraise(tp, val, tb2)
623 six.reraise(tp, None, tb)
639 six.raise_from(f, None)
655 out = sys.stdout = six.moves.StringIO()
657 six.print_("Hello,", "person!")
661 out = six.StringIO()
662 six.print_("Hello,", "person!", file=out)
664 out = six.StringIO()
665 six.print_("Hello,", "person!", file=out, end="")
667 out = six.StringIO()
668 six.print_("Hello,", "person!", file=out, sep="X")
670 out = six.StringIO()
671 six.print_(six.u("Hello,"), six.u("person!"), file=out)
673 assert isinstance(result, six.text_type)
674 assert result == six.u("Hello, person!\n")
675 six.print_("Hello", file=None) # This works.
676 out = six.StringIO()
677 six.print_(None, file=out)
679 class FlushableStringIO(six.StringIO):
681 six.StringIO.__init__(self)
686 six.print_("Hello", file=out)
688 six.print_("Hello", file=out, flush=True)
695 monkeypatch.setattr(six, "file", six.BytesIO, raising=False)
696 out = six.BytesIO()
697 out.encoding = "utf-8"
699 six.print_(six.u("\u053c"), end="", file=out)
700 assert out.getvalue() == six.b("\xd4\xbc")
701 out = six.BytesIO()
704 py.test.raises(UnicodeEncodeError, six.print_, six.u("\u053c"), file=out)
706 six.print_(six.u("\u053c"), end="", file=out)
707 assert out.getvalue() == six.b("\\u053c")
711 py.test.raises(TypeError, six.print_, x=3)
712 py.test.raises(TypeError, six.print_, end=3)
713 py.test.raises(TypeError, six.print_, sep=42)
719 class X(six.with_metaclass(Meta)):
725 class X(six.with_metaclass(Meta, Base)):
731 class X(six.with_metaclass(Meta, Base, Base2)):
737 class X(six.with_metaclass(Meta)):
741 class Y(six.with_metaclass(MetaSub, X)):
767 class X(six.with_metaclass(Meta, *bases)):
777 @six.wraps(g)
796 return six.wraps(g, assign, update)(w)
810 X = six.add_metaclass(Meta)(X)
819 X = six.add_metaclass(Meta)(X)
826 X = six.add_metaclass(Meta)(X)
831 # Test a second-generation subclass of a type.
838 Base = six.add_metaclass(Meta1)(Base)
841 X = six.add_metaclass(Meta2)(X)
855 MySlots = six.add_metaclass(Meta1)(MySlots)
865 MyStringSlots = six.add_metaclass(Meta1)(MyStringSlots)
874 MySlotsWeakref = six.add_metaclass(Meta)(MySlotsWeakref)
883 six.assertCountEqual(self, (1, 2), [3, 4, 5])
885 six.assertCountEqual(self, (1, 2), [2, 1])
895 six.assertRegex(self, 'test', r'^a')
897 six.assertRegex(self, 'test', r'^t')
906 with six.assertRaisesRegex(self, AssertionError, '^Foo'):
910 with six.assertRaisesRegex(self, AssertionError, r'^Foo'):
917 @six.python_2_unicode_compatible
920 return six.u('hello')
923 return six.b('hello')
927 if six.PY2:
928 assert str(my_test) == six.b("hello")
929 assert unicode(my_test) == six.u("hello")
930 elif six.PY3:
931 assert bytes(my_test) == six.b("hello")
932 assert str(my_test) == six.u("hello")
934 assert getattr(six.moves.builtins, 'bytes', str)(my_test) == six.b("hello")