def index_dictionary(self): """ Return dictionary prepared with module content and type for indexing. """ xblock_body = super(CapaDescriptor, self).index_dictionary() # Removing solutions and hints, as well as script and style capa_content = re.sub( re.compile( r""" <solution>.*?</solution> | <script>.*?</script> | <style>.*?</style> | <[a-z]*hint.*?>.*?</[a-z]*hint> """, re.DOTALL | re.VERBOSE), "", self.data ) capa_content = escape_html_characters(capa_content) capa_body = { "capa_content": capa_content, "display_name": self.display_name, } if "content" in xblock_body: xblock_body["content"].update(capa_body) else: xblock_body["content"] = capa_body xblock_body["content_type"] = self.INDEX_CONTENT_TYPE xblock_body["problem_types"] = list(self.problem_types) return xblock_body
def index_dictionary(self): """ Return dictionary prepared with module content and type for indexing. """ xblock_body = super(CapaDescriptor, self).index_dictionary() # Removing solutions and hints, as well as script and style capa_content = re.sub( re.compile( r""" <solution>.*?</solution> | <script>.*?</script> | <style>.*?</style> | <[a-z]*hint.*?>.*?</[a-z]*hint> """, re.DOTALL | re.VERBOSE), "", self.data) capa_content = escape_html_characters(capa_content) capa_body = { "capa_content": capa_content, "display_name": self.display_name, } if "content" in xblock_body: xblock_body["content"].update(capa_body) else: xblock_body["content"] = capa_body xblock_body["content_type"] = self.INDEX_CONTENT_TYPE xblock_body["problem_types"] = list(self.problem_types) return xblock_body
def test_escape_html_comments(self): html_content = """ <!--This is a comment. Comments are not displayed in the browser--> This is a paragraph. """ assert escape_html_characters(html_content) == self.final_content
def index_dictionary(self): xblock_body = super(HtmlDescriptor, self).index_dictionary() # Removing script and style html_content = re.sub( re.compile( r""" <script>.*?</script> | <style>.*?</style> """, re.DOTALL | re.VERBOSE), "", self.data ) html_content = escape_html_characters(html_content) html_body = { "html_content": html_content, "display_name": self.display_name, } if "content" in xblock_body: xblock_body["content"].update(html_body) else: xblock_body["content"] = html_body xblock_body["content_type"] = "Text" return xblock_body
def test_escape_html_comments(self): html_content = """ <!--This is a comment. Comments are not displayed in the browser--> This is a paragraph. """ self.assertEqual(escape_html_characters(html_content), self.final_content)
def test_escape_cdata_comments(self): html_content = """ <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> This is a paragraph. """ assert escape_html_characters(html_content) == self.final_content
def test_escape_cdata_comments(self): html_content = """ <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> This is a paragraph. """ self.assertEqual(escape_html_characters(html_content), self.final_content)
def test_escape_non_breaking_space(self): html_content = """ <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> This is a paragraph. """ assert escape_html_characters(html_content) == self.final_content
def test_escape_non_breaking_space(self): html_content = """ <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> This is a paragraph. """ self.assertEqual(escape_html_characters(html_content), self.final_content)