1336862Seadler# coding: utf-8
2336862Seadler
3336862Seadlerimport unittest
4336862Seadler
5336862Seadlerimport magic
6336862Seadler
7336862Seadler
8336862Seadlerclass MagicTestCase(unittest.TestCase):
9336862Seadler
10336862Seadler    filename = 'magic.py'
11336862Seadler    expected_mime_type = 'text/x-python'
12336862Seadler    expected_encoding = 'us-ascii'
13336862Seadler    expected_name = 'Python script, ASCII text executable'
14336862Seadler
15336862Seadler    def assert_result(self, result):
16336862Seadler        self.assertEqual(result.mime_type, self.expected_mime_type)
17336862Seadler        self.assertEqual(result.encoding, self.expected_encoding)
18336862Seadler        self.assertEqual(result.name, self.expected_name)
19336862Seadler
20336862Seadler    def test_detect_from_filename(self):
21336862Seadler        result = magic.detect_from_filename(self.filename)
22336862Seadler        self.assert_result(result)
23336862Seadler
24336862Seadler    def test_detect_from_fobj(self):
25336862Seadler        with open(self.filename) as fobj:
26336862Seadler            result = magic.detect_from_fobj(fobj)
27336862Seadler        self.assert_result(result)
28336862Seadler
29336862Seadler    def test_detect_from_content(self):
30336862Seadler        with open(self.filename) as fobj:
31336862Seadler            result = magic.detect_from_content(fobj.read(4096))
32336862Seadler        self.assert_result(result)
33