コード例 #1
0
  protected void testCanonicalURL(
      String virtualHostname,
      String portalDomain,
      Group group,
      Layout layout,
      Locale[] groupAvailableLocales,
      Locale groupDefaultLocale,
      String i18nPath,
      String expectedLayoutFriendlyURL,
      boolean forceLayoutFriendlyURL)
      throws Exception {

    if (!group.isGuest()) {
      group =
          GroupTestUtil.updateDisplaySettings(
              group.getGroupId(), groupAvailableLocales, groupDefaultLocale);
    }

    String completeURL =
        generateURL(portalDomain, i18nPath, group.getFriendlyURL(), layout.getFriendlyURL());

    setVirtualHost(layout.getCompanyId(), virtualHostname);

    ThemeDisplay themeDisplay = getThemeDisplay(group);

    themeDisplay.setPortalURL("http://" + portalDomain + ":8080/");

    String actualCanonicalURL =
        PortalUtil.getCanonicalURL(completeURL, themeDisplay, layout, forceLayoutFriendlyURL);

    String expectedGroupFriendlyURL = StringPool.BLANK;

    if (!group.isGuest()) {
      expectedGroupFriendlyURL = group.getFriendlyURL();
    }

    String expectedPortalDomain = virtualHostname;

    if (StringUtil.equalsIgnoreCase(virtualHostname, "localhost")
        && !StringUtil.equalsIgnoreCase(portalDomain, "localhost")) {

      expectedPortalDomain = portalDomain;
    }

    String expectedCanonicalURL =
        generateURL(
            expectedPortalDomain,
            StringPool.BLANK,
            expectedGroupFriendlyURL,
            expectedLayoutFriendlyURL);

    Assert.assertEquals(expectedCanonicalURL, actualCanonicalURL);
  }