test/java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java

Print this page

        

*** 21,35 **** * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ - import sun.awt.datatransfer.DataTransferer; - import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.SystemFlavorMap; import java.util.*; /* * @test * @summary To test SystemFlavorMap method: * addFlavorForUnencodedNative(String nat, DataFlavor flav) --- 21,34 ---- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.SystemFlavorMap; import java.util.*; + import java.nio.charset.Charset; /* * @test * @summary To test SystemFlavorMap method: * addFlavorForUnencodedNative(String nat, DataFlavor flav)
*** 68,88 **** for (String key : flavorMap.getFlavorsForNatives(null).keySet()) { Set<DataFlavor> flavorsSet = new HashSet<>(flavorMap.getFlavorsForNative(key)); // construct a unique String native key = key.concat("TEST"); ! for (DataFlavor element : flavorsSet) flavorMap.addFlavorForUnencodedNative(key, element); - - // This part is valid only for X-based graphical systems - if (!System.getProperty("os.name").startsWith("Win") && !System.getProperty("os.name").startsWith("Mac") ) { - if (key.contains("/")) { - Set<DataFlavor> fls = DataTransferer.getInstance().getPlatformMappingsForNative(key); - flavorsSet.addAll(fls); - if (!fls.isEmpty() && key.startsWith("text/")) - flavorsSet.addAll(convertMimeTypeToDataFlavors(key)); - } } hashVerify.put(key, new Vector(flavorsSet)); } // Assertions: After establishing "new" mappings, verify that the defined --- 67,78 ---- for (String key : flavorMap.getFlavorsForNatives(null).keySet()) { Set<DataFlavor> flavorsSet = new HashSet<>(flavorMap.getFlavorsForNative(key)); // construct a unique String native key = key.concat("TEST"); ! for (DataFlavor element : flavorsSet) { flavorMap.addFlavorForUnencodedNative(key, element); } hashVerify.put(key, new Vector(flavorsSet)); } // Assertions: After establishing "new" mappings, verify that the defined
*** 101,116 **** compareFlavors(flavorMap.getFlavorsForNative(key), hashVerify.get(key), key); } } void compareFlavors(List<DataFlavor> flavors1, List<DataFlavor> flavors2, String key){ - DataTransferer.DataFlavorComparator comparator = new DataTransferer.DataFlavorComparator(); for (DataFlavor flavor1 : flavors1) { boolean result = false; for (DataFlavor flavor2 : flavors2) { ! if (comparator.compare(flavor1, flavor2) == 0) ! result = true; } if (!result) throw new RuntimeException("\n*** Error in verifyNewMappings()" + "\nmethod1: addFlavorForUnencodedNative(String nat, DataFlavor flav)" + "\nmethod2: List getFlavorsForNative(String nat)" + --- 91,104 ---- compareFlavors(flavorMap.getFlavorsForNative(key), hashVerify.get(key), key); } } void compareFlavors(List<DataFlavor> flavors1, List<DataFlavor> flavors2, String key){ for (DataFlavor flavor1 : flavors1) { boolean result = false; for (DataFlavor flavor2 : flavors2) { ! if (flavor1.equals(flavor2)) result = true; } if (!result) throw new RuntimeException("\n*** Error in verifyNewMappings()" + "\nmethod1: addFlavorForUnencodedNative(String nat, DataFlavor flav)" + "\nmethod2: List getFlavorsForNative(String nat)" +
*** 123,133 **** } Set<DataFlavor> convertMimeTypeToDataFlavors(String baseType) throws Exception { Set<DataFlavor> result = new LinkedHashSet<>(); ! for (String charset : DataTransferer.standardEncodings()) { for (String txtClass : new String[]{"java.io.InputStream", "java.nio.ByteBuffer", "\"[B\""}) { String mimeType = baseType + ";charset=" + charset + ";class=" + txtClass; if ("text/html".equals(baseType)) { for (String documentType : new String[]{"all", "selection", "fragment"}) --- 111,121 ---- } Set<DataFlavor> convertMimeTypeToDataFlavors(String baseType) throws Exception { Set<DataFlavor> result = new LinkedHashSet<>(); ! for (String charset : getStandardEncodings()) { for (String txtClass : new String[]{"java.io.InputStream", "java.nio.ByteBuffer", "\"[B\""}) { String mimeType = baseType + ";charset=" + charset + ";class=" + txtClass; if ("text/html".equals(baseType)) { for (String documentType : new String[]{"all", "selection", "fragment"})
*** 140,146 **** --- 128,146 ---- } } } return result; } + + Set<String> getStandardEncodings() { + Set<String> tempSet = new HashSet<>(); + tempSet.add("US-ASCII"); + tempSet.add("ISO-8859-1"); + tempSet.add("UTF-8"); + tempSet.add("UTF-16BE"); + tempSet.add("UTF-16LE"); + tempSet.add("UTF-16"); + tempSet.add(Charset.defaultCharset().name()); + return tempSet; + } }