| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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 org.apache.felix.framework.util.manifestparser; |
| |
| import junit.framework.TestCase; |
| |
| public class NativeLibraryClauseTest extends TestCase { |
| public void testNormalizeOSName() { |
| assertEquals("win32", NativeLibraryClause.normalizeOSName("win 32")); |
| assertEquals("win32", NativeLibraryClause.normalizeOSName("Win*")); |
| assertEquals("win32", NativeLibraryClause.normalizeOSName("Windows NonExistingFutureVersion 4711")); |
| assertEquals("windows95", NativeLibraryClause.normalizeOSName("Windows 95")); |
| assertEquals("windows98", NativeLibraryClause.normalizeOSName("Windows 98")); |
| assertEquals("windowsnt", NativeLibraryClause.normalizeOSName("WinNT")); |
| assertEquals("windows2000", NativeLibraryClause.normalizeOSName("Win2000")); |
| assertEquals("windows2003", NativeLibraryClause.normalizeOSName("Win2003")); |
| assertEquals("windowsserver2008", NativeLibraryClause.normalizeOSName("Windows Server 2008")); |
| assertEquals("windowsserver2012", NativeLibraryClause.normalizeOSName("Windows Server 2012")); |
| assertEquals("windowsserver2016", NativeLibraryClause.normalizeOSName("Windows Server 2016")); |
| assertEquals("windowsxp", NativeLibraryClause.normalizeOSName("WinXP")); |
| assertEquals("windowsce", NativeLibraryClause.normalizeOSName("WinCE")); |
| assertEquals("windowsvista", NativeLibraryClause.normalizeOSName("WinVista")); |
| assertEquals("windows7", NativeLibraryClause.normalizeOSName("Windows 7")); |
| assertEquals("windows8", NativeLibraryClause.normalizeOSName("Win8")); |
| assertEquals("windows10", NativeLibraryClause.normalizeOSName("Windows 10")); |
| assertEquals("linux", NativeLibraryClause.normalizeOSName("Linux1.2.3")); |
| assertEquals("aix", NativeLibraryClause.normalizeOSName("AIX-4.5.6")); |
| assertEquals("digitalunix", NativeLibraryClause.normalizeOSName("digitalunix_blah")); |
| assertEquals("hpux", NativeLibraryClause.normalizeOSName("HPUX-999")); |
| assertEquals("irix", NativeLibraryClause.normalizeOSName("Irixxxx")); |
| assertEquals("macosx", NativeLibraryClause.normalizeOSName("mac OS X")); |
| assertEquals("netware", NativeLibraryClause.normalizeOSName("Netware")); |
| assertEquals("openbsd", NativeLibraryClause.normalizeOSName("OpenBSD-0000")); |
| assertEquals("netbsd", NativeLibraryClause.normalizeOSName("netbsd ")); |
| assertEquals("os2", NativeLibraryClause.normalizeOSName("os/2")); |
| assertEquals("qnx", NativeLibraryClause.normalizeOSName("procnto")); |
| assertEquals("solaris", NativeLibraryClause.normalizeOSName("Solaris 9")); |
| assertEquals("sunos", NativeLibraryClause.normalizeOSName("SunOS8")); |
| assertEquals("vxworks", NativeLibraryClause.normalizeOSName("VxWorks")); |
| |
| // Try all the already normalized names |
| assertEquals("aix", NativeLibraryClause.normalizeOSName("aix")); |
| assertEquals("digitalunix", NativeLibraryClause.normalizeOSName("digitalunix")); |
| assertEquals("hpux", NativeLibraryClause.normalizeOSName("hpux")); |
| assertEquals("irix", NativeLibraryClause.normalizeOSName("irix")); |
| assertEquals("linux", NativeLibraryClause.normalizeOSName("linux")); |
| assertEquals("macos", NativeLibraryClause.normalizeOSName("macos")); |
| assertEquals("netbsd", NativeLibraryClause.normalizeOSName("netbsd")); |
| assertEquals("netware", NativeLibraryClause.normalizeOSName("netware")); |
| assertEquals("openbsd", NativeLibraryClause.normalizeOSName("openbsd")); |
| assertEquals("os2", NativeLibraryClause.normalizeOSName("os2")); |
| assertEquals("qnx", NativeLibraryClause.normalizeOSName("qnx")); |
| assertEquals("solaris", NativeLibraryClause.normalizeOSName("solaris")); |
| assertEquals("sunos", NativeLibraryClause.normalizeOSName("sunos")); |
| assertEquals("vxworks", NativeLibraryClause.normalizeOSName("vxworks")); |
| assertEquals("windows2000", NativeLibraryClause.normalizeOSName("windows2000")); |
| assertEquals("windows2003", NativeLibraryClause.normalizeOSName("windows2003")); |
| assertEquals("windows7", NativeLibraryClause.normalizeOSName("windows7")); |
| assertEquals("windows8", NativeLibraryClause.normalizeOSName("windows8")); |
| assertEquals("windows9", NativeLibraryClause.normalizeOSName("windows9")); |
| assertEquals("windows10", NativeLibraryClause.normalizeOSName("windows10")); |
| assertEquals("windows95", NativeLibraryClause.normalizeOSName("windows95")); |
| assertEquals("windows98", NativeLibraryClause.normalizeOSName("windows98")); |
| assertEquals("windowsce", NativeLibraryClause.normalizeOSName("windowsce")); |
| assertEquals("windowsnt", NativeLibraryClause.normalizeOSName("windowsnt")); |
| assertEquals("windowsserver2008", NativeLibraryClause.normalizeOSName("windowsserver2008")); |
| assertEquals("windowsserver2012", NativeLibraryClause.normalizeOSName("windowsserver2012")); |
| assertEquals("windowsvista", NativeLibraryClause.normalizeOSName("windowsvista")); |
| assertEquals("windowsxp", NativeLibraryClause.normalizeOSName("windowsxp")); |
| assertEquals("win32", NativeLibraryClause.normalizeOSName("win32")); |
| } |
| |
| public void testgetOsNameWithAliases() { |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("win 32").contains("win32")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Win*").contains("win32")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 95").contains("windows95")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 98").contains("windows98")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("WinNT").contains("windowsnt")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Win2000").contains("windows2000")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Win2003").contains("windows2003")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows Server 2008").contains("windowsserver2008")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows Server 2012").contains("windowsserver2012")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("WinXP").contains("windowsxp")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("WinCE").contains("windowsce")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("WinVista").contains("windowsvista")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 7").contains("windows7")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows7").contains("windows7")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Win8").contains("windows8")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Windows 10").contains("windows10")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Linux1.2.3").contains("linux")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("AIX-4.5.6").contains("aix")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("digitalunix_blah").contains("digitalunix")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("HPUX-999").contains("hpux")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Irixxxx").contains("irix")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("mac OS X").contains("mac os x")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Netware").contains("netware")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("OpenBSD-0000").contains("openbsd")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("netbsd ").contains("netbsd")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("os/2").contains("os2")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("procnto").contains("qnx")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("Solaris 9").contains("solaris")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("SunOS8").contains("sunos")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("VxWorks").contains("vxworks")); |
| |
| // Try all the already normalized names |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("aix").contains("aix")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("digitalunix").contains("digitalunix")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("hpux").contains("hpux")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("irix").contains("irix")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("linux").contains("linux")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("mac os").contains("mac os")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("netbsd").contains("netbsd")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("netware").contains("netware")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("openbsd").contains("openbsd")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("os2").contains("os2")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("qnx").contains("qnx")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("solaris").contains("solaris")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("sunos").contains("sunos")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("vxworks").contains("vxworks")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows2000").contains("windows2000")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows2003").contains("windows2003")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows7").contains("windows7")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows8").contains("windows8")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows9").contains("windows9")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows10").contains("windows10")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows95").contains("windows95")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windows98").contains("windows98")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsce").contains("windowsce")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsnt").contains("windowsnt")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsserver2008").contains("windowsserver2008")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsserver2012").contains("windowsserver2012")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsvista").contains("windowsvista")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("windowsxp").contains("windowsxp")); |
| assertTrue(NativeLibraryClause.getOsNameWithAliases("win32").contains("win32")); |
| } |
| |
| public void testNormalizeOSVersion() { |
| // valid |
| assertEquals("1.0.0", NativeLibraryClause.normalizeOSVersion("1")); |
| assertEquals("1.2.0", NativeLibraryClause.normalizeOSVersion("1.2")); |
| assertEquals("1.2.3", NativeLibraryClause.normalizeOSVersion("1.2.3")); |
| assertEquals("1.2.3.qualifier", NativeLibraryClause.normalizeOSVersion("1.2.3.qualifier")); |
| |
| // to normalize |
| assertEquals("1.0.0.qualifier", NativeLibraryClause.normalizeOSVersion("1.qualifier")); |
| assertEquals("1.2.0.qualifier", NativeLibraryClause.normalizeOSVersion("1.2.qualifier")); |
| |
| assertEquals("3.13.0.39-generic", NativeLibraryClause.normalizeOSVersion("3.13.0-39-generic")); |
| |
| assertEquals("3.14.22.100_fc19_i686_PAE", NativeLibraryClause.normalizeOSVersion("3.14.22-100.fc19.i686.PAE")); |
| assertEquals("4.9.35", NativeLibraryClause.normalizeOSVersion("4.9.35+")); |
| assertEquals("4.9.0", NativeLibraryClause.normalizeOSVersion("4.9+")); |
| assertEquals("4.0.0", NativeLibraryClause.normalizeOSVersion("4+")); |
| } |
| } |