diff --git a/gluon/html.py b/gluon/html.py index 24e32e31..ba14d7b2 100644 --- a/gluon/html.py +++ b/gluon/html.py @@ -2831,10 +2831,24 @@ class MARKMIN(XmlComponent): def ASSIGNJS(**kargs): + """ + Example: + ASSIGNJS(var1='1', var2='2') will return the following javascript variables assignations : + + var var1 = "1"; + var var2 = "2"; + + Args: + **kargs: Any keywords arguments and assigned values. + + Returns: + Javascript vars assignations for the key/value passed. + + """ from gluon.serializers import json s = "" for key, value in kargs.items(): - s+='var %s = %s;\n' % (key, json(value)) + s += 'var %s = %s;\n' % (key, json(value)) return XML(s) diff --git a/gluon/tests/test_html.py b/gluon/tests/test_html.py index b5764c7f..36f117b1 100644 --- a/gluon/tests/test_html.py +++ b/gluon/tests/test_html.py @@ -452,6 +452,7 @@ class TestBareHelpers(unittest.TestCase): self.assertEqual(COL(_span='2').xml(), '
a | |||
b | |||
|
<>
') + self.assertEqual(MARKMIN("``hello_world = 'Hello World!'``:python").xml(), + 'hello_world = \'Hello World!\'')
- # TODO: def test_ASSIGNJS(self):
+ def test_ASSIGNJS(self):
+ # empty assignation
+ self.assertEqual(ASSIGNJS().xml(), '')
+ # text assignation
+ self.assertEqual(ASSIGNJS(var1='1', var2='2').xml(), 'var var1 = "1";\nvar var2 = "2";\n')
+ # int assignation
+ self.assertEqual(ASSIGNJS(var1=1, var2=2).xml(), 'var var1 = 1;\nvar var2 = 2;\n')
class TestData(unittest.TestCase):