Commit aeaddef3 by Oleg Marshev

Merge pull request #3917 from edx/oleg/add-span-tag-matlab

Accept span tag from xqueue. BLD-1006.
parents 0a30f24e daf4840c
...@@ -834,7 +834,7 @@ class MatlabInput(CodeInput): ...@@ -834,7 +834,7 @@ class MatlabInput(CodeInput):
'audio': ['controls', 'autobuffer', 'autoplay', 'src'], 'audio': ['controls', 'autobuffer', 'autoplay', 'src'],
'img': ['src', 'width', 'height', 'class']}) 'img': ['src', 'width', 'height', 'class']})
self.queue_msg = bleach.clean(self.input_state['queue_msg'], self.queue_msg = bleach.clean(self.input_state['queue_msg'],
tags=bleach.ALLOWED_TAGS + ['div', 'p', 'audio', 'pre', 'img'], tags=bleach.ALLOWED_TAGS + ['div', 'p', 'audio', 'pre', 'img', 'span'],
styles=['white-space'], styles=['white-space'],
attributes=attributes attributes=attributes
) )
......
...@@ -601,7 +601,6 @@ class MatlabTest(unittest.TestCase): ...@@ -601,7 +601,6 @@ class MatlabTest(unittest.TestCase):
elt = etree.fromstring(self.xml) elt = etree.fromstring(self.xml)
the_input = self.input_class(test_capa_system(), elt, state) the_input = self.input_class(test_capa_system(), elt, state)
context = the_input._get_render_context()
self.assertEqual(the_input.status, 'queued') self.assertEqual(the_input.status, 'queued')
...@@ -612,7 +611,6 @@ class MatlabTest(unittest.TestCase): ...@@ -612,7 +611,6 @@ class MatlabTest(unittest.TestCase):
elt = etree.fromstring(self.xml) elt = etree.fromstring(self.xml)
the_input = self.input_class(test_capa_system(), elt, state) the_input = self.input_class(test_capa_system(), elt, state)
context = the_input._get_render_context()
self.assertEqual(the_input.status, 'unsubmitted') self.assertEqual(the_input.status, 'unsubmitted')
self.assertEqual(the_input.msg, 'No response from Xqueue within {} seconds. Aborted.'.format(XQUEUE_TIMEOUT)) self.assertEqual(the_input.msg, 'No response from Xqueue within {} seconds. Aborted.'.format(XQUEUE_TIMEOUT))
...@@ -625,7 +623,6 @@ class MatlabTest(unittest.TestCase): ...@@ -625,7 +623,6 @@ class MatlabTest(unittest.TestCase):
elt = etree.fromstring(self.xml) elt = etree.fromstring(self.xml)
the_input = self.input_class(test_capa_system(), elt, state) the_input = self.input_class(test_capa_system(), elt, state)
context = the_input._get_render_context()
self.assertEqual(the_input.status, 'unsubmitted') self.assertEqual(the_input.status, 'unsubmitted')
...@@ -714,6 +711,35 @@ class MatlabTest(unittest.TestCase): ...@@ -714,6 +711,35 @@ class MatlabTest(unittest.TestCase):
received = fromstring(context['queue_msg']) received = fromstring(context['queue_msg'])
html_tree_equal(received, expected) html_tree_equal(received, expected)
def test_matlab_queue_message_allowed_tags(self):
"""
Test allowed tags.
"""
allowed_tags = ['div', 'p', 'audio', 'pre', 'span']
for tag in allowed_tags:
queue_msg = "<{0}>Test message</{0}>".format(tag)
state = {
'input_state': {'queue_msg': queue_msg},
'status': 'queued',
}
elt = etree.fromstring(self.xml)
the_input = self.input_class(test_capa_system(), elt, state)
self.assertEqual(the_input.queue_msg, queue_msg)
def test_matlab_queue_message_not_allowed_tag(self):
"""
Test not allowed tag.
"""
not_allowed_tag = 'script'
queue_msg = "<{0}>Test message</{0}>".format(not_allowed_tag)
state = {
'input_state': {'queue_msg': queue_msg},
'status': 'queued',
}
elt = etree.fromstring(self.xml)
the_input = self.input_class(test_capa_system(), elt, state)
expected = "&lt;script&gt;Test message&lt;/script&gt;"
self.assertEqual(the_input.queue_msg, expected)
def html_tree_equal(received, expected): def html_tree_equal(received, expected):
""" """
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment