Пример #1
0
    def compare_encoding(self, filename, content, file_encoding, expected, bfr=False):
        """Compare encoding."""

        if not bfr:
            self.mktemp(filename, content=content)
            name = self.norm(filename)
            size = os.path.getsize(name)
        else:
            name = filename
            size = None
        if not bfr:
            rfc = rc._RummageFileContent(name, size, file_encoding)
        else:
            rfc = rc._RummageFileContent(name, size, file_encoding, content)
        with rfc as f:
            text = f[:]
        if not bfr:
            if expected.startswith('utf-8'):
                enc = 'utf-8-sig'
            elif expected.startswith('utf-32'):
                enc = 'utf-32'
            elif expected.startswith('utf-16'):
                enc = 'utf-16'
            else:
                enc = expected
            if enc == 'bin':
                with open(name, 'rb') as f:
                    text2 = f.read()
            else:
                with codecs.open(name, 'r', encoding=enc) as f:
                    text2 = f.read()
        else:
            text2 = content
        self.assertEqual(rfc.encoding.encode, expected)
        self.assertEqual(text, text2)
Пример #2
0
    def compare_encoding(self, filename, content, file_encoding, expected, bfr=False):
        """Compare encoding."""

        if not bfr:
            self.mktemp(filename, content=content)
            name = self.norm(filename)
            size = os.path.getsize(name)
        else:
            name = filename
            size = None
        if not bfr:
            rfc = rc._RummageFileContent(name, size, file_encoding)
        else:
            rfc = rc._RummageFileContent(name, size, file_encoding, content)
        with rfc as f:
            text = f[:]
        if not bfr:
            if expected.startswith('utf-8'):
                enc = 'utf-8-sig'
            elif expected.startswith('utf-32'):
                enc = 'utf-32'
            elif expected.startswith('utf-16'):
                enc = 'utf-16'
            else:
                enc = expected
            if enc == 'bin':
                with open(name, 'rb') as f:
                    text2 = f.read()
            else:
                with codecs.open(name, 'r', encoding=enc) as f:
                    text2 = f.read()
        else:
            text2 = content
        self.assertEqual(rfc.encoding.encode, expected)
        self.assertEqual(text, text2)
Пример #3
0
    def test_bin_rummageexception(self):
        """Test `RummageException` with a bin file."""

        rfc = rc._RummageFileContent(self.norm('does_not_exist.txt'), 10,
                                     td.Encoding('bin', None))
        self.assertRaises(rc.RummageException, rfc.__enter__)
Пример #4
0
    def test_bin_rummageexception(self):
        """Test `RummageException` with a bin file."""

        rfc = rc._RummageFileContent(self.norm('does_not_exist.txt'), 10, td.Encoding('bin', None))
        self.assertRaises(rc.RummageException, rfc.__enter__)