1+ # pylint: disable=import-error,no-name-in-module
2+ from distutils .version import StrictVersion
3+ # pylint: enable=import-error,no-name-in-module
4+ from io import StringIO
15import unittest
26import re
3- from io import StringIO
4- from lxml import objectify , etree
5- from sphinx_testing import path
67import pkg_resources
7- from distutils . version import StrictVersion
8+ from lxml import etree
89from sphinx import __version__ as __sphinx_version__
910from sphinx .builders .html import StandaloneHTMLBuilder
1011
@@ -15,15 +16,15 @@ def _parse(xml):
1516 return etree .parse (StringIO (xml ), parser )
1617
1718
18- def _strip_xmlns (x ):
19- return x .replace (' xmlns="http://www.w3.org/1999/xhtml"' , '' )
19+ def _strip_xmlns (xml ):
20+ return xml .replace (' xmlns="http://www.w3.org/1999/xhtml"' , '' )
2021
2122
2223def get_scripts (xml ):
2324 tree = _parse (xml )
2425 scripts = tree .findall ('.//{*}script' )
25- return [x .replace ( '_static/' , '' )
26- for x in filter ( lambda x : x is not None , [ x . get ( 'src' ) for x in scripts ]) ]
26+ scripts = [x .get ( 'src' ) for x in scripts ]
27+ return [ x . replace ( '_static/' , '' ) for x in scripts if x is not None ]
2728
2829
2930def get_stylesheets (xml ):
@@ -40,32 +41,41 @@ def get_body(xml):
4041
4142def normalize_xml (xml ):
4243 content = re .sub (r'>\s+<' , '><' , xml )
43- content = etree .tostring (_parse (content ), pretty_print = True ).decode ('utf-8' )
44+ content = etree .tostring (
45+ _parse (content ), pretty_print = True ).decode ('utf-8' )
4446 return content
4547
4648
4749class TestCase (unittest .TestCase ):
48- def tearDown (self ):
50+ def tearDown (self ): # pylint: disable=invalid-name
4951 # Reset script and css files after test
50- StandaloneHTMLBuilder .script_files = StandaloneHTMLBuilder .script_files [:3 ]
52+ StandaloneHTMLBuilder .script_files = \
53+ StandaloneHTMLBuilder .script_files [:3 ]
5154 if StrictVersion (__sphinx_version__ ) > StrictVersion ('1.6.0' ):
55+ # pylint: disable=no-name-in-module
5256 from sphinx .builders .html import CSSContainer
5357 StandaloneHTMLBuilder .css_files = CSSContainer ()
58+ # pylint: enable=no-name-in-module
5459 else :
5560 StandaloneHTMLBuilder .css_files = []
5661
57- def get_result (self , app , filename ):
62+ @staticmethod
63+ def get_result (app , filename ):
5864 return (app .outdir / (filename + '.html' )).read_text (encoding = 'utf-8' )
5965
60- def get_expectation (self , dirname , filename ):
61- return pkg_resources .resource_string (__name__ , '%s/%s.html' % (dirname , filename )).decode ('utf-8' )
66+ @staticmethod
67+ def get_expectation (dirname , filename ):
68+ return pkg_resources .resource_string (
69+ __name__ , '%s/%s.html' % (dirname , filename )).decode ('utf-8' )
6270
63- def assertXMLEqual (self , expected , actual ):
71+ def assertXMLEqual ( # pylint: disable=invalid-name
72+ self , expected , actual ):
6473 expected = normalize_xml (expected )
6574 actual = normalize_xml (get_body (actual ))
6675 self .assertEqual (expected , actual )
6776
68- def assertHasTabsAssets (self , xml , filter_scripts = None ):
77+ def assertHasTabsAssets ( # pylint: disable=invalid-name
78+ self , xml , filter_scripts = None ):
6979 stylesheets = get_stylesheets (xml )
7080 scripts = get_scripts (xml )
7181 if filter_scripts is not None :
@@ -87,7 +97,8 @@ def assertHasTabsAssets(self, xml, filter_scripts=None):
8797 'sphinx_tabs/semantic-ui-2.2.10/tab.min.js'
8898 ])
8999
90- def assertDoesNotHaveTabsAssets (self , xml ):
100+ def assertDoesNotHaveTabsAssets ( # pylint: disable=invalid-name
101+ self , xml ):
91102 stylesheets = get_stylesheets (xml )
92103 scripts = get_scripts (xml )
93104 self .assertEqual (stylesheets , [
@@ -101,10 +112,12 @@ def assertDoesNotHaveTabsAssets(self, xml):
101112 'doctools.js'
102113 ])
103114
104- def assertStylesheetsEqual (self , expected , xml ):
115+ def assertStylesheetsEqual ( # pylint: disable=invalid-name
116+ self , expected , xml ):
105117 actual = get_stylesheets (xml )
106118 self .assertEqual (expected , actual )
107119
108- def assertScriptsEqual (self , expected , xml ):
120+ def assertScriptsEqual ( # pylint: disable=invalid-name
121+ self , expected , xml ):
109122 actual = get_scripts (xml )
110123 self .assertEqual (expected , actual )
0 commit comments