| /******************************************************************************* |
| * Copyright (c) 2009, 2018 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.ui.tests.browser.internal; |
| |
| import static org.junit.Assert.assertFalse; |
| import static org.junit.Assert.assertTrue; |
| |
| import java.net.MalformedURLException; |
| import java.net.URL; |
| |
| import org.eclipse.ui.browser.IWorkbenchBrowserSupport; |
| import org.eclipse.ui.internal.browser.WebBrowserEditorInput; |
| import org.junit.Test; |
| |
| public class TestInput { |
| |
| private final String URL1 = "http://www.eclipse.org"; |
| private final String URL2 = "http://bugs.eclipse.org"; |
| private static final String ID1 = "browser.id1"; |
| private static final String ID2 = "browser.id2"; |
| |
| @Test |
| public void testCompareWithNull() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| assertFalse(input.equals(null)); |
| } |
| |
| @Test |
| public void testCompareWithNullURL() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| WebBrowserEditorInput input2 = new WebBrowserEditorInput(null, |
| 0, ID1); |
| assertFalse(input.equals(input2)); |
| assertFalse(input2.equals(input)); |
| } |
| |
| @Test |
| public void testCompareWithSelf() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| assertTrue(input.equals(input)); |
| } |
| |
| @Test |
| public void testCompareWithSimilar() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| WebBrowserEditorInput input2 = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| assertTrue(input.equals(input2)); |
| assertTrue(input.hashCode() == input2.hashCode()); |
| } |
| |
| @Test |
| public void testCompareWithDifferentUrl() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| WebBrowserEditorInput input2 = new WebBrowserEditorInput(new URL(URL2), |
| 0, ID1); |
| assertFalse(input.equals(input2)); |
| } |
| |
| @Test |
| public void testCompareWithDifferentId() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| WebBrowserEditorInput input2 = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID2); |
| assertFalse(input.equals(input2)); |
| } |
| |
| @Test |
| public void testCompareWithDifferentStyle() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| WebBrowserEditorInput input2 = new WebBrowserEditorInput(new URL(URL1), |
| 1, ID1); |
| assertTrue(input.equals(input2)); |
| assertTrue(input.hashCode() == input2.hashCode()); |
| } |
| |
| @Test |
| public void testCompareWithStatusbarVisible() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1), |
| 0, ID1); |
| WebBrowserEditorInput input2 = new WebBrowserEditorInput(new URL(URL1), |
| IWorkbenchBrowserSupport.STATUS, ID1); |
| assertFalse(input.equals(input2)); |
| } |
| |
| @Test |
| public void testHashWithNullURL() { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(null,0, ID1); |
| input.hashCode(); // Fails if exception thrown |
| } |
| |
| @Test |
| public void testHashWithNullID() throws MalformedURLException { |
| WebBrowserEditorInput input = new WebBrowserEditorInput(new URL(URL1),0, null); |
| input.hashCode(); // Fails if exception thrown |
| } |
| |
| } |