diff options
author | Omair Majid <[email protected]> | 2013-09-20 11:41:36 -0400 |
---|---|---|
committer | Omair Majid <[email protected]> | 2013-09-20 11:41:36 -0400 |
commit | 9ba69baff18dd24b207e0a8b6ad76133fe4ea536 (patch) | |
tree | dcb4a28c4129b0513293d2032bc99fd0e299e0cc /tests | |
parent | 5f870d7b838b281083fd99cfc234f739815d23e9 (diff) |
Unit test for InformationDesc
Also remove the references to JNLPFile from InformationDesc.
This makes it much easier to instantiate InformationDesc for
tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java b/tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java new file mode 100644 index 0000000..1720def --- /dev/null +++ b/tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java @@ -0,0 +1,209 @@ +/* InformationDescTest.java + Copyright (C) 2013 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package net.sourceforge.jnlp; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Locale; + +import org.junit.Test; + +public class InformationDescTest { + + @Test + public void testLocales() { + InformationDesc info; + + info = new InformationDesc(new Locale[0]); + assertArrayEquals(new Locale[0], info.getLocales()); + + Locale[] someLocales = new Locale[] { Locale.ENGLISH, Locale.FRENCH }; + info = new InformationDesc(someLocales); + assertArrayEquals(someLocales, info.getLocales()); + } + + @Test + public void testTitle() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("title", "A Title"); + assertEquals("A Title", info.getTitle()); + } + + @Test + public void testVendor() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("vendor", "Some Vendor"); + assertEquals("Some Vendor", info.getVendor()); + } + + @Test + public void testHomePage() throws MalformedURLException { + URL url = new URL("http://some.home.page.example.com"); + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("homepage", url); + assertEquals(url, info.getHomepage()); + } + @Test + public void testDescription() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("description-" + InformationDesc.DEFAULT, "Default Description"); + assertEquals("Default Description", info.getDescription()); + } + + @Test + public void testDescriptionFallbackOrder() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("description-" + InformationDesc.TOOLTIP, "Tooltip Description"); + assertEquals("Tooltip Description", info.getDescription()); + info.addItem("description-" + InformationDesc.SHORT, "Short Description"); + assertEquals("Short Description", info.getDescription()); + info.addItem("description-" + InformationDesc.ONE_LINE, "One-line Description"); + assertEquals("One-line Description", info.getDescription()); + info.addItem("description-" + InformationDesc.DEFAULT, "Default Description"); + assertEquals("Default Description", info.getDescription()); + } + + @Test + public void testDescriptionKind() { + InformationDesc info = new InformationDesc(new Locale[0]); + info.addItem("description-" + InformationDesc.DEFAULT, "Default Description"); + info.addItem("description-" + InformationDesc.ONE_LINE, "One-line Description"); + info.addItem("description-" + InformationDesc.SHORT, "Short Description"); + info.addItem("description-" + InformationDesc.TOOLTIP, "Tooltip Description"); + + assertEquals("Default Description", info.getDescription(InformationDesc.DEFAULT)); + assertEquals("One-line Description", info.getDescription(InformationDesc.ONE_LINE)); + assertEquals("Short Description", info.getDescription(InformationDesc.SHORT)); + assertEquals("Tooltip Description", info.getDescription(InformationDesc.TOOLTIP)); + } + + @Test + public void testGetIcons() { + InformationDesc info = new InformationDesc(new Locale[0]); + + assertArrayEquals(new IconDesc[0], info.getIcons(IconDesc.DEFAULT)); + + IconDesc icon1 = new IconDesc(null, null, -1, -1, -1, -1); + IconDesc icon2 = new IconDesc(null, null, -1, -1, -1, -1); + info.addItem("icon-" + IconDesc.DEFAULT, icon1); + info.addItem("icon-" + IconDesc.DEFAULT, icon2); + + assertArrayEquals(new IconDesc[] { icon1, icon2 }, info.getIcons(IconDesc.DEFAULT)); + } + + @Test + public void testGetIconLocations() throws MalformedURLException { + InformationDesc info = new InformationDesc(new Locale[0]); + + URL location1 = new URL("http://location1.example.org"); + URL location2 = new URL("http://location2.example.org"); + IconDesc icon1 = new IconDesc(location1, null, 10, 10, -1, -1); + IconDesc icon2 = new IconDesc(location2, null, 20, 20, -1, -1); + info.addItem("icon-" + IconDesc.DEFAULT, icon1); + info.addItem("icon-" + IconDesc.DEFAULT, icon2); + + // exact size matches + assertEquals(location1, info.getIconLocation(IconDesc.DEFAULT, 10, 10)); + assertEquals(location2, info.getIconLocation(IconDesc.DEFAULT, 20, 20)); + + // match a bigger icon + assertEquals(location1, info.getIconLocation(IconDesc.DEFAULT, 1, 1)); + assertEquals(location2, info.getIconLocation(IconDesc.DEFAULT, 15, 15)); + + // match a smaller icon + assertEquals(location1, info.getIconLocation(IconDesc.DEFAULT, 25, 25)); + } + + @Test + public void testIsOfflineAllowed() { + InformationDesc info = new InformationDesc(new Locale[0]); + assertFalse(info.isOfflineAllowed()); + info.addItem("offline-allowed", new Object()); + assertTrue(info.isOfflineAllowed()); + } + + @Test + public void testIsSharingAllowed() { + InformationDesc info = new InformationDesc(new Locale[0]); + assertFalse(info.isSharingAllowed()); + info.addItem("sharing-allowed", new Object()); + assertTrue(info.isSharingAllowed()); + } + + @Test + public void testGetShortcut() { + InformationDesc info = new InformationDesc(new Locale[0]); + assertNull(info.getShortcut()); + + ShortcutDesc shortcut = new ShortcutDesc(false, false); + info.addItem("shortcut", shortcut); + assertSame(shortcut, info.getShortcut()); + } + + @Test + public void testGetAssociation() throws ParseException { + InformationDesc info = new InformationDesc(new Locale[0]); + + assertArrayEquals(new AssociationDesc[0], info.getAssociations()); + + AssociationDesc association = new AssociationDesc(null, null); + info.addItem("association", association); + assertArrayEquals(new AssociationDesc[] { association }, info.getAssociations()); + } + + @Test + public void testGetRelatedContents() { + InformationDesc info = new InformationDesc(new Locale[0]); + + assertArrayEquals(new RelatedContentDesc[0], info.getRelatedContents()); + + RelatedContentDesc relatedContent = new RelatedContentDesc(null); + info.addItem("related-content", relatedContent); + + assertArrayEquals(new RelatedContentDesc[] { relatedContent }, info.getRelatedContents()); + } + +} |