def test_past_events_url_and_navigation_root(self):
        # ensure support of INavigationRoot features dosen't break #9246 #9668

        # remove default plone content(s)
        if "events" in self.portal:
            self.portal._delObject("events")

        # lets create mynewsite
        self.portal.invokeFactory("Folder", "mynewsite")
        directlyProvides(self.portal.mynewsite, INavigationRoot)
        self.failUnless(INavigationRoot.providedBy(self.portal.mynewsite))

        lb = ICalendarLinkbase(self.portal.mynewsite)

        # mynewsite events:
        # -- events
        # ---- aggregator
        # ------ previous
        self.portal.mynewsite.invokeFactory("Folder", "events")
        self.portal.mynewsite.events.invokeFactory("Folder", "aggregator")
        self.portal.mynewsite.events.aggregator.invokeFactory("Folder", "previous")
        self.failUnless(lb.past_events_url().endswith("/mynewsite/events/aggregator/previous"))

        # mynewsite events:
        # -- events
        # ---- previous
        self.portal.mynewsite._delObject("events")
        self.portal.mynewsite.invokeFactory("Folder", "events")
        self.portal.mynewsite.events.invokeFactory("Folder", "previous")
        self.failUnless(lb.past_events_url().endswith("/mynewsite/events/previous"))

        # no mynewsite events
        self.portal.mynewsite._delObject("events")
        self.assertTrue("@@search?advanced_search=True&end.query" in lb.past_events_url())
    def test_past_events_url(self):
        lb = ICalendarLinkbase(self.portal)
        if lb._events_folder():
            self.failUnless(lb.past_events_url().endswith("/events/aggregator/previous"))

        if lb._events_folder():
            self.portal._delObject("events")

        self.portal.invokeFactory("Folder", "events")
        self.portal.events.invokeFactory("Folder", "previous")
        self.failUnless(lb.past_events_url().endswith("/events/previous"))

        self.portal._delObject("events")
        self.failUnless("@@search?advanced_search=True&end.query" in lb.past_events_url())
    def test_past_events_url(self):
        lb = ICalendarLinkbase(self.portal)
        if lb._events_folder():
            self.failUnless(lb.past_events_url().endswith(
                '/events/aggregator/previous'))

        if lb._events_folder():
            self.portal._delObject('events')

        self.portal.invokeFactory('Folder', 'events')
        self.portal.events.invokeFactory('Folder', 'previous')
        self.failUnless(lb.past_events_url().endswith(
            '/events/previous'))

        self.portal._delObject('events')
        self.failUnless('@@search?advanced_search=True&end.query'
                        in lb.past_events_url())
    def test_events_url_with_navigation_root(self):
        # ensure support of INavigationRoot features dosen't break #9246 #9668
        self.portal.invokeFactory('Folder', 'mynewsite')
        directlyProvides(self.portal.mynewsite, INavigationRoot)
        self.failUnless(INavigationRoot.providedBy(self.portal.mynewsite))
        lb = ICalendarLinkbase(self.portal.mynewsite)

        url = 'http://nohost/plone/mynewsite/@@event_listing?mode=day&date=2012-12-07'
        self.failUnless(lb.date_events_url('2012-12-07') == url)

        url = 'http://nohost/plone/mynewsite/@@event_listing?mode=all'
        self.failUnless(lb.all_events_url() == url)

        url = 'http://nohost/plone/mynewsite/@@event_listing?mode=future'
        self.failUnless(lb.next_events_url() == url)

        url = 'http://nohost/plone/mynewsite/@@event_listing?mode=past'
        self.failUnless(lb.past_events_url() == url)
 def test_past_events_url(self):
     lb = ICalendarLinkbase(self.portal)
     url = 'http://nohost/plone/@@event_listing?mode=past'
     self.failUnless(lb.past_events_url() == url)