package com.vaadin.client; import static org.junit.Assert.assertEquals; import org.junit.Test; import com.vaadin.shared.util.SharedUtil; public class ApplicationConnectionURLGenerationTest { private static final String[] URIS = new String[] { "http://demo.vaadin.com/", // "https://demo.vaadin.com/", "http://demo.vaadin.com/foo", "http://demo.vaadin.com/foo?f", "http://demo.vaadin.com/foo?f=1", "http://demo.vaadin.com:1234/foo?a", "http://demo.vaadin.com:1234/foo#frag?fakeparam", // Jetspeed "http://localhost:8080/jetspeed/portal/_ns:Z3RlbXBsYXRlLXRvcDJfX3BhZ2UtdGVtcGxhdGVfX2RwLTFfX1AtMTJjNTRkYjdlYjUtMTAwMDJ8YzB8ZDF8aVVJREx8Zg__", // Liferay generated url "http://vaadin.com/directory?p_p_id=Directory_WAR_Directory&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=UIDL&p_p_cacheability=cacheLevelPage&p_p_col_id=row-1&p_p_col_count=1", }; private static final String[] URIS_WITH_ABCD_PARAM = new String[] { "http://demo.vaadin.com/?a=b&c=d", "https://demo.vaadin.com/?a=b&c=d", "http://demo.vaadin.com/foo?a=b&c=d", "http://demo.vaadin.com/foo?f&a=b&c=d", "http://demo.vaadin.com/foo?f=1&a=b&c=d", "http://demo.vaadin.com:1234/foo?a&a=b&c=d", "http://demo.vaadin.com:1234/foo?a=b&c=d#frag?fakeparam", "http://localhost:8080/jetspeed/portal/_ns:Z3RlbXBsYXRlLXRvcDJfX3BhZ2UtdGVtcGxhdGVfX2RwLTFfX1AtMTJjNTRkYjdlYjUtMTAwMDJ8YzB8ZDF8aVVJREx8Zg__?a=b&c=d", "http://vaadin.com/directory?p_p_id=Directory_WAR_Directory&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=UIDL&p_p_cacheability=cacheLevelPage&p_p_col_id=row-1&p_p_col_count=1&a=b&c=d", }; private static final String[] URIS_WITH_ABCD_PARAM_AND_FRAGMENT = new String[] { "http://demo.vaadin.com/?a=b&c=d#fragment", "https://demo.vaadin.com/?a=b&c=d#fragment", "http://demo.vaadin.com/foo?a=b&c=d#fragment", "http://demo.vaadin.com/foo?f&a=b&c=d#fragment", "http://demo.vaadin.com/foo?f=1&a=b&c=d#fragment", "http://demo.vaadin.com:1234/foo?a&a=b&c=d#fragment", "", "http://localhost:8080/jetspeed/portal/_ns:Z3RlbXBsYXRlLXRvcDJfX3BhZ2UtdGVtcGxhdGVfX2RwLTFfX1AtMTJjNTRkYjdlYjUtMTAwMDJ8YzB8ZDF8aVVJREx8Zg__?a=b&c=d#fragment", "http://vaadin.com/directory?p_p_id=Directory_WAR_Directory&p_p_lifecycle=2&p_p_state=normal&p_p_mode=view&p_p_resource_id=UIDL&p_p_cacheability=cacheLevelPage&p_p_col_id=row-1&p_p_col_count=1&a=b&c=d#fragment", }; @Test public void testParameterAdding() { for (int i = 0; i < URIS.length; i++) { // Adding nothing assertEquals(URIS[i], SharedUtil.addGetParameters(URIS[i], "")); // Adding a=b&c=d assertEquals(URIS_WITH_ABCD_PARAM[i], SharedUtil.addGetParameters(URIS[i], "a=b&c=d")); // Fragments if (URIS_WITH_ABCD_PARAM_AND_FRAGMENT[i].length() > 0) { assertEquals(URIS_WITH_ABCD_PARAM_AND_FRAGMENT[i], SharedUtil .addGetParameters(URIS[i] + "#fragment", "a=b&c=d")); // Empty fragment assertEquals( URIS_WITH_ABCD_PARAM_AND_FRAGMENT[i] .replace("#fragment", "#"), SharedUtil.addGetParameters(URIS[i] + "#", "a=b&c=d")); } } } }