def test_parsable_text_once(self): def fake_parser(string, show_everything=False, translation=None, initial_header_level=3, debug=False): fake_parser.count += 1 return "" fake_parser.count = 0 orig_rst = ParsableText.rst ParsableText.rst = fake_parser pt = ParsableText("""``test``""", "rst") pt.rst = fake_parser pt.parse() str(pt) str(pt) ParsableText.rst = orig_rst assert fake_parser.count == 1
def test_parsable_text_once(self): def fake_parser(input, language, show_everything): fake_parser.count += 1 return "" fake_parser.count = 0 orig_rst = ParsableText.rst ParsableText.rst = fake_parser pt = ParsableText("""``test``""", "rst") pt.rst = fake_parser pt.parse() str(pt) str(pt) ParsableText.rst = orig_rst assert fake_parser.count == 1
def _transform_rst_content(content): """ transform the rst content """ try: _check_string(content) except APIError as error: error.send() if not content: content = "**There is not content yet**\n============================" comment = ParsableText(content) return comment.parse()
def test_failing_parser_injection(self): def fake_parser(input): raise Exception() fake_parser.count = 0 orig_rst = ParsableText.rst ParsableText.rst = fake_parser pt = ParsableText("""<script type="text/javascript">alert('Eh, XSS injection!');</script>""") rendered = pt.parse() ParsableText.rst = orig_rst assert "<script " in rendered