def test_request_args_string(self, render_to_template):
     """
     If request_args is a string, it must be escaped and passed to the
     template.
     """
     request = self.factory.get('/')
     browserid_button(request, request_args='{"siteName": "test"}')
     self.assertEqual(render_to_template.call_args[0][1]['request_args'],
                      '{"siteName": "test"}')
 def test_request_args_dict(self, render_to_template):
     """
     If request_args is a dict, it must be passed to the template as a JSON
     string.
     """
     request = self.factory.get('/')
     browserid_button(request, request_args={'siteName': 'test'})
     self.assertEqual(render_to_template.call_args[0][1]['request_args'],
                      '{"siteName": "test"}')
 def test_form_extras(self):
     """form_extras should be rendered as hidden inputs in the button."""
     request = self.factory.get('/')
     button = browserid_button(request, form_extras={'test': 'blah'})
     d = pq(button)
     hidden_input = d('form.browserid-form input[name="test"]')
     self.assertEqual(hidden_input.val(), 'blah')
 def test_link_class(self):
     """link_class should control the class attribute on the link."""
     request = self.factory.get('/')
     button = browserid_button(request, link_class='blah goo')
     d = pq(button)
     link = d('a')
     self.assertTrue(link.hasClass('blah'))
     self.assertTrue(link.hasClass('goo'))
     self.assertTrue(link.hasClass('browserid-login'))