# HG changeset patch # User Sylvain Thénault # Date 1297420163 -3600 # Node ID cac71b8a87118a5462d67de20a85007591c0e900 # Parent cb78108bf60368ef886f87383b8016a6dbba33ba [testlib] extract get_validator method from _check_html, move assertDocTestFile diff -r cb78108bf603 -r cac71b8a8711 devtools/testlib.py --- a/devtools/testlib.py Fri Feb 11 11:28:46 2011 +0100 +++ b/devtools/testlib.py Fri Feb 11 11:29:23 2011 +0100 @@ -663,13 +663,6 @@ # content validation ####################################################### - def assertDocTestFile(self, testfile): - # doctest returns tuple (failure_count, test_count) - result = self.shell().process_script(testfile) - if result[0] and result[1]: - raise self.failureException("doctest file '%s' failed" - % testfile) - # validators are used to validate (XML, DTD, whatever) view's content # validators availables are : # DTDValidator : validates XML + declared DTD @@ -754,25 +747,33 @@ raise AssertionError, msg, tcbk return self._check_html(output, view, template) + def get_validator(self, view=None, content_type=None, output=None): + if view is not None: + try: + return self.vid_validators[view.__regid__]() + except KeyError: + if content_type is None: + content_type = view.content_type + if content_type is None: + content_type = 'text/html' + if content_type in ('text/html', 'application/xhtml+xml'): + if output and output.startswith(' used in progress widget, unknown in html dtd output = re.sub('', '', output) @@ -815,6 +816,13 @@ msg += u'\nfor content:\n%s' % content raise AssertionError, msg, tcbk + def assertDocTestFile(self, testfile): + # doctest returns tuple (failure_count, test_count) + result = self.shell().process_script(testfile) + if result[0] and result[1]: + raise self.failureException("doctest file '%s' failed" + % testfile) + # deprecated ############################################################### @deprecated('[3.8] use self.execute(...).get_entity(0, 0)')