Example #1
0
 def test_detectencoding_str(self):
     "codec.detectencoding_str()"
     self.assertEqual(codec.detectencoding_str(u"".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\xef".encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\xef\x33".encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"\xc3\xaf3".encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"\xef\xbb".encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\xef\xbb\x33".encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"\xef\xbb\xbf".encode("utf-8-sig")), ("utf-8-sig", True))
     self.assertEqual(codec.detectencoding_str(u"\xff".encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\xff\x33".encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"\xff\xfe".encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\xff\xfe\x33".encode("utf-16")), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str(u"\xff\xfe\x00".encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\xff\xfe\x00\x33".encode("utf-16")), ("utf-16", True))
     if haveutf32:
         self.assertEqual(codec.detectencoding_str(u"\xff\xfe\x00\x00".encode("utf-32")), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str(u"\x00".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\x00\x33".encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"\x00\x00".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\x00\x00\x33".encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"\x00\x00\xfe".encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str(u"\x00\x00\x00\x33".encode()), ("utf-8", False))
     if haveutf32:
         self.assertEqual(codec.detectencoding_str(u"\x00\x00\x00@".encode()), ("utf-32-be", False))
         self.assertEqual(codec.detectencoding_str(u"\x00\x00\xfe\xff".encode("utf-32")), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str(u"@".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@\x33".encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"@\x00".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@\x00\x33".encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"@\x00\x00".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@\x00\x00\x33".encode()), ("utf-8", False))
     if haveutf32:
         self.assertEqual(codec.detectencoding_str(u"@\x00\x00\x00".encode()), ("utf-32-le", False))
     self.assertEqual(codec.detectencoding_str(u"@c".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@ch".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@cha".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@char".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@chars".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@charse".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@charset".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@charset ".encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u'@charset "'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u'@charset "x'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str(u'@charset ""'.encode()), ("", True))
     self.assertEqual(codec.detectencoding_str(u'@charset "x"'.encode()), ("x", True))
     self.assertEqual(codec.detectencoding_str(u"@".encode(), False), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@".encode(), True), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(u"@c".encode(), False), (None, False))
     self.assertEqual(codec.detectencoding_str(u"@c".encode(), True), ("utf-8", False))
 def test_detectencoding_str(self):
     "codec.detectencoding_str()"
     self.assertEqual(codec.detectencoding_str(''), (None, False))
     self.assertEqual(codec.detectencoding_str('\xef'), (None, False))
     self.assertEqual(codec.detectencoding_str('\xef\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xef\xbb'), (None, False))
     self.assertEqual(codec.detectencoding_str('\xef\xbb\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xef\xbb\xbf'), ("utf-8-sig", True))
     self.assertEqual(codec.detectencoding_str('\xff'), (None, False))
     self.assertEqual(codec.detectencoding_str('\xff\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xff\xfe'), (None, False))
     self.assertEqual(codec.detectencoding_str('\xff\xfe\x33'), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str('\xff\xfe\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str('\xff\xfe\x00\x33'), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str('\xff\xfe\x00\x00'), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str('\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\x00\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\xfe'), (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\x00@'), ("utf-32-be", False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\xfe\xff'), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str('@'), (None, False))
     self.assertEqual(codec.detectencoding_str('@\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('@\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str('@\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('@\x00\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str('@\x00\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('@\x00\x00\x00'), ("utf-32-le", False))
     self.assertEqual(codec.detectencoding_str('@c'), (None, False))
     self.assertEqual(codec.detectencoding_str('@ch'), (None, False))
     self.assertEqual(codec.detectencoding_str('@cha'), (None, False))
     self.assertEqual(codec.detectencoding_str('@char'), (None, False))
     self.assertEqual(codec.detectencoding_str('@chars'), (None, False))
     self.assertEqual(codec.detectencoding_str('@charse'), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset'), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset '), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "'), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "x'), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset ""'), ("", True))
     self.assertEqual(codec.detectencoding_str('@charset "x"'), ("x", True))
     self.assertEqual(codec.detectencoding_str("@", False), (None, False))
     self.assertEqual(codec.detectencoding_str("@", True), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("@c", False), (None, False))
     self.assertEqual(codec.detectencoding_str("@c", True), ("utf-8", False))
 def test_detectencoding_str(self):
     "codec.detectencoding_str()"
     self.assertEqual(codec.detectencoding_str(''.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('\xef'.encode('latin1')), (None, False))
     self.assertEqual(codec.detectencoding_str('\xef\x33'.encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xc3\xaf3'.encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xef\xbb'.encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str('\xef\xbb\x33'.encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xef\xbb\xbf'.encode("utf-8-sig")), ("utf-8-sig", True))
     self.assertEqual(codec.detectencoding_str('\xff'.encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str('\xff\x33'.encode("utf-8")), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xff\xfe'.encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str('\xff\xfe\x33'.encode("utf-16")), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str('\xff\xfe\x00'.encode("latin1")), (None, False))
     self.assertEqual(codec.detectencoding_str('\xff\xfe\x00\x33'.encode("utf-16")), ("utf-16", True))
     if haveutf32:
         self.assertEqual(codec.detectencoding_str('\xff\xfe\x00\x00'.encode("utf-32")), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str('\x00'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x33'.encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\x00\x00'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\x33'.encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\xfe'.encode('latin1')), (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\x00\x33'.encode()), ("utf-8", False))
     if haveutf32:
         self.assertEqual(codec.detectencoding_str('\x00\x00\x00@'.encode()), ("utf-32-be", False))
         self.assertEqual(codec.detectencoding_str('\x00\x00\xfe\xff'.encode('utf-32')), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str('@'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@\x33'.encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('@\x00'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@\x00\x33'.encode()), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('@\x00\x00'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@\x00\x00\x33'.encode()), ("utf-8", False))
     if haveutf32:
         self.assertEqual(codec.detectencoding_str('@\x00\x00\x00'.encode()), ("utf-32-le", False))
     self.assertEqual(codec.detectencoding_str('@c'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@ch'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@cha'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@char'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@chars'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@charse'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset '.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "x'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset ""'.encode()), ("", True))
     self.assertEqual(codec.detectencoding_str('@charset "x"'.encode()), ("x", True))
     self.assertEqual(codec.detectencoding_str("@".encode(), False), (None, False))
     self.assertEqual(codec.detectencoding_str("@".encode(), True), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("@c".encode(), False), (None, False))
     self.assertEqual(codec.detectencoding_str("@c".encode(), True), ("utf-8", False))
Example #4
0
 def test_detectencoding_str(self):
     "codec.detectencoding_str()"
     self.assertEqual(codec.detectencoding_str(''.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('\xef'.encode('latin1')),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('\xef\x33'.encode("utf-8")),
                      ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xc3\xaf3'.encode("utf-8")),
                      ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xef\xbb'.encode("latin1")),
                      (None, False))
     self.assertEqual(
         codec.detectencoding_str('\xef\xbb\x33'.encode("utf-8")),
         ("utf-8", False))
     self.assertEqual(
         codec.detectencoding_str('\xef\xbb\xbf'.encode("utf-8-sig")),
         ("utf-8-sig", True))
     self.assertEqual(codec.detectencoding_str('\xff'.encode("latin1")),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('\xff\x33'.encode("utf-8")),
                      ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\xff\xfe'.encode("latin1")),
                      (None, False))
     self.assertEqual(
         codec.detectencoding_str('\xff\xfe\x33'.encode("utf-16")),
         ("utf-16", True))
     self.assertEqual(
         codec.detectencoding_str('\xff\xfe\x00'.encode("latin1")),
         (None, False))
     self.assertEqual(
         codec.detectencoding_str('\xff\xfe\x00\x33'.encode("utf-16")),
         ("utf-16", True))
     if haveutf32:
         self.assertEqual(
             codec.detectencoding_str('\xff\xfe\x00\x00'.encode("utf-32")),
             ("utf-32", True))
     self.assertEqual(codec.detectencoding_str('\x00'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x33'.encode()),
                      ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('\x00\x00'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\x33'.encode()),
                      ("utf-8", False))
     self.assertEqual(
         codec.detectencoding_str('\x00\x00\xfe'.encode('latin1')),
         (None, False))
     self.assertEqual(codec.detectencoding_str('\x00\x00\x00\x33'.encode()),
                      ("utf-8", False))
     if haveutf32:
         self.assertEqual(
             codec.detectencoding_str('\x00\x00\x00@'.encode()),
             ("utf-32-be", False))
         self.assertEqual(
             codec.detectencoding_str('\x00\x00\xfe\xff'.encode('utf-32')),
             ("utf-32", True))
     self.assertEqual(codec.detectencoding_str('@'.encode()), (None, False))
     self.assertEqual(codec.detectencoding_str('@\x33'.encode()),
                      ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('@\x00'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@\x00\x33'.encode()),
                      ("utf-8", False))
     self.assertEqual(codec.detectencoding_str('@\x00\x00'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@\x00\x00\x33'.encode()),
                      ("utf-8", False))
     if haveutf32:
         self.assertEqual(
             codec.detectencoding_str('@\x00\x00\x00'.encode()),
             ("utf-32-le", False))
     self.assertEqual(codec.detectencoding_str('@c'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@ch'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@cha'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@char'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@chars'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@charse'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@charset'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@charset '.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "x'.encode()),
                      (None, False))
     self.assertEqual(codec.detectencoding_str('@charset ""'.encode()),
                      ("", True))
     self.assertEqual(codec.detectencoding_str('@charset "x"'.encode()),
                      ("x", True))
     self.assertEqual(codec.detectencoding_str("@".encode(), False),
                      (None, False))
     self.assertEqual(codec.detectencoding_str("@".encode(), True),
                      ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("@c".encode(), False),
                      (None, False))
     self.assertEqual(codec.detectencoding_str("@c".encode(), True),
                      ("utf-8", False))
Example #5
0
 def test_detectencoding_str(self):
     "codec.detectencoding_str()"
     self.assertEqual(codec.detectencoding_str(""), (None, False))
     self.assertEqual(codec.detectencoding_str("\xef"), (None, False))
     self.assertEqual(codec.detectencoding_str("\xef\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("\xef\xbb"), (None, False))
     self.assertEqual(codec.detectencoding_str("\xef\xbb\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("\xef\xbb\xbf"), ("utf-8-sig", True))
     self.assertEqual(codec.detectencoding_str("\xff"), (None, False))
     self.assertEqual(codec.detectencoding_str("\xff\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("\xff\xfe"), (None, False))
     self.assertEqual(codec.detectencoding_str("\xff\xfe\x33"), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str("\xff\xfe\x00"), (None, False))
     self.assertEqual(codec.detectencoding_str("\xff\xfe\x00\x33"), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str("\xff\xfe\x00\x00"), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str("\x00"), (None, False))
     self.assertEqual(codec.detectencoding_str("\x00\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("\x00\x00"), (None, False))
     self.assertEqual(codec.detectencoding_str("\x00\x00\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("\x00\x00\xfe"), (None, False))
     self.assertEqual(codec.detectencoding_str("\x00\x00\x00\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("\x00\x00\x00@"), ("utf-32-be", False))
     self.assertEqual(codec.detectencoding_str("\x00\x00\xfe\xff"), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str("@"), (None, False))
     self.assertEqual(codec.detectencoding_str("@\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("@\x00"), (None, False))
     self.assertEqual(codec.detectencoding_str("@\x00\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("@\x00\x00"), (None, False))
     self.assertEqual(codec.detectencoding_str("@\x00\x00\x33"), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("@\x00\x00\x00"), ("utf-32-le", False))
     self.assertEqual(codec.detectencoding_str("@c"), (None, False))
     self.assertEqual(codec.detectencoding_str("@ch"), (None, False))
     self.assertEqual(codec.detectencoding_str("@cha"), (None, False))
     self.assertEqual(codec.detectencoding_str("@char"), (None, False))
     self.assertEqual(codec.detectencoding_str("@chars"), (None, False))
     self.assertEqual(codec.detectencoding_str("@charse"), (None, False))
     self.assertEqual(codec.detectencoding_str("@charset"), (None, False))
     self.assertEqual(codec.detectencoding_str("@charset "), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "'), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset "x'), (None, False))
     self.assertEqual(codec.detectencoding_str('@charset ""'), ("", True))
     self.assertEqual(codec.detectencoding_str('@charset "x"'), ("x", True))
     self.assertEqual(codec.detectencoding_str("@", False), (None, False))
     self.assertEqual(codec.detectencoding_str("@", True), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str("@c", False), (None, False))
     self.assertEqual(codec.detectencoding_str("@c", True), ("utf-8", False))
Example #6
0
 def test_detectencoding_str(self):
     "codec.detectencoding_str()"
     self.assertEqual(codec.detectencoding_str(b''), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\xef'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\xef\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'\xef\xbb'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\xef\xbb\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'\xef\xbb\xbf'), ("utf-8-sig", True))
     self.assertEqual(codec.detectencoding_str(b'\xff'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\xff\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'\xff\xfe'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\xff\xfe\x33'), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str(b'\xff\xfe\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\xff\xfe\x00\x33'), ("utf-16", True))
     self.assertEqual(codec.detectencoding_str(b'\xff\xfe\x00\x00'), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str(b'\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'\x00\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\x00\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'\x00\x00\xfe'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'\x00\x00\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'\x00\x00\x00@'), ("utf-32-be", False))
     self.assertEqual(codec.detectencoding_str(b'\x00\x00\xfe\xff'), ("utf-32", True))
     self.assertEqual(codec.detectencoding_str(b'@'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'@\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'@\x00\x00'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@\x00\x00\x33'), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b'@\x00\x00\x00'), ("utf-32-le", False))
     self.assertEqual(codec.detectencoding_str(b'@c'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@ch'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@cha'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@char'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@chars'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@charse'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@charset'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@charset '), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@charset "'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@charset "x'), (None, False))
     self.assertEqual(codec.detectencoding_str(b'@charset ""'), ("", True))
     self.assertEqual(codec.detectencoding_str(b'@charset "x"'), ("x", True))
     self.assertEqual(codec.detectencoding_str(b"@", False), (None, False))
     self.assertEqual(codec.detectencoding_str(b"@", True), ("utf-8", False))
     self.assertEqual(codec.detectencoding_str(b"@c", False), (None, False))
     self.assertEqual(codec.detectencoding_str(b"@c", True), ("utf-8", False))