def test_dev_breadcrumbs(): request = Mock() request.APP = None # Default, ``add_default`` argument defaults to False. s = render("{{ dev_breadcrumbs() }}", {"request": request}) doc = pq(s) crumbs = doc("li>a") eq_(len(crumbs), 2) eq_(crumbs.text(), "Developer Hub My Add-ons") eq_(crumbs.attr("href"), reverse("devhub.index")) s = render("{{ dev_breadcrumbs(add_default=True) }}", {"request": request}) doc = pq(s) crumbs = doc("li>a") eq_(len(crumbs), 3) eq_(crumbs.text(), "Add-ons Developer Hub My Add-ons") eq_(crumbs.eq(1).attr("href"), reverse("devhub.index")) # N default, some items. s = render( """{{ dev_breadcrumbs(items=[('/foo', 'foo'), ('/bar', 'bar')]) }}'""", {"request": request}, ) doc = pq(s) crumbs = doc("li>a") eq_(len(crumbs), 4) eq_(crumbs.eq(2).text(), "foo") eq_(crumbs.eq(2).attr("href"), "/foo") eq_(crumbs.eq(3).text(), "bar") eq_(crumbs.eq(3).attr("href"), "/bar")
def test_summarize_validation(): v = Mock() v.errors = 1 v.warnings = 1 eq_(render("{{ summarize_validation(validation) }}", {"validation": v}), u"1 error, 1 warning") v.errors = 2 eq_(render("{{ summarize_validation(validation) }}", {"validation": v}), u"2 errors, 1 warning") v.warnings = 2 eq_(render("{{ summarize_validation(validation) }}", {"validation": v}), u"2 errors, 2 warnings")
def test_summarize_validation(): v = Mock() v.errors = 1 v.warnings = 1 eq_(render('{{ summarize_validation(validation) }}', {'validation': v}), u'1 error, 1 warning') v.errors = 2 eq_(render('{{ summarize_validation(validation) }}', {'validation': v}), u'2 errors, 1 warning') v.warnings = 2 eq_(render('{{ summarize_validation(validation) }}', {'validation': v}), u'2 errors, 2 warnings')
def test_no_args_with_default(self): s = render("{{ dev_breadcrumbs(add_default=True) }}", {"request": self.request}) doc = pq(s) crumbs = doc("li") eq_(crumbs.text(), "Add-ons Developer Hub My Add-ons") eq_(crumbs.eq(1).children("a").attr("href"), reverse("devhub.index")) eq_(crumbs.eq(2).children("a"), [])
def test_with_app_and_items(self): product = Mock() product.name = 'Steamcube' product.id = 9999 product.app_slug = 'scube' product.type = amo.ADDON_WEBAPP product.get_dev_url.return_value = reverse('mkt.developers.apps.edit', args=[product.app_slug]) s = render( """{{ hub_breadcrumbs(product, items=[('/foo', 'foo'), ('/bar', 'bar')]) }}""", { 'request': self.request, 'product': product }) crumbs = pq(s)('li') expected = [ ('Home', reverse('home')), ('Developers', reverse('ecosystem.landing')), ('My Submissions', reverse('mkt.developers.apps')), ('Steamcube', product.get_dev_url()), ('foo', '/foo'), ('bar', '/bar'), ] amo.tests.check_links(expected, crumbs, verify=False)
def test_no_args(self): s = render('{{ dev_breadcrumbs() }}', {'request': self.request}) doc = pq(s) crumbs = doc('li') eq_(len(crumbs), 2) eq_(crumbs.text(), 'Developer Hub My Add-ons') eq_(crumbs.eq(1).children('a'), [])
def test_no_args(self): s = render('{{ dev_breadcrumbs() }}', {'request': self.request}) doc = pq(s) crumbs = doc('li') eq_(len(crumbs), 2) eq_(crumbs.text(), 'Developer Hub My Submissions') eq_(crumbs.eq(1).children('a'), [])
def test_no_args(self): s = render("{{ dev_breadcrumbs() }}", {"request": self.request}) doc = pq(s) crumbs = doc("li") eq_(len(crumbs), 2) eq_(crumbs.text(), "Developer Hub My Add-ons") eq_(crumbs.eq(1).children("a"), [])
def test_no_args_with_default(self): s = render('{{ dev_breadcrumbs(add_default=True) }}', {'request': self.request}) doc = pq(s) crumbs = doc('li') eq_(crumbs.text(), 'Add-ons Developer Hub My Add-ons') eq_(crumbs.eq(1).children('a').attr('href'), reverse('devhub.index')) eq_(crumbs.eq(2).children('a'), [])
def test_log_action_class(): v = Mock() for k, v in amo.LOG_BY_ID.iteritems(): if v.action_class is not None: cls = 'action-' + v.action_class else: cls = '' eq_(render('{{ log_action_class(id) }}', {'id': v.id}), cls)
def test_no_args_with_default(self): s = render('{{ dev_breadcrumbs(add_default=True) }}', {'request': self.request}) doc = pq(s) crumbs = doc('li') eq_(crumbs.text(), 'Add-ons Developer Hub My Submissions') eq_(crumbs.eq(1).children('a').attr('href'), reverse('devhub.index')) eq_(crumbs.eq(2).children('a'), [])
def test_log_action_class(): v = Mock() for k, v in amo.LOG_BY_ID.iteritems(): if v.action_class is not None: cls = "action-" + v.action_class else: cls = "" eq_(render("{{ log_action_class(id) }}", {"id": v.id}), cls)
def test_pagination_result_count(): jingo.load_helpers() pager = Mock() pager.start_index = lambda: 1 pager.end_index = lambda: 20 pager.paginator.count = 999 c = dict(pager=pager) eq_(u'Results <strong>1</strong>-<strong>20</strong> of ' '<strong>999</strong>', render("{{ pagination_result_count(pager) }}", c))
def test_with_items(self): s = render("""{{ dev_breadcrumbs(items=[('/foo', 'foo'), ('/bar', 'bar')]) }}'""", {'request': self.request}) doc = pq(s) crumbs = doc('li>a') eq_(len(crumbs), 4) eq_(crumbs.eq(2).text(), 'foo') eq_(crumbs.eq(2).attr('href'), '/foo') eq_(crumbs.eq(3).text(), 'bar') eq_(crumbs.eq(3).attr('href'), '/bar')
def test_showing_helper(): tpl = "{{ showing(query, tag, pager) }}" pager = Mock() pager.start_index = lambda: 1 pager.end_index = lambda: 20 pager.paginator.count = 1000 c = {} c['query'] = '' c['tag'] = '' c['pager'] = pager eq_('Showing 1 - 20 of 1000 results', render(tpl, c)) c['tag'] = 'foo' eq_('Showing 1 - 20 of 1000 results tagged with <strong>foo</strong>', render(tpl, c)) c['query'] = 'balls' eq_('Showing 1 - 20 of 1000 results for <strong>balls</strong> ' 'tagged with <strong>foo</strong>', render(tpl, c)) c['tag'] = '' eq_('Showing 1 - 20 of 1000 results for <strong>balls</strong>', render(tpl, c))
def test_with_items(self): s = render("""{{ hub_breadcrumbs(items=[('/foo', 'foo'), ('/bar', 'bar')]) }}'""", {'request': self.request}) crumbs = pq(s)('li') expected = [ ('My Submissions', reverse('mkt.developers.apps')), ('foo', '/foo'), ('bar', '/bar'), ] amo.tests.check_links(expected, crumbs, verify=False)
def test_with_items(self): s = render("""{{ hub_breadcrumbs(items=[('/foo', 'foo'), ('/bar', 'bar')]) }}'""", {'request': self.request}) crumbs = pq(s)('li') expected = [ ('Home', reverse('home')), ('Developers', reverse('ecosystem.landing')), ('foo', '/foo'), ('bar', '/bar'), ] amo.tests.check_links(expected, crumbs, verify=False)
def test_showing_helper(): translation.activate('en-US') tpl = "{{ showing(query, tag, pager) }}" pager = Mock() pager.start_index = lambda: 1 pager.end_index = lambda: 20 pager.paginator.count = 1000 c = {} c['query'] = '' c['tag'] = '' c['pager'] = pager eq_('Showing 1 - 20 of 1000 results', render(tpl, c)) c['tag'] = 'foo' eq_('Showing 1 - 20 of 1000 results tagged with <strong>foo</strong>', render(tpl, c)) c['query'] = 'balls' eq_('Showing 1 - 20 of 1000 results for <strong>balls</strong> ' 'tagged with <strong>foo</strong>', render(tpl, c)) c['tag'] = '' eq_('Showing 1 - 20 of 1000 results for <strong>balls</strong>', render(tpl, c))
def test_with_addon(self): addon = Mock() addon.name = "Firebug" addon.id = 1843 s = render("""{{ dev_breadcrumbs(addon) }}""", {"request": self.request, "addon": addon}) doc = pq(s) crumbs = doc("li") eq_(crumbs.text(), "Developer Hub My Add-ons Firebug") eq_(crumbs.eq(1).text(), "My Add-ons") eq_(crumbs.eq(1).children("a").attr("href"), reverse("devhub.addons")) eq_(crumbs.eq(2).text(), "Firebug") eq_(crumbs.eq(2).children("a"), [])
def test_with_items(self): s = render( """{{ dev_breadcrumbs(items=[('/foo', 'foo'), ('/bar', 'bar')]) }}'""", {"request": self.request}, ) doc = pq(s) crumbs = doc("li>a") eq_(len(crumbs), 4) eq_(crumbs.eq(2).text(), "foo") eq_(crumbs.eq(2).attr("href"), "/foo") eq_(crumbs.eq(3).text(), "bar") eq_(crumbs.eq(3).attr("href"), "/bar")
def test_with_addon(self): addon = Mock() addon.name = 'Firebug' addon.id = 1843 s = render("""{{ dev_breadcrumbs(addon) }}""", {'request': self.request, 'addon': addon}) doc = pq(s) crumbs = doc('li') eq_(crumbs.text(), 'Developer Hub My Submissions Firebug') eq_(crumbs.eq(1).text(), 'My Submissions') eq_(crumbs.eq(1).children('a').attr('href'), reverse('devhub.addons')) eq_(crumbs.eq(2).text(), 'Firebug') eq_(crumbs.eq(2).children('a'), [])
def test_with_items(self): s = render( """{{ hub_breadcrumbs(items=[('/foo', 'foo'), ('/bar', 'bar')]) }}'""", {'request': self.request}) crumbs = pq(s)('li') expected = [ ('Home', reverse('home')), ('Developers', reverse('ecosystem.landing')), ('foo', '/foo'), ('bar', '/bar'), ] amo.tests.check_links(expected, crumbs, verify=False)
def test_with_addon(self): addon = Mock() addon.name = 'Firebug' addon.id = 1843 s = render("""{{ dev_breadcrumbs(addon) }}""", {'request': self.request, 'addon': addon}) doc = pq(s) crumbs = doc('li') eq_(crumbs.text(), 'Developer Hub My Add-ons Firebug') eq_(crumbs.eq(1).text(), 'My Add-ons') eq_(crumbs.eq(1).children('a').attr('href'), reverse('devhub.addons')) eq_(crumbs.eq(2).text(), 'Firebug') eq_(crumbs.eq(2).children('a'), [])
def test_with_app(self): product = Mock() product.name = 'Steamcube' product.id = 9999 product.app_slug = 'scube' product.type = amo.ADDON_WEBAPP s = render("""{{ hub_breadcrumbs(product) }}""", {'request': self.request, 'product': product}) crumbs = pq(s)('li') expected = [ ('My Submissions', reverse('mkt.developers.apps')), ('Steamcube', None), ] amo.tests.check_links(expected, crumbs, verify=False)
def test_with_app(self): addon = Mock() addon.name = 'Firebug' addon.id = 1843 addon.app_slug = 'fbug' addon.type = amo.ADDON_WEBAPP s = render("""{{ hub_breadcrumbs(addon) }}""", {'request': self.request, 'addon': addon}) doc = pq(s) crumbs = doc('li') eq_(crumbs.eq(0).text(), 'My Submissions') eq_(crumbs.eq(0).children('a').attr('href'), reverse('mkt.developers.apps')) eq_(crumbs.eq(1).text(), 'Firebug') eq_(crumbs.eq(1).children('a'), [])
def test_with_app(self): product = Mock() product.name = 'Steamcube' product.id = 9999 product.app_slug = 'scube' product.type = amo.ADDON_WEBAPP s = render("""{{ hub_breadcrumbs(product) }}""", { 'request': self.request, 'product': product }) crumbs = pq(s)('li') expected = [ ('Home', reverse('home')), ('Developers', reverse('ecosystem.landing')), ('My Submissions', reverse('mkt.developers.apps')), ('Steamcube', None), ] amo.tests.check_links(expected, crumbs, verify=False)
def test_with_addon_and_items(self): addon = Mock() addon.name = 'Firebug' addon.id = 1843 addon.slug = 'fbug' s = render("""{{ dev_breadcrumbs(addon, items=[('/foo', 'foo'), ('/bar', 'bar')]) }}""", {'request': self.request, 'addon': addon}) doc = pq(s) crumbs = doc('li') eq_(len(crumbs), 5) eq_(crumbs.eq(2).text(), 'Firebug') eq_(crumbs.eq(2).children('a').attr('href'), reverse('devhub.addons.edit', args=[addon.slug])) eq_(crumbs.eq(3).text(), 'foo') eq_(crumbs.eq(3).children('a').attr('href'), '/foo') eq_(crumbs.eq(4).text(), 'bar') eq_(crumbs.eq(4).children('a').attr('href'), '/bar')
def test_with_app_and_items(self): product = Mock() product.name = 'Steamcube' product.id = 9999 product.app_slug = 'scube' product.type = amo.ADDON_WEBAPP product.get_dev_url.return_value = reverse('mkt.developers.apps.edit', args=[product.app_slug]) s = render("""{{ hub_breadcrumbs(product, items=[('/foo', 'foo'), ('/bar', 'bar')]) }}""", {'request': self.request, 'product': product}) crumbs = pq(s)('li') expected = [ ('My Submissions', reverse('mkt.developers.apps')), ('Steamcube', product.get_dev_url()), ('foo', '/foo'), ('bar', '/bar'), ] amo.tests.check_links(expected, crumbs, verify=False)
def test_with_addon_and_items(self): addon = Mock() addon.name = 'Firebug' addon.id = 1843 addon.slug = 'fbug' addon.get_dev_url.return_value = reverse('devhub.addons.edit', args=[addon.slug]) s = render("""{{ dev_breadcrumbs(addon, items=[('/foo', 'foo'), ('/bar', 'bar')]) }}""", {'request': self.request, 'addon': addon}) doc = pq(s) crumbs = doc('li') eq_(len(crumbs), 5) eq_(crumbs.eq(2).text(), 'Firebug') eq_(crumbs.eq(2).children('a').attr('href'), addon.get_dev_url()) eq_(crumbs.eq(3).text(), 'foo') eq_(crumbs.eq(3).children('a').attr('href'), '/foo') eq_(crumbs.eq(4).text(), 'bar') eq_(crumbs.eq(4).children('a').attr('href'), '/bar')
def test_with_addon_and_items(self): addon = Mock() addon.name = "Firebug" addon.id = 1843 addon.slug = "fbug" addon.get_dev_url.return_value = reverse("devhub.addons.edit", args=[addon.slug]) s = render( """{{ dev_breadcrumbs(addon, items=[('/foo', 'foo'), ('/bar', 'bar')]) }}""", {"request": self.request, "addon": addon}, ) doc = pq(s) crumbs = doc("li") eq_(len(crumbs), 5) eq_(crumbs.eq(2).text(), "Firebug") eq_(crumbs.eq(2).children("a").attr("href"), addon.get_dev_url()) eq_(crumbs.eq(3).text(), "foo") eq_(crumbs.eq(3).children("a").attr("href"), "/foo") eq_(crumbs.eq(4).text(), "bar") eq_(crumbs.eq(4).children("a").attr("href"), "/bar")
def test_with_addon_and_items(self): addon = Mock() addon.name = 'Firebug' addon.id = 1843 addon.app_slug = 'fbug' addon.type = amo.ADDON_WEBAPP addon.get_dev_url.return_value = reverse('mkt.developers.apps.edit', args=[addon.app_slug]) s = render("""{{ hub_breadcrumbs(addon, items=[('/foo', 'foo'), ('/bar', 'bar')]) }}""", {'request': self.request, 'addon': addon}) doc = pq(s) crumbs = doc('li') eq_(len(crumbs), 4) eq_(crumbs.eq(1).text(), 'Firebug') eq_(crumbs.eq(1).children('a').attr('href'), addon.get_dev_url()) eq_(crumbs.eq(2).text(), 'foo') eq_(crumbs.eq(2).children('a').attr('href'), '/foo') eq_(crumbs.eq(3).text(), 'bar') eq_(crumbs.eq(3).children('a').attr('href'), '/bar')
def test_hub_page_title(): translation.activate('en-US') request = Mock() addon = Mock() addon.name = 'name' ctx = {'request': request, 'addon': addon} title = 'Oh hai!' s1 = render('{{ hub_page_title("%s") }}' % title, ctx) s2 = render('{{ mkt_page_title("%s | Developers") }}' % title, ctx) eq_(s1, s2) s1 = render('{{ hub_page_title() }}', ctx) s2 = render('{{ mkt_page_title("Developers") }}', ctx) eq_(s1, s2) s1 = render('{{ hub_page_title("%s", addon) }}' % title, ctx) s2 = render('{{ mkt_page_title("%s | %s") }}' % (title, addon.name), ctx) eq_(s1, s2)
def test_hub_page_title(): translation.activate('en-US') request = Mock() request.APP = None addon = Mock() addon.name = 'name' ctx = {'request': request, 'addon': addon} title = 'Oh hai!' s1 = render('{{ hub_page_title("%s") }}' % title, ctx) s2 = render('{{ mkt_page_title("%s | Developers") }}' % title, ctx) eq_(s1, s2) s1 = render('{{ hub_page_title() }}', ctx) s2 = render('{{ mkt_page_title("Developers") }}', ctx) eq_(s1, s2) s1 = render('{{ hub_page_title("%s", addon) }}' % title, ctx) s2 = render('{{ mkt_page_title("%s | %s") }}' % (title, addon.name), ctx) eq_(s1, s2)
def test_dev_page_title(): translation.activate('en-US') request = Mock() request.APP = None addon = Mock() addon.name = 'name' ctx = {'request': request, 'addon': addon} title = 'Oh hai!' s1 = render('{{ dev_page_title("%s") }}' % title, ctx) s2 = render('{{ page_title("%s :: Developer Hub") }}' % title, ctx) eq_(s1, s2) s1 = render('{{ dev_page_title() }}', ctx) s2 = render('{{ page_title("Developer Hub") }}', ctx) eq_(s1, s2) s1 = render('{{ dev_page_title("%s", addon) }}' % title, ctx) s2 = render('{{ page_title("%s :: %s") }}' % (title, addon.name), ctx) eq_(s1, s2)
def test_dev_page_title(): translation.activate("en-US") request = Mock() request.APP = None addon = Mock() addon.name = "name" ctx = {"request": request, "addon": addon} title = "Oh hai!" s1 = render('{{ dev_page_title("%s") }}' % title, ctx) s2 = render('{{ page_title("%s :: Developer Hub") }}' % title, ctx) eq_(s1, s2) s1 = render("{{ dev_page_title() }}", ctx) s2 = render('{{ page_title("Developer Hub") }}', ctx) eq_(s1, s2) s1 = render('{{ dev_page_title("%s", addon) }}' % title, ctx) s2 = render('{{ page_title("%s :: %s") }}' % (title, addon.name), ctx) eq_(s1, s2)
def test_unicode(self): url = urllib.quote(self.raw_url.encode('utf8')) url = unicode(url, 'utf8') eq_(render('{{ url|display_url }}', {'url': url}), self.raw_url)
def test_euc_jp(self): url = urllib.quote(self.raw_url.encode("euc_jp")) eq_(render("{{ url|display_url }}", {"url": url}), self.raw_url)
def test_no_args(self): s = render('{{ hub_breadcrumbs() }}', {'request': self.request}) eq_(s, '')
def test_euc_jp(self): url = urllib.quote(self.raw_url.encode('euc_jp')) eq_(render('{{ url|display_url }}', {'url': url}), self.raw_url)