?? pygments.py
字號(hào):
# -*- coding: utf-8 -*-## Copyright (C) 2006-2007 Edgewall Software# All rights reserved.## This software is licensed as described in the file COPYING, which# you should have received as part of this distribution. The terms# are also available at http://trac.edgewall.org/wiki/TracLicense.## This software consists of voluntary contributions made by many# individuals. For the exact contribution history, see the revision# history and logs, available at http://trac.edgewall.org/log/.import osimport reimport unittestfrom genshi.core import Stream, TEXTfrom genshi.input import HTMLParser, XMLtry: pygments = __import__('pygments', {}, {}, []) have_pygments = Trueexcept ImportError: have_pygments = Falsefrom trac.mimeview.api import Mimeview, Contextif have_pygments: from trac.mimeview.pygments import PygmentsRendererfrom trac.test import EnvironmentStub, Mockfrom trac.web.chrome import Chromefrom trac.web.href import Hrefclass PygmentsRendererTestCase(unittest.TestCase): def setUp(self): self.env = EnvironmentStub(enable=[Chrome, PygmentsRenderer]) self.pygments = Mimeview(self.env).renderers[0] self.req = Mock(base_path='',chrome={}, args={}, abs_href=Href('/'), href=Href('/'), session={}, perm=None, authname=None, tz=None) self.context = Context.from_request(self.req) pygments_html = open(os.path.join(os.path.split(__file__)[0], 'pygments.html')) self.pygments_html = Stream(list(HTMLParser(pygments_html))) def _expected(self, expected_id): return self.pygments_html.select('//div[@id="%s"]/*' % expected_id) def _test(self, expected_id, result): expected = str(self._expected(expected_id)) result = str(result) expected, result = expected.splitlines(), result.splitlines() for exp, res in zip(expected, result): self.assertEquals(exp, res) self.assertEquals(len(expected), len(result)) def test_python_hello(self): """ Simple Python highlighting with Pygments (direct) """ result = self.pygments.render(self.context, 'text/x-python', """def hello(): return "Hello World!"""") self.assertTrue(result) self._test('python_hello', result) def test_python_hello_mimeview(self): """ Simple Python highlighting with Pygments (through Mimeview.render) """ result = mimeview = Mimeview(self.env).render(self.context, 'text/x-python', """def hello(): return "Hello World!"""") self.assertTrue(result) self._test('python_hello_mimeview', result) def test_empty_content(self): """ Simple test for direct rendering of empty content. """ result = self.pygments.render(self.context, 'text/x-python', '') self.assertTrue(result) self._test('empty_content', result) def test_newline_content(self): """ stripnl defaults to True in Pygments! Even without it set, files still end up one line shorter. """ result = self.pygments.render(self.context, 'text/x-python', '\n\n\n\n') self.assertTrue(result) t = "".join([r[1] for r in result if r[0] is TEXT]) self.assertEqual("\n\n\n", t)def suite(): suite = unittest.TestSuite() if have_pygments: suite.addTest(unittest.makeSuite(PygmentsRendererTestCase, 'test')) else: print 'SKIP: mimeview/tests/pygments (no pygments installed)' return suiteif __name__ == '__main__': unittest.main(defaultTest='suite')
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -