def test_notification_context_for_edit(create_revision, edit_revision): """Test the notification context for an edited English page.""" context = notification_context(edit_revision) utm_campaign = ('?utm_campaign=Wiki+Doc+Edits&utm_medium=email' '&utm_source=developer.mozilla.org') url = '/en-US/docs/Root' user_url = reverse('users.user_detail', kwargs={'username': '******'}) compare_url = (url + "$compare?to=%d" % edit_revision.id + "&from=%d" % create_revision.id + utm_campaign.replace("?", "&")) diff = """\ --- [en-US] #%d +++ [en-US] #%d @@ -5,7 +5,7 @@ </head> <body> <p> - Getting started... + The root document. </p> </body> </html>""" % (create_revision.id, edit_revision.id) expected = { 'creator': edit_revision.creator, 'diff': diff, 'document_title': 'Root Document', 'locale': 'en-US' } expected_urls = { 'compare_url': order_params(compare_url), 'edit_url': order_params(url + '$edit' + utm_campaign), 'history_url': order_params(url + '$history' + utm_campaign), 'user_url': order_params(user_url + utm_campaign), 'view_url': url + utm_campaign } assert_expectations_url(context, expected, expected_urls)
def test_merge_query_param(self): original = 'http://example.com/?spam=eggs' url = QueryURLObject(original) assert original == url.merge_query_param('spam', 'eggs') assert original + '&spam=spam' == url.merge_query_param('spam', 'spam') original = 'http://example.com/?foo=&spam=eggs&foo=bar' url = QueryURLObject(original) merged_url = order_params(url.merge_query_param('foo', None)) assert merged_url == 'http://example.com/?foo=&foo=bar&spam=eggs' merged_url = order_params(url.merge_query_param('foo', [None])) assert merged_url == 'http://example.com/?foo=&foo=bar&spam=eggs' # bug 930300 url = QueryURLObject('http://example.com/en-US/search?q=javascript%20&&&highlight=false') merged_url = order_params(url.merge_query_param('topic', 'api')) assert merged_url == 'http://example.com/en-US/search?highlight=false&q=javascript&topic=api'
def get_compare_url(doc, from_id, to_id): return order_params( urlparams( reverse("wiki.compare_revisions", args=[doc.slug], locale=doc.locale), **{ "from": from_id, "to": to_id }, ))
def test_notification_context_for_translation(trans_revision, create_revision): """Test the notification context for a created English page.""" context = notification_context(trans_revision) utm_campaign = ('?utm_campaign=Wiki+Doc+Edits&utm_medium=email' '&utm_source=developer.mozilla.org') url = '/fr/docs/Racine' user_url = reverse('users.user_detail', kwargs={'username': '******'}) compare_url = (url + "$compare?to=%d" % trans_revision.id + "&from=%d" % create_revision.id + utm_campaign.replace("?", "&")) diff = """\ --- [en-US] #%d +++ [fr] #%d @@ -5,7 +5,7 @@ </head> <body> <p> - Getting started... + Mise en route... </p> </body> </html>""" % (create_revision.id, trans_revision.id) expected = { 'creator': trans_revision.creator, 'diff': diff, 'document_title': 'Racine du Document', 'locale': 'fr' } expected_urls = { 'compare_url': order_params(compare_url), 'edit_url': order_params(url + '$edit' + utm_campaign), 'history_url': order_params(url + '$history' + utm_campaign), 'user_url': order_params(user_url + utm_campaign), 'view_url': order_params(url + utm_campaign) } assert_expectations_url(context, expected, expected_urls)
def test_merge_query_param(self): original = 'http://example.com/?spam=eggs' url = QueryURLObject(original) assert original == url.merge_query_param('spam', 'eggs') assert original + '&spam=spam' == url.merge_query_param('spam', 'spam') original = 'http://example.com/?foo=&spam=eggs&foo=bar' url = QueryURLObject(original) merged_url = order_params(url.merge_query_param('foo', None)) assert merged_url == 'http://example.com/?foo=&foo=bar&spam=eggs' merged_url = order_params(url.merge_query_param('foo', [None])) assert merged_url == 'http://example.com/?foo=&foo=bar&spam=eggs' # bug 930300 url = QueryURLObject( 'http://example.com/en-US/search?q=javascript%20&&&highlight=false' ) merged_url = order_params(url.merge_query_param('topic', 'api')) assert merged_url == 'http://example.com/en-US/search?highlight=false&q=javascript&topic=api'
def test_notification_context_for_create(create_revision): """Test the notification context for a created English page.""" context = notification_context(create_revision) utm_campaign = ('?utm_campaign=Wiki+Doc+Edits&utm_medium=email' '&utm_source=developer.mozilla.org') url = '/en-US/docs/Root' user_url = reverse('users.user_detail', kwargs={'username': '******'}) expected = { 'compare_url': '', 'creator': create_revision.creator, 'diff': 'Diff is unavailable.', 'document_title': 'Root Document', 'locale': 'en-US' } expected_urls = { 'edit_url': order_params(url + '$edit' + utm_campaign), 'history_url': order_params(url + '$history' + utm_campaign), 'user_url': order_params(user_url + utm_campaign), 'view_url': order_params(url + utm_campaign) } assert_expectations_url(context, expected, expected_urls)
def test_notification_context_for_create(create_revision): """Test the notification context for a created English page.""" context = notification_context(create_revision) utm_campaign = ("?utm_campaign=Wiki+Doc+Edits&utm_medium=email" "&utm_source=developer.mozilla.org") url = "/en-US/docs/Root" user_url = reverse("users.user_detail", kwargs={"username": "******"}) expected = { "compare_url": "", "creator": create_revision.creator, "diff": "Diff is unavailable.", "document_title": "Root Document", "locale": "en-US", } expected_urls = { "edit_url": order_params(url + "$edit" + utm_campaign), "history_url": order_params(url + "$history" + utm_campaign), "user_url": order_params(user_url + utm_campaign), "view_url": order_params(url + utm_campaign), } assert_expectations_url(context, expected, expected_urls)
def test_notification_context_for_create(create_revision): """Test the notification context for a created English page.""" context = notification_context(create_revision) utm_campaign = ('?utm_campaign=Wiki+Doc+Edits&utm_medium=email' '&utm_source=developer.mozilla.org') url = '/en-US/docs/Root' user_url = reverse('users.user_detail', kwargs={'username': '******'}) expected = { 'compare_url': '', 'creator': create_revision.creator, 'diff': 'Diff is unavailable.', 'document_title': 'Root Document', 'locale': 'en-US' } expected_urls = { 'edit_url': order_params(url + '$edit' + utm_campaign), 'history_url': order_params(url + '$history' + utm_campaign), 'user_url': order_params(user_url + utm_campaign), 'view_url': order_params(url + utm_campaign) } assert_expectations_url(context, expected, expected_urls)
def __iter__(self): input = html5lib_Filter.__iter__(self) for token in input: yield token if token['type'] == 'StartTag' and token['name'] in SECTION_TAGS: attrs = dict(token['data']) for (namespace, name), value in attrs.items(): if name == 'id' and value: ts = ({'type': 'StartTag', 'name': 'a', 'data': { (None, u'title'): ugettext('Edit section'), (None, u'class'): 'edit-section', (None, u'data-section-id'): value, (None, u'data-section-src-url'): order_params(u'%s?%s' % ( reverse('wiki.document', args=[self.slug], locale=self.locale), urlencode({'section': value.encode('utf-8'), 'raw': 'true'}) )), (None, u'href'): order_params(u'%s?%s' % ( reverse('wiki.edit', args=[self.slug], locale=self.locale), (urlencode({'section': value.encode('utf-8'), 'edit_links': 'true'}) ))) }}, {'type': 'Characters', 'data': ugettext(u'Edit')}, {'type': 'EndTag', 'name': 'a'}) for t in ts: yield t
def __iter__(self): input = html5lib_Filter.__iter__(self) for token in input: yield token if token['type'] == 'StartTag' and token['name'] in SECTION_TAGS: attrs = dict(token['data']) for (namespace, name), value in attrs.items(): if name == 'id' and value: ts = ({'type': 'StartTag', 'name': 'a', 'data': { (None, u'title'): ugettext('Edit section'), (None, u'class'): 'edit-section', (None, u'data-section-id'): value, (None, u'data-section-src-url'): order_params(u'%s?%s' % ( reverse('wiki.document', args=[self.slug], locale=self.locale), urlencode({'section': value.encode('utf-8'), 'raw': 'true'}) )), (None, u'href'): order_params(u'%s?%s' % ( reverse('wiki.edit', args=[self.slug], locale=self.locale), (urlencode({'section': value.encode('utf-8'), 'edit_links': 'true'}) ))) }}, {'type': 'Characters', 'data': ugettext(u'Edit')}, {'type': 'EndTag', 'name': 'a'}) for t in ts: yield t
def get_compare_url(doc, from_id, to_id): return order_params(urlparams( reverse('wiki.compare_revisions', args=[doc.slug], locale=doc.locale), **{'from': from_id, 'to': to_id} ))
def get_compare_url(doc, from_id, to_id): return order_params(urlparams( reverse('wiki.compare_revisions', args=[doc.slug], locale=doc.locale), **{'from': from_id, 'to': to_id} ))
def test_order_params(original, expected): assert order_params(original) == expected
def test_order_params(original, expected): assert order_params(original) == expected
def assert_expectations_url(context, expected, expected_urls): for key in expected.keys(): assert context[key] == expected[key] for key in expected_urls.keys(): assert order_params(context[key]) == expected_urls[key]
def assert_expectations_url(context, expected, expected_urls): for key in expected.keys(): assert context[key] == expected[key] for key in expected_urls.keys(): assert order_params(context[key]) == expected_urls[key]