test/java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java
Print this page
@@ -21,15 +21,14 @@
* 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.*;
+import java.nio.charset.Charset;
/*
* @test
* @summary To test SystemFlavorMap method:
* addFlavorForUnencodedNative(String nat, DataFlavor flav)
@@ -68,21 +67,12 @@
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)
+ 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
@@ -101,16 +91,14 @@
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 (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,11 +111,11 @@
}
Set<DataFlavor> convertMimeTypeToDataFlavors(String baseType) throws Exception {
Set<DataFlavor> result = new LinkedHashSet<>();
- for (String charset : DataTransferer.standardEncodings()) {
+ 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,7 +128,19 @@
}
}
}
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;
+ }
}