Search in sources :

Example 71 with Link

use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.

the class LinkSourceImplTest method create_page_render_link_by_name.

@Test
public void create_page_render_link_by_name() {
    String pageName = "order/Edit";
    PageActivationContextCollector collector = mockPageActivationContextCollector();
    ComponentEventLinkEncoder linkEncoder = mockComponentEventLinkEncoder();
    Link link = mockLink();
    ComponentClassResolver resolver = mockComponentClassResolver();
    RequestGlobals globals = mockRequestGlobals();
    expect(globals.getActivePageName()).andReturn("someOtherPage");
    train_canonicalizePageName(resolver, pageName, pageName);
    train_collectPageActivationContext(collector, pageName, 3);
    EventContext pageActivationContext = new ArrayEventContext(typeCoercer, 3);
    PageRenderRequestParameters parameters = new PageRenderRequestParameters(pageName, pageActivationContext, false);
    expect(linkEncoder.createPageRenderLink(parameters)).andReturn(link);
    replay();
    LinkSource source = new LinkSourceImpl(null, collector, typeCoercer, resolver, linkEncoder, globals, null, emptyConfiguration);
    Link actual = source.createPageRenderLink(pageName, false);
    // Make sure the same link is returned.
    assertEquals(actual, link);
    verify();
}
Also used : EventContext(org.apache.tapestry5.EventContext) PageRenderRequestParameters(org.apache.tapestry5.services.PageRenderRequestParameters) ComponentEventLinkEncoder(org.apache.tapestry5.services.ComponentEventLinkEncoder) ComponentClassResolver(org.apache.tapestry5.services.ComponentClassResolver) RequestGlobals(org.apache.tapestry5.http.services.RequestGlobals) Link(org.apache.tapestry5.http.Link) Test(org.testng.annotations.Test)

Example 72 with Link

use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.

the class LinkSourceImplTest method component_event_from_other_page.

@Test
public void component_event_from_other_page() {
    String primaryPageName = "blocks/AppDisplay";
    Page primaryPage = mockPage();
    Page activePage = mockPage();
    PageRenderQueue queue = mockPageRenderQueue();
    PageActivationContextCollector collector = mockPageActivationContextCollector();
    ComponentEventLinkEncoder linkEncoder = mockComponentEventLinkEncoder();
    Link link = mockLink();
    train_getRenderingPage(queue, activePage);
    train_getName(activePage, "order/View");
    train_getName(primaryPage, primaryPageName);
    train_collectPageActivationContext(collector, "order/View", "x", "y");
    EventContext pageActivationContext = new ArrayEventContext(typeCoercer, "x", "y");
    EventContext eventContext = new ArrayEventContext(typeCoercer, 3, 5, 9);
    ComponentEventRequestParameters parameters = new ComponentEventRequestParameters("order/View", primaryPageName, "gnip.gnop", "myevent", pageActivationContext, eventContext);
    expect(linkEncoder.createComponentEventLink(parameters, true)).andReturn(link);
    replay();
    LinkSource source = new LinkSourceImpl(queue, collector, typeCoercer, null, linkEncoder, null, null, emptyConfiguration);
    assertSame(source.createComponentEventLink(primaryPage, "gnip.gnop", "myevent", true, 3, 5, 9), link);
    verify();
}
Also used : EventContext(org.apache.tapestry5.EventContext) ComponentEventLinkEncoder(org.apache.tapestry5.services.ComponentEventLinkEncoder) ComponentEventRequestParameters(org.apache.tapestry5.services.ComponentEventRequestParameters) Page(org.apache.tapestry5.internal.structure.Page) Link(org.apache.tapestry5.http.Link) Test(org.testng.annotations.Test)

Example 73 with Link

use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.

the class LinkImplTest method to_uri_with_added_parameters_and_on_construction_uri.

@Test
public void to_uri_with_added_parameters_and_on_construction_uri() {
    Response response = mockResponse();
    String expectedURI = "/ctx/foo?foo=bar&baz=barney";
    train_encodeURL(response, expectedURI, expectedURI);
    replay();
    Link link = new LinkImpl("/ctx/foo?foo=bar", false, LinkSecurity.INSECURE, response, null, null);
    link.addParameter("baz", "barney");
    assertEquals(link.toURI(), expectedURI);
    verify();
}
Also used : Response(org.apache.tapestry5.http.services.Response) Link(org.apache.tapestry5.http.Link) Test(org.testng.annotations.Test)

Example 74 with Link

use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.

the class LinkImplTest method add_parameter_value.

@Test
public void add_parameter_value() {
    Response response = mockResponse();
    ContextPathEncoder encoder = newMock(ContextPathEncoder.class);
    expect(encoder.encodeValue("plain")).andReturn("encoded");
    String expectedURI = "/ctx/foo?bar=encoded";
    train_encodeURL(response, expectedURI, expectedURI);
    replay();
    Link link = new LinkImpl("/ctx/foo", false, LinkSecurity.INSECURE, response, encoder, null);
    assertSame(link.addParameterValue("bar", "plain"), link);
    assertEquals(link.toURI(), expectedURI);
    verify();
}
Also used : Response(org.apache.tapestry5.http.services.Response) ContextPathEncoder(org.apache.tapestry5.services.ContextPathEncoder) Link(org.apache.tapestry5.http.Link) Test(org.testng.annotations.Test)

Example 75 with Link

use of org.apache.tapestry5.http.Link in project tapestry-5 by apache.

the class LinkImplTest method absolute_URI_for_default_secure_link.

@Test
public void absolute_URI_for_default_secure_link() {
    Response response = mockResponse();
    BaseURLSource baseURLSource = mockBaseURLSource();
    train_getBaseURL(baseURLSource, true, SECURE_BASE_URL);
    train_encodeURL(response, SECURE_BASE_URL + BASE_PATH, ENCODED);
    replay();
    Link link = new LinkImpl(BASE_PATH, false, LinkSecurity.SECURE, response, null, baseURLSource);
    assertEquals(link.toAbsoluteURI(), ENCODED);
    verify();
}
Also used : Response(org.apache.tapestry5.http.services.Response) BaseURLSource(org.apache.tapestry5.http.services.BaseURLSource) Link(org.apache.tapestry5.http.Link) Test(org.testng.annotations.Test)

Aggregations

Link (org.apache.tapestry5.http.Link)66 Test (org.testng.annotations.Test)37 Response (org.apache.tapestry5.http.services.Response)19 MarkupWriter (org.apache.tapestry5.MarkupWriter)10 JSONObject (org.apache.tapestry5.json.JSONObject)10 ComponentEventLinkEncoder (org.apache.tapestry5.services.ComponentEventLinkEncoder)10 Request (org.apache.tapestry5.http.services.Request)8 PageRenderRequestParameters (org.apache.tapestry5.services.PageRenderRequestParameters)8 Element (org.apache.tapestry5.dom.Element)7 Contribute (org.apache.tapestry5.ioc.annotations.Contribute)7 Link (org.apache.tapestry5.Link)6 LinkCreationListener2 (org.apache.tapestry5.services.LinkCreationListener2)6 EventContext (org.apache.tapestry5.EventContext)5 ComponentClassResolver (org.apache.tapestry5.services.ComponentClassResolver)5 IOException (java.io.IOException)4 TapestryException (org.apache.tapestry5.commons.internal.util.TapestryException)4 BaseURLSource (org.apache.tapestry5.http.services.BaseURLSource)4 Page (org.apache.tapestry5.internal.structure.Page)4 List (java.util.List)3 ComponentResources (org.apache.tapestry5.ComponentResources)3