1ad1ba6e1SEitan Adler# coding: utf-8 2ad1ba6e1SEitan Adler 3ad1ba6e1SEitan Adlerimport unittest 4ad1ba6e1SEitan Adler 5ad1ba6e1SEitan Adlerimport magic 6ad1ba6e1SEitan Adler 7ad1ba6e1SEitan Adler 8ad1ba6e1SEitan Adlerclass MagicTestCase(unittest.TestCase): 9ad1ba6e1SEitan Adler 10ad1ba6e1SEitan Adler filename = 'magic.py' 11ac338006SXin LI expected_mime_type = 'text/x-script.python' 12ad1ba6e1SEitan Adler expected_encoding = 'us-ascii' 13ad1ba6e1SEitan Adler expected_name = 'Python script, ASCII text executable' 14ad1ba6e1SEitan Adler 15ad1ba6e1SEitan Adler def assert_result(self, result): 16ad1ba6e1SEitan Adler self.assertEqual(result.mime_type, self.expected_mime_type) 17ad1ba6e1SEitan Adler self.assertEqual(result.encoding, self.expected_encoding) 18ad1ba6e1SEitan Adler self.assertEqual(result.name, self.expected_name) 19ad1ba6e1SEitan Adler 20ad1ba6e1SEitan Adler def test_detect_from_filename(self): 21ad1ba6e1SEitan Adler result = magic.detect_from_filename(self.filename) 22ad1ba6e1SEitan Adler self.assert_result(result) 23ad1ba6e1SEitan Adler 24ad1ba6e1SEitan Adler def test_detect_from_fobj(self): 25ac338006SXin LI with open(self.filename, "rb") as fobj: 26ad1ba6e1SEitan Adler result = magic.detect_from_fobj(fobj) 27ad1ba6e1SEitan Adler self.assert_result(result) 28ad1ba6e1SEitan Adler 29ad1ba6e1SEitan Adler def test_detect_from_content(self): 30ac338006SXin LI with open(self.filename, "rb") as fobj: 31ac338006SXin LI result = magic.detect_from_content(fobj.read(8192)) 32ad1ba6e1SEitan Adler self.assert_result(result) 33