/* * Copyright 2000-2016 Vaadin Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.vaadin.server; import static org.junit.Assert.assertEquals; import org.easymock.EasyMock; import org.junit.Assert; import org.junit.Test; import com.vaadin.shared.communication.URLReference; import com.vaadin.shared.ui.BrowserWindowOpenerState; /** * * @author Vaadin Ltd */ public class BrowserWindowOpenerTest { @Test public void setResource_urlBasedOpener_resourceIsSetAndUrlIsNull() { BrowserWindowOpener opener = new BrowserWindowOpener("url"); StreamResource resource = EasyMock.createMock(StreamResource.class); opener.setResource(resource); assertEquals("Unexpected resource is got on getResource() method", resource, opener.getResource()); Assert.assertNull("Unexpected resource is got on getUrl() method", opener.getUrl()); URLReference ref = opener.getState(false).resources .get(BrowserWindowOpenerState.locationResource); Assert.assertTrue("Url reference in the state is not ResourceReference", ref instanceof ResourceReference); Assert.assertEquals("Unexpected resource saved in state", resource, ((ResourceReference) ref).getResource()); } @Test public void setUrl_urlBasedOpener_urlIsSet() { BrowserWindowOpener opener = new BrowserWindowOpener("url"); String url = "newUrl"; opener.setUrl(url); assertEquals("Unexpected URL is got on getURL() method", url, opener.getUrl()); Assert.assertNotNull( "Unexpected resource is got on getResource() method", opener.getResource()); URLReference ref = opener.getState(false).resources .get(BrowserWindowOpenerState.locationResource); Assert.assertTrue("Url reference in the state is not ResourceReference", ref instanceof ResourceReference); Resource resource = ((ResourceReference) ref).getResource(); Assert.assertTrue("Resource reference is not ExternalResource", resource instanceof ExternalResource); Assert.assertEquals("Unexpected URL in resource saved in state", url, ((ExternalResource) resource).getURL()); } }