1 /* 2 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package test.javafx.scene; 27 28 import test.com.sun.javafx.pgstub.StubImageLoaderFactory; 29 import test.com.sun.javafx.pgstub.StubPlatformImageInfo; 30 import test.com.sun.javafx.pgstub.StubToolkit; 31 import com.sun.javafx.tk.Toolkit; 32 import javafx.scene.Cursor; 33 import javafx.scene.ImageCursor; 34 import javafx.scene.image.Image; 35 36 import static org.junit.Assert.assertEquals; 37 import static org.junit.Assert.assertTrue; 38 39 import org.junit.Test; 40 41 42 public class CursorTest { 43 44 @Test public void test_cursorFromUppercaseName() { 45 assertEquals(Cursor.DEFAULT, Cursor.cursor("DEFAULT")); 46 assertEquals(Cursor.CLOSED_HAND, Cursor.cursor("CLOSED_HAND")); 47 assertEquals(Cursor.CROSSHAIR, Cursor.cursor("CROSSHAIR")); 48 assertEquals(Cursor.DISAPPEAR, Cursor.cursor("DISAPPEAR")); 49 assertEquals(Cursor.E_RESIZE, Cursor.cursor("E_RESIZE")); 50 assertEquals(Cursor.MOVE, Cursor.cursor("MOVE")); 51 assertEquals(Cursor.NE_RESIZE, Cursor.cursor("NE_RESIZE")); 52 assertEquals(Cursor.NONE, Cursor.cursor("NONE")); 53 assertEquals(Cursor.NW_RESIZE, Cursor.cursor("NW_RESIZE")); 54 assertEquals(Cursor.N_RESIZE, Cursor.cursor("N_RESIZE")); 55 assertEquals(Cursor.OPEN_HAND, Cursor.cursor("OPEN_HAND")); 56 assertEquals(Cursor.SE_RESIZE, Cursor.cursor("SE_RESIZE")); 57 assertEquals(Cursor.SW_RESIZE, Cursor.cursor("SW_RESIZE")); 58 assertEquals(Cursor.S_RESIZE, Cursor.cursor("S_RESIZE")); 59 assertEquals(Cursor.TEXT, Cursor.cursor("TEXT")); 60 assertEquals(Cursor.V_RESIZE, Cursor.cursor("V_RESIZE")); 61 assertEquals(Cursor.WAIT, Cursor.cursor("WAIT")); 62 assertEquals(Cursor.W_RESIZE, Cursor.cursor("W_RESIZE")); 63 } 64 65 @Test public void test_cursorFromLowercaseName() { 66 assertEquals(Cursor.DEFAULT, Cursor.cursor("default")); 67 assertEquals(Cursor.CLOSED_HAND, Cursor.cursor("closed_hand")); 68 assertEquals(Cursor.CROSSHAIR, Cursor.cursor("crosshair")); 69 assertEquals(Cursor.DISAPPEAR, Cursor.cursor("disappear")); 70 assertEquals(Cursor.E_RESIZE, Cursor.cursor("e_resize")); 71 assertEquals(Cursor.MOVE, Cursor.cursor("move")); 72 assertEquals(Cursor.NE_RESIZE, Cursor.cursor("ne_resize")); 73 assertEquals(Cursor.NONE, Cursor.cursor("none")); 74 assertEquals(Cursor.NW_RESIZE, Cursor.cursor("nw_resize")); 75 assertEquals(Cursor.N_RESIZE, Cursor.cursor("n_resize")); 76 assertEquals(Cursor.OPEN_HAND, Cursor.cursor("open_hand")); 77 assertEquals(Cursor.SE_RESIZE, Cursor.cursor("se_resize")); 78 assertEquals(Cursor.SW_RESIZE, Cursor.cursor("sw_resize")); 79 assertEquals(Cursor.S_RESIZE, Cursor.cursor("s_resize")); 80 assertEquals(Cursor.TEXT, Cursor.cursor("text")); 81 assertEquals(Cursor.V_RESIZE, Cursor.cursor("v_resize")); 82 assertEquals(Cursor.WAIT, Cursor.cursor("wait")); 83 assertEquals(Cursor.W_RESIZE, Cursor.cursor("w_resize")); 84 } 85 86 @Test public void test_cursorFromUrl() { 87 final StubImageLoaderFactory imageLoaderFactory = 88 ((StubToolkit) Toolkit.getToolkit()).getImageLoaderFactory(); 89 90 final String imageUrl = "file:cursor.png"; 91 imageLoaderFactory.registerImage( 92 imageUrl, new StubPlatformImageInfo(100, 100)); 93 94 final Cursor cursor = Cursor.cursor(imageUrl); 95 assertTrue(cursor instanceof ImageCursor); 96 97 final Image cursorImage = ((ImageCursor) cursor).getImage(); 98 assertEquals(imageUrl, cursorImage.impl_getUrl()); 99 } 100 101 @Test(expected=NullPointerException.class) 102 public void test_cursorFromNull() { 103 Cursor.cursor(null); 104 } 105 106 @Test(expected=IllegalArgumentException.class) 107 public void test_cursorFromInvalidUrl() { 108 Cursor.cursor("file//:cursor.png"); 109 } 110 111 @Test(expected=IllegalArgumentException.class) 112 public void test_cursorFromInvalidName() { 113 Cursor.cursor("crosslair"); 114 } 115 }