def testSQARequirementMatrix(self): tok = sqa.SQARequirementMatrix(None) res = self.render(tok, renderer=base.HTMLRenderer()) self.assertSize(res, 1) self.assertHTMLTag(res(0), 'ul', size=0, class_='moose-sqa-requirements') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertSize(res, 1) self.assertHTMLTag( res(0), 'ul', size=0, class_='moose-sqa-requirements collection with-header') res = self.render(tok, renderer=base.RevealRenderer()) self.assertSize(res, 1) self.assertHTMLTag(res(0), 'ul', size=0, class_='moose-sqa-requirements') res = self.render(tok, renderer=base.LatexRenderer()) self.assertSize(res, 0)
def testSQARequirementMatrixItemUnSatisfied(self): tok = sqa.SQARequirementMatrixItem(None, label='F1.1.1', satisfied=False) res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag( res(0)(0), 'span', string='F1.1.1', class_= 'moose-sqa-requirement-number moose-sqa-requirement-unsatisfied') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag( res(0)(0), 'span', string='F1.1.1', class_= 'moose-sqa-requirement-number tooltipped moose-sqa-requirement-unsatisfied' ) res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag( res(0)(0), 'span', string='F1.1.1', class_= 'moose-sqa-requirement-number moose-sqa-requirement-unsatisfied') res = self.render(tok, renderer=base.LatexRenderer()) arg = res(0)['args'][0] self.assertLatex(arg(0), 'Command', 'textcolor', string='F1.1.1') self.assertLatexArg(arg(0), 0, 'Brace', string='red')
def testBookmark(self): link = autolink.AutoLink(None, page='core.md', bookmark='unordered-nested-lists') res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'a', size=3, href='extensions/core.html#unordered-nested-lists') self.assertHTMLString(res(0)(0), 'Nested') self.assertHTMLString(res(0)(1), ' ') self.assertHTMLString(res(0)(2), 'lists') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', size=3, href='extensions/core.html#unordered-nested-lists') self.assertHTMLString(res(0)(0), 'Nested') self.assertHTMLString(res(0)(1), ' ') self.assertHTMLString(res(0)(2), 'lists') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', size=3, href='extensions/core.html#unordered-nested-lists') self.assertHTMLString(res(0)(0), 'Nested') self.assertHTMLString(res(0)(1), ' ') self.assertHTMLString(res(0)(2), 'lists') res = self.render(link, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatex(res(0), 'Command', 'hyperref') self.assertLatexArg(res(0), 0, 'Bracket', 'unordered-nested-lists') self.assertLatexString(res(0)(0), 'Nested') self.assertLatexString(res(0)(1), ' ') self.assertLatexString(res(0)(2), 'lists')
def testSQARequirementDesign(self, mock_design): """ RenderSQARequirementDesign.findDesign tries to look up a page via the translator.findPage, but the current setup for unit testing is not setup to allow for page lookups, so this is just testing for the error case for now. TODO: MooseDocsTestCase needs to handle the ability to find pages """ mock_design.return_value = None # Allows log error to be skipped tok = sqa.SQARequirementDesign(None, design=['file.md'], line=42, filename='file') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'p', size=2, class_='moose-sqa-items') self.assertHTMLString(res(0)(0), 'Design: ') self.assertHTMLTag(res(0)(1), 'a', string='file.md', class_='moose-sqa-error') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=2, class_='moose-sqa-items') self.assertHTMLString(res(0)(0), 'Design: ') self.assertHTMLTag(res(0)(1), 'a', string='file.md', class_='moose-sqa-error') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=2, class_='moose-sqa-items') self.assertHTMLString(res(0)(0), 'Design: ') self.assertHTMLTag(res(0)(1), 'a', string='file.md', class_='moose-sqa-error') res = self.render(tok, renderer=base.LatexRenderer()) self.assertSize(res, 2) self.assertLatexString(res(0), 'Design:~') self.assertLatex(res(1), 'Command', 'textcolor') self.assertLatexArg(res(1), 0, 'Brace', string='red') self.assertLatexString(res(1)(0), 'file.md')
def testSQARequirementMatrixItemSatisfied(self): tok = sqa.SQARequirementMatrixItem(None, label='F1.1.1', reqname='path:Foo') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'li', size=2) self.assertHTMLTag(res(0)(0), 'span', string='F1.1.1', class_='moose-sqa-requirement-number') self.assertHTMLTag(res(0)(1), 'span', size=0, class_='moose-sqa-requirement-content') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1, class_='moose-content') self.assertHTMLTag(res(0), 'li', size=2, class_='collection-item') self.assertHTMLTag(res(0)(0), 'span', string='F1.1.1', id_='path:Foo', class_='moose-sqa-requirement-number tooltipped', **{'data-tooltip':'path:Foo'}) self.assertHTMLTag(res(0)(1), 'span', size=0, class_='moose-sqa-requirement-content') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'li', size=2) self.assertHTMLTag(res(0)(0), 'span', string='F1.1.1', class_='moose-sqa-requirement-number') self.assertHTMLTag(res(0)(1), 'span', size=0, class_='moose-sqa-requirement-content') res = self.render(tok, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatex(res(0), 'Environment', 'Requirement') self.assertLatexArg(res(0), 0, 'Brace', string='F1.1.1')
def testSQARequirementIssues(self): tok = sqa.SQARequirementIssues(None, issues=['#1', '#2'], url='https://github.com/idaholab/moose') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'p', size=3, class_='moose-sqa-items') self.assertHTMLString(res(0)(0), 'Issue(s): ') self.assertHTMLTag(res(0)(1), 'a', string='#1', href='https://github.com/idaholab/moose/issues/1') self.assertHTMLTag(res(0)(2), 'a', string='#2', href='https://github.com/idaholab/moose/issues/2') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=3, class_='moose-sqa-items') self.assertHTMLString(res(0)(0), 'Issue(s): ') self.assertHTMLTag(res(0)(1), 'a', string='#1', href='https://github.com/idaholab/moose/issues/1') self.assertHTMLTag(res(0)(2), 'a', string='#2', href='https://github.com/idaholab/moose/issues/2') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=3, class_='moose-sqa-items') self.assertHTMLString(res(0)(0), 'Issue(s): ') self.assertHTMLTag(res(0)(1), 'a', string='#1', href='https://github.com/idaholab/moose/issues/1') self.assertHTMLTag(res(0)(2), 'a', string='#2', href='https://github.com/idaholab/moose/issues/2') res = self.render(tok, renderer=base.LatexRenderer()) self.assertSize(res, 3) self.assertLatexString(res(0), 'Issue(s):~') self.assertLatex(res(1), 'Command', 'href', string='#1') self.assertLatexArg(res(1), 0, 'Brace', 'https://github.com/idaholab/moose/issues/1') self.assertLatex(res(2), 'Command', 'href', string='#2') self.assertLatexArg(res(2), 0, 'Brace', 'https://github.com/idaholab/moose/issues/2')
def testBookmarkWrong(self): link = autolink.AutoLink(None, page='core.md', bookmark='wrong') res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'a', string='extensions/core.html#wrong', href='extensions/core.html#wrong', class_='moose-error') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', string='extensions/core.html#wrong', href='extensions/core.html#wrong', class_='moose-error') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', string='extensions/core.html#wrong', href='extensions/core.html#wrong', class_='moose-error') res = self.render(link, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatexString(res(0), '_text_')
def testSQARequirementPrequisites(self): tok = sqa.SQARequirementPrequisites(None, specs=[('path', 'name0', 'F1.1'), ('path', 'name1', 'F1.2')]) res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'p', size=3) self.assertHTMLString(res(0)(0), 'Prerequisite(s): ') self.assertHTMLTag(res(0)(1), 'a', string='F1.1', href='#path:name0') self.assertHTMLTag(res(0)(2), 'a', string='F1.2', href='#path:name1') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=3) self.assertHTMLString(res(0)(0), 'Prerequisite(s): ') self.assertHTMLTag(res(0)(1), 'a', string='F1.1', href='#path:name0') self.assertHTMLTag(res(0)(2), 'a', string='F1.2', href='#path:name1') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=3) self.assertHTMLString(res(0)(0), 'Prerequisite(s): ') self.assertHTMLTag(res(0)(1), 'a', string='F1.1', href='#path:name0') self.assertHTMLTag(res(0)(2), 'a', string='F1.2', href='#path:name1') res = self.render(tok, renderer=base.LatexRenderer()) self.assertLatexString(res(0), 'Prerequisite(s):~') self.assertLatexString(res(1), 'F1.1; F1.2')
def testSQARequirementDetails(self): tok = sqa.SQARequirementDetails(None) sqa.SQARequirementDetailItem(tok, label='foo') sqa.SQARequirementDetailItem(tok, label='bar') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'ol', size=2, class_='moose-sqa-details-list') self.assertHTMLTag(res(0)(0), 'li', size=0, class_='moose-sqa-detail-item') self.assertHTMLTag(res(0)(1), 'li', size=0, class_='moose-sqa-detail-item') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'ol', size=2, class_='moose-sqa-details-list') self.assertHTMLTag(res(0)(0), 'li', size=0, class_='moose-sqa-detail-item') self.assertHTMLTag(res(0)(1), 'li', size=0, class_='moose-sqa-detail-item') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'ol', size=2, class_='moose-sqa-details-list') self.assertHTMLTag(res(0)(0), 'li', size=0, class_='moose-sqa-detail-item') self.assertHTMLTag(res(0)(1), 'li', size=0, class_='moose-sqa-detail-item') res = self.render(tok, renderer=base.LatexRenderer()) self.assertLatex(res(0), 'Environment', 'enumerate') self.assertLatex(res(0)(0), 'Command', 'item') self.assertLatex(res(0)(1), 'Command', 'item')
def testURLAlternative(self): link = autolink.AutoLink(None, page='not_a_file.md', alternative='https://www.google.com/') core.Word(link, content='Google') res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'a', href='https://www.google.com/', string='Google') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', href='https://www.google.com/', string='Google') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', href='https://www.google.com/', string='Google')
def _testBookmarkHelper(self, link): res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'a', size=3, href='extensions/core.html#unordered-nested-lists') self.assertHTMLString(res(0)(0), 'Nested') self.assertHTMLString(res(0)(1), ' ') self.assertHTMLString(res(0)(2), 'lists') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', size=3, href='extensions/core.html#unordered-nested-lists') self.assertHTMLString(res(0)(0), 'Nested') self.assertHTMLString(res(0)(1), ' ') self.assertHTMLString(res(0)(2), 'lists') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', size=3, href='extensions/core.html#unordered-nested-lists') self.assertHTMLString(res(0)(0), 'Nested') self.assertHTMLString(res(0)(1), ' ') self.assertHTMLString(res(0)(2), 'lists')
def _testOptionalHelper(self, link): res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', string='not_a_file.md') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', string='not_a_file.md') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', string='not_a_file.md')
def testMinimalHTML(self): """SourceLink is just a container for other tokens; by itself it does nothing.""" link = autolink.SourceLink(None) res = self.render(link, renderer=base.HTMLRenderer()) self.assertSize(res, 0) res = self.render(link, renderer=base.MaterializeRenderer()) self.assertSize(res, 0) res = self.render(link, renderer=base.RevealRenderer()) self.assertSize(res, 0)
def _testLinkHelper(self, link): res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self._assertHTML(res(0))
def testLocalLinkAlternative(self): link = autolink.AutoLink(None, page='not_a_file.md', alternative='#bookmark') res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'a', string='_text_#bookmark') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', string='_text_#bookmark') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', string='_text_#bookmark')
def testSQARequirementText(self): tok = sqa.SQARequirementText(None, string='stuff') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', string='stuff') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', string='stuff') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', string='stuff') res = self.render(tok, renderer=base.LatexRenderer()) self.assertLatexString(res(0), 'stuff')
def testOptional(self): link = autolink.AutoLink(None, page='not_a_file.md', optional=True) res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', string='_text_') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', string='_text_') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', string='_text_') res = self.render(link, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatexString(res(0), '_text_')
def testExact(self): link = autolink.AutoLink(None, page='extensions/core.md', exact=True) res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.LatexRenderer()) self.assertSize(res, 1) self._assertLatex(res(0))
def testSQARequirementMatrixHeading(self): root = sqa.SQARequirementMatrix(None) sqa.SQARequirementMatrixItem(root, label='F1.1.1') tok = sqa.SQARequirementMatrixHeading(root, category='MOOSE') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertSize(res, 0) res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'li', string='MOOSE: ', class_='collection-header') res = self.render(tok, renderer=base.RevealRenderer()) self.assertSize(res, 0) res = self.render(tok, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatex(res(0), 'Command', 'section*', string='F1:~')
def testMinimal(self): link = autolink.AutoLink(None, page='core.md') res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self._assertHTML(res(0)) res = self.render(link, renderer=base.LatexRenderer()) self.assertSize(res, 1) self._assertLatex(res(0))
def testMinimal(self): link = autolink.LocalLink(None, bookmark='bookmark') res = self.render(link, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'a', string='_text_#bookmark') res = self.render(link, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', string='_text_#bookmark') res = self.render(link, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'a', string='_text_#bookmark') # Heading is not founc (see testMinimalLatex) res = self.render(link, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatexString(res(0), '_text_')
def testSQARequirementMatrixListItem(self): tok = sqa.SQARequirementMatrixListItem(None, label='F1.1.1') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res(0), 'li', size=2) self.assertHTMLTag(res(0)(0), 'span', string='F1.1.1', class_='moose-sqa-requirement-number') self.assertHTMLTag(res(0)(1), 'span', size=0, class_='moose-sqa-requirement-content') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1, class_='moose-content') self.assertHTMLTag(res(0), 'li', size=2, class_='collection-item') self.assertHTMLTag(res(0)(0), 'span', string='F1.1.1', class_='moose-sqa-requirement-number') self.assertHTMLTag(res(0)(1), 'span', size=0, class_='moose-sqa-requirement-content') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res(0), 'li', size=2) self.assertHTMLTag(res(0)(0), 'span', string='F1.1.1', class_='moose-sqa-requirement-number') self.assertHTMLTag(res(0)(1), 'span', size=0, class_='moose-sqa-requirement-content') res = self.render(tok, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatex(res(0), 'Environment', 'Requirement') self.assertLatexArg(res(0), 0, 'Brace', string='F1.1.1')
def testSQARequirementSpecification(self): tok = sqa.SQARequirementSpecification(None, spec_name='name', spec_path='path') res = self.render(tok, renderer=base.HTMLRenderer()) self.assertHTMLTag(res, 'body', size=1) self.assertHTMLTag(res(0), 'p', size=1) self.assertHTMLString(res(0)(0), 'Specification: path:name') res = self.render(tok, renderer=base.MaterializeRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=1) self.assertHTMLString(res(0)(0), 'Specification: ') res = self.render(tok, renderer=base.RevealRenderer()) self.assertHTMLTag(res, 'div', size=1) self.assertHTMLTag(res(0), 'p', size=1) self.assertHTMLString(res(0)(0), 'Specification: path:name') res = self.render(tok, renderer=base.LatexRenderer()) self.assertSize(res, 1) self.assertLatexString(res(0), 'Specification: path:name')
def testReveal(self): _, res = self.execute(self.TEXT, renderer=base.RevealRenderer()) self._assertHTML(res)