1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.richclient.core;
17
18 import java.awt.event.KeyEvent;
19 import java.beans.PropertyChangeEvent;
20 import java.beans.PropertyChangeListener;
21
22 import javax.swing.KeyStroke;
23
24 import junit.framework.TestCase;
25
26 import org.easymock.EasyMock;
27 import org.springframework.richclient.command.config.CommandButtonLabelInfo;
28
29
30
31
32
33
34 public class LabeledObjectSupportTests extends TestCase {
35
36 public void testSetTitle() {
37 LabeledObjectSupport support = new LabeledObjectSupport();
38
39 PropertyChangeListener mockPropertyChangeListener = (PropertyChangeListener) EasyMock
40 .createMock(PropertyChangeListener.class);
41
42 mockPropertyChangeListener.propertyChange(eqPropertyChangeEvent(new PropertyChangeEvent(support,
43 LabeledObjectSupport.DISPLAY_NAME_PROPERTY, null, "new title")));
44 support.addPropertyChangeListener(LabeledObjectSupport.DISPLAY_NAME_PROPERTY, mockPropertyChangeListener);
45
46 EasyMock.replay(mockPropertyChangeListener);
47
48 support.setTitle("new title");
49
50 EasyMock.verify(mockPropertyChangeListener);
51 }
52
53 public void testGetDisplayName() {
54 LabeledObjectSupport support = new LabeledObjectSupport();
55 assertEquals("displayName", support.getDisplayName());
56
57 support.setTitle("title");
58 assertEquals("title", support.getDisplayName());
59
60 support.setLabelInfo(new CommandButtonLabelInfo("label info"));
61 assertEquals("title", support.getDisplayName());
62
63 support.setTitle(null);
64 assertEquals("label info", support.getDisplayName());
65 }
66
67 public void testSetLabelInfo() {
68 LabeledObjectSupport support = new LabeledObjectSupport();
69
70 CommandButtonLabelInfo labelInfo = CommandButtonLabelInfo.valueOf("&Save@control S");
71
72 PropertyChangeListener mockPropertyChangeListener = (PropertyChangeListener) EasyMock
73 .createMock(PropertyChangeListener.class);
74
75 mockPropertyChangeListener.propertyChange(eqPropertyChangeEvent(new PropertyChangeEvent(support,
76 LabeledObjectSupport.DISPLAY_NAME_PROPERTY, null, "Save")));
77 mockPropertyChangeListener.propertyChange(eqPropertyChangeEvent(new PropertyChangeEvent(support,
78 "mnemonic", Integer.valueOf(0), Integer.valueOf('S'))));
79 mockPropertyChangeListener.propertyChange(eqPropertyChangeEvent(new PropertyChangeEvent(support,
80 "accelerator", null, KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_DOWN_MASK))));
81 support.addPropertyChangeListener(mockPropertyChangeListener);
82
83 EasyMock.replay(mockPropertyChangeListener);
84
85 support.setLabelInfo(labelInfo);
86
87 EasyMock.verify(mockPropertyChangeListener);
88 }
89
90 public static PropertyChangeEvent eqPropertyChangeEvent(PropertyChangeEvent expected) {
91 EasyMock.reportMatcher(new PropertyChangeEventArgumentMatcher(expected));
92
93 return null;
94 }
95 }