KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openide > loaders > FolderRenameHandlerTest


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.openide.loaders;
21
22 import junit.framework.*;
23 import org.openide.filesystems.*;
24 import org.openide.nodes.Node;
25 import org.openide.util.Lookup;
26 import org.openide.util.lookup.Lookups;
27 import org.openide.util.lookup.ProxyLookup;
28
29 /**
30  * @author Jan Becicka
31  */

32 public class FolderRenameHandlerTest extends TestCase {
33     static {
34         System.setProperty ("org.openide.util.Lookup", Lkp.class.getName()); // NOI18N
35
}
36
37     private FileObject fo;
38     private Node n;
39     private FolderRenameHandlerImpl frh = new FolderRenameHandlerImpl();
40     
41     public FolderRenameHandlerTest (String JavaDoc testName) {
42         super (testName);
43     }
44     
45     public void setUp() throws Exception JavaDoc {
46         super.setUp();
47         FileObject root = Repository.getDefault ().getDefaultFileSystem ().getRoot ();
48         fo = FileUtil.createFolder (root, "test");// NOI18N
49

50         DataObject obj = DataObject.find (fo);
51         if (! (obj instanceof DataFolder)) {
52             fail ("It should be DataFolder: " + obj);// NOI18N
53
}
54         
55         assertNotNull(obj);
56         n = obj.getNodeDelegate();
57         assertNotNull(n);
58     }
59     
60     public void tearDown() throws Exception JavaDoc {
61         super.tearDown();
62         fo.delete();
63     }
64
65     public void testRenameHandlerNotCalled () throws Exception JavaDoc {
66         ((Lkp) Lkp.getDefault()).register(new Object JavaDoc[]{});
67         frh.called = false;
68         
69         n.setName("blabla");
70         assertFalse(frh.called);
71     }
72     
73     public void testRenameHandlerCalled () throws Exception JavaDoc {
74         ((Lkp) Lkp.getDefault()).register(new Object JavaDoc[]{frh});
75         frh.called = false;
76         
77         n.setName("foo");// NOI18N
78
assertTrue(frh.called);
79     }
80     
81     public static class Lkp extends ProxyLookup {
82         public Lkp() {
83             super(new Lookup[0]);
84         }
85         public void register(Object JavaDoc[] instances) {
86             setLookups(new Lookup[] {Lookups.fixed(instances)});
87         }
88     }
89     private static final class FolderRenameHandlerImpl implements FolderRenameHandler {
90         boolean called = false;
91         public void handleRename(DataFolder folder, String JavaDoc newName) throws IllegalArgumentException JavaDoc {
92             called = true;
93         }
94     }
95     
96 }
97
Popular Tags