diff -r 9152bc6fef39 spi.palette/test/unit/src/org/netbeans/spi/palette/DragAndDropHandlerTest.java --- a/spi.palette/test/unit/src/org/netbeans/spi/palette/DragAndDropHandlerTest.java Tue Apr 22 10:39:01 2008 +0200 +++ b/spi.palette/test/unit/src/org/netbeans/spi/palette/DragAndDropHandlerTest.java Thu Apr 24 16:18:47 2008 +0200 @@ -50,6 +50,7 @@ import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.nodes.Index; +import org.openide.util.Lookup; import org.openide.util.datatransfer.ExTransferable; /** @@ -102,6 +103,25 @@ assertTrue( handler.canDrop( cat.getLookup(), flavors, DnDConstants.ACTION_COPY_OR_MOVE ) ); flavors = new DataFlavor[] { new DataFlavor( "text/xml" ) }; + assertFalse( handler.canDrop( cat.getLookup(), flavors, DnDConstants.ACTION_COPY_OR_MOVE ) ); + } + + public void testCanDropText() throws Exception { + PaletteActions actions = new DummyActions(); + PaletteController pc = PaletteFactory.createPalette( getRootFolderName(), actions ); + Model model = pc.getModel(); + + Category cat = model.getCategories()[0]; + + DragAndDropHandler handler = new TextDragAndDropHandler(); + + DataFlavor[] flavors = new DataFlavor[] { new DataFlavor( "text/xml" ) }; + assertTrue( handler.canDrop( cat.getLookup(), flavors, DnDConstants.ACTION_COPY_OR_MOVE ) ); + + flavors = new DataFlavor[] { new DataFlavor( "text/html" ) }; + assertTrue( handler.canDrop( cat.getLookup(), flavors, DnDConstants.ACTION_COPY_OR_MOVE ) ); + + flavors = new DataFlavor[] { new DataFlavor( "unsupported/mimetype" ) }; assertFalse( handler.canDrop( cat.getLookup(), flavors, DnDConstants.ACTION_COPY_OR_MOVE ) ); } @@ -217,4 +237,14 @@ return super.getCookie(type); } } + + private static class TextDragAndDropHandler extends DragAndDropHandler { + public TextDragAndDropHandler() { + super( true ); + } + + @Override + public void customize(ExTransferable t, Lookup item) { + } + } }