Lines 27-32
Link Here
|
27 |
*/ |
27 |
*/ |
28 |
package org.netbeans.editor; |
28 |
package org.netbeans.editor; |
29 |
|
29 |
|
|
|
30 |
import java.beans.PropertyChangeEvent; |
31 |
import java.beans.PropertyChangeListener; |
32 |
import java.util.LinkedList; |
33 |
import java.util.List; |
30 |
import javax.swing.text.BadLocationException; |
34 |
import javax.swing.text.BadLocationException; |
31 |
import org.netbeans.junit.NbTestCase; |
35 |
import org.netbeans.junit.NbTestCase; |
32 |
import org.netbeans.lib.editor.util.swing.DocumentUtilities; |
36 |
import org.netbeans.lib.editor.util.swing.DocumentUtilities; |
Lines 58-64
Link Here
|
58 |
public void testBreakAtomicLock() throws Exception { |
62 |
public void testBreakAtomicLock() throws Exception { |
59 |
final BaseDocument doc = new BaseDocument(false, "text/plain"); |
63 |
final BaseDocument doc = new BaseDocument(false, "text/plain"); |
60 |
doc.runAtomic(new Runnable() { |
64 |
doc.runAtomic(new Runnable() { |
61 |
public void run() { |
65 |
public @Override void run() { |
62 |
try { |
66 |
try { |
63 |
doc.insertString(0, "test1", null); |
67 |
doc.insertString(0, "test1", null); |
64 |
doc.breakAtomicLock(); |
68 |
doc.breakAtomicLock(); |
Lines 70-76
Link Here
|
70 |
boolean failure = false; |
74 |
boolean failure = false; |
71 |
try { |
75 |
try { |
72 |
doc.runAtomic(new Runnable() { |
76 |
doc.runAtomic(new Runnable() { |
73 |
public void run() { |
77 |
public @Override void run() { |
74 |
throw new IllegalStateException("test"); |
78 |
throw new IllegalStateException("test"); |
75 |
} |
79 |
} |
76 |
}); |
80 |
}); |
Lines 82-88
Link Here
|
82 |
throw new IllegalStateException("Unexpected"); |
86 |
throw new IllegalStateException("Unexpected"); |
83 |
} |
87 |
} |
84 |
doc.runAtomic(new Runnable() { |
88 |
doc.runAtomic(new Runnable() { |
85 |
public void run() { |
89 |
public @Override void run() { |
86 |
try { |
90 |
try { |
87 |
doc.insertString(0, "test1", null); |
91 |
doc.insertString(0, "test1", null); |
88 |
doc.insertString(10, "test2", null); |
92 |
doc.insertString(10, "test2", null); |
Lines 93-96
Link Here
|
93 |
}); |
97 |
}); |
94 |
} |
98 |
} |
95 |
|
99 |
|
|
|
100 |
public void testPropertyChangeEvents() { |
101 |
final List<PropertyChangeEvent> events = new LinkedList<PropertyChangeEvent>(); |
102 |
final BaseDocument doc = new BaseDocument(false, "text/plain"); |
103 |
final PropertyChangeListener l = new PropertyChangeListener() { |
104 |
public @Override void propertyChange(PropertyChangeEvent evt) { |
105 |
events.add(evt); |
106 |
} |
107 |
}; |
108 |
|
109 |
DocumentUtilities.addPropertyChangeListener(doc, l); |
110 |
assertEquals("No events expected", 0, events.size()); |
111 |
|
112 |
doc.putProperty("prop-A", "value-A"); |
113 |
assertEquals("No event fired", 1, events.size()); |
114 |
assertEquals("Wrong property name", "prop-A", events.get(0).getPropertyName()); |
115 |
assertNull("Wrong old property value", events.get(0).getOldValue()); |
116 |
assertEquals("Wrong new property value", "value-A", events.get(0).getNewValue()); |
117 |
|
118 |
events.clear(); |
119 |
DocumentUtilities.removePropertyChangeListener(doc, l); |
120 |
assertEquals("No events expected", 0, events.size()); |
121 |
|
122 |
doc.putProperty("prop-B", "value-B"); |
123 |
assertEquals("Expecting no events on removed listener", 0, events.size()); |
124 |
} |
96 |
} |
125 |
} |