< prev index next >

test/java/awt/datatransfer/ConstructFlavoredObjectTest/ConstructFlavoredObjectTest.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 22,80 **** */ import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.SystemFlavorMap; ! import java.io.IOException; ! import java.io.Reader; import javax.swing.JLabel; import javax.swing.TransferHandler; /* * @test * @key headful ! * @bug 8130329 * @summary Audit Core Reflection in module java.desktop AWT/Miscellaneous area * for places that will require changes to work with modules * @author Alexander Scherbatiy */ public class ConstructFlavoredObjectTest { - private static final String TEST_MIME_TYPE = "text/plain;class=" - + MyStringReader.class.getName(); - public static void main(String[] args) throws Exception { final DataFlavor dataFlavor = new DataFlavor(TEST_MIME_TYPE); ! SystemFlavorMap systemFlavorMap = (SystemFlavorMap) SystemFlavorMap. ! getDefaultFlavorMap(); systemFlavorMap.addUnencodedNativeForFlavor(dataFlavor, "TEXT"); systemFlavorMap.addFlavorForUnencodedNative("TEXT", dataFlavor); ! TransferHandler transferHandler = new TransferHandler("Test Handler"); Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); ! transferHandler.exportToClipboard(new JLabel("Test"), clipboard, TransferHandler.COPY); Object clipboardData = clipboard.getData(dataFlavor); ! if (!(clipboardData instanceof MyStringReader)) { ! throw new RuntimeException("Wrong clipboard data!"); } } ! public static class MyStringReader extends Reader { ! public MyStringReader(Reader reader) { ! } ! @Override ! public int read(char[] cbuf, int off, int len) throws IOException { ! throw new UnsupportedOperationException("Not supported yet."); ! } ! @Override ! public void close() throws IOException { ! throw new UnsupportedOperationException("Not supported yet."); } } } --- 22,102 ---- */ import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.SystemFlavorMap; ! import javax.swing.JColorChooser; import javax.swing.JLabel; import javax.swing.TransferHandler; + import java.awt.Color; + /* * @test * @key headful ! * @bug 8130329 8134612 * @summary Audit Core Reflection in module java.desktop AWT/Miscellaneous area * for places that will require changes to work with modules * @author Alexander Scherbatiy + * @run main ConstructFlavoredObjectTest */ public class ConstructFlavoredObjectTest { public static void main(String[] args) throws Exception { + ConstructFlavoredObjectTest testObject = new ConstructFlavoredObjectTest(); + + testObject.testTextFlavor(); + + testObject.testColorFlavor(); + } + + public void testTextFlavor() throws Exception { + final String TEST_MIME_TYPE = DataFlavor.javaJVMLocalObjectMimeType + + ";class=" + String.class.getName(); + final DataFlavor dataFlavor = new DataFlavor(TEST_MIME_TYPE); ! SystemFlavorMap systemFlavorMap = ! (SystemFlavorMap) SystemFlavorMap.getDefaultFlavorMap(); systemFlavorMap.addUnencodedNativeForFlavor(dataFlavor, "TEXT"); systemFlavorMap.addFlavorForUnencodedNative("TEXT", dataFlavor); ! TransferHandler transferHandler = new TransferHandler("text"); + String text = "This is sample export text"; Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); ! transferHandler.exportToClipboard(new JLabel(text), clipboard, TransferHandler.COPY); Object clipboardData = clipboard.getData(dataFlavor); ! String textFromClipboard = (String) clipboardData; ! ! if (!textFromClipboard.equals(text)) { ! throw new RuntimeException("Wrong clipboard data : Text"); } } ! public void testColorFlavor() throws Exception { ! final String TEST_MIME_TYPE = DataFlavor.javaJVMLocalObjectMimeType + ! ";class=" + Color.class.getName(); ! final DataFlavor dataFlavor = new DataFlavor(TEST_MIME_TYPE); ! SystemFlavorMap systemFlavorMap = ! (SystemFlavorMap) SystemFlavorMap.getDefaultFlavorMap(); ! systemFlavorMap.addUnencodedNativeForFlavor(dataFlavor, "COLOR"); ! systemFlavorMap.addFlavorForUnencodedNative("COLOR", dataFlavor); ! TransferHandler transferHandler = new TransferHandler("color"); ! ! Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); ! transferHandler.exportToClipboard(new JColorChooser(Color.BLUE), ! clipboard, TransferHandler.COPY); ! ! Object clipboardData = clipboard.getData(dataFlavor); ! Color colorFromClipboard = (Color) clipboardData; ! if (!colorFromClipboard.equals(Color.BLUE)) { ! throw new RuntimeException("Wrong clipboard data : Color"); } } } +
< prev index next >