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