Index: dart/editor/tools/plugins/com.google.dart.tools.ui_test/src/com/google/dart/tools/ui/internal/text/dart/DartReconcilingStrategyTest.java |
=================================================================== |
--- dart/editor/tools/plugins/com.google.dart.tools.ui_test/src/com/google/dart/tools/ui/internal/text/dart/DartReconcilingStrategyTest.java (revision 26105) |
+++ dart/editor/tools/plugins/com.google.dart.tools.ui_test/src/com/google/dart/tools/ui/internal/text/dart/DartReconcilingStrategyTest.java (working copy) |
@@ -46,6 +46,7 @@ |
import java.util.Arrays; |
import java.util.List; |
import java.util.concurrent.CountDownLatch; |
+import java.util.concurrent.Semaphore; |
import java.util.concurrent.TimeUnit; |
public class DartReconcilingStrategyTest extends TestCase { |
@@ -225,7 +226,7 @@ |
* Mock editor for testing {@link DartReconcilingStrategy} |
*/ |
private final class MockEditor implements DartReconcilingEditor { |
- private CountDownLatch appliedLatch = null; |
+ private Semaphore applied = null; |
private CompilationUnit appliedUnit = null; |
private DisposeListener disposeListener = null; |
private FocusListener focusListener = null; |
@@ -249,13 +250,13 @@ |
@Override |
public void applyCompilationUnitElement(CompilationUnit unit) { |
appliedUnit = unit; |
- if (appliedLatch != null) { |
- appliedLatch.countDown(); |
+ if (applied != null) { |
+ applied.release(); |
} |
} |
public void expectApply() { |
- appliedLatch = new CountDownLatch(1); |
+ applied = new Semaphore(0); |
appliedUnit = null; |
} |
@@ -284,16 +285,15 @@ |
return mockSource.getShortName(); |
} |
- public CompilationUnit waitForApply(long milliseconds, boolean expectAnother) { |
- if (appliedLatch == null) { |
+ public CompilationUnit waitForApply(long milliseconds) { |
+ if (applied == null) { |
throw new IllegalStateException("Call expectApply"); |
} |
try { |
- assertTrue(appliedLatch.await(milliseconds, TimeUnit.MILLISECONDS)); |
+ assertTrue(applied.tryAcquire(milliseconds, TimeUnit.MILLISECONDS)); |
} catch (InterruptedException e) { |
- assertEquals(0, appliedLatch.getCount()); |
+ assertTrue(applied.tryAcquire()); |
} |
- appliedLatch = expectAnother ? new CountDownLatch(1) : null; |
return appliedUnit; |
} |
} |
@@ -335,11 +335,12 @@ |
strategy.initialReconcile(); |
- assertNotNull(mockEditor.waitForApply(5000, true)); |
+ assertNotNull(mockEditor.waitForApply(5000)); |
CompilationUnit unit = mockContext.waitForResolution(mockSource, 5000); |
assertNotNull(unit); |
- assertSame(unit, mockEditor.waitForApply(5000, false)); |
- List<Source> priorityOrder = mockContext.waitForSetPriorityOrder(5000); |
+ unit = mockEditor.waitForApply(5000); |
+ assertNotNull(unit); |
+ List<Source> priorityOrder = mockContext.waitForSetPriorityOrder(15000); |
assertEquals(1, priorityOrder.size()); |
assertSame(mockSource, priorityOrder.get(0)); |
mockContext.assertPrioritySetBeforeBackgroundAnalysis(); |
@@ -360,11 +361,12 @@ |
strategy.initialReconcile(); |
- assertNotNull(mockEditor.waitForApply(5000, true)); |
+ assertNotNull(mockEditor.waitForApply(5000)); |
CompilationUnit unit = mockContext.waitForResolution(mockSource, 5000); |
assertNotNull(unit); |
- assertSame(unit, mockEditor.waitForApply(5000, false)); |
- List<Source> priorityOrder = mockContext.waitForSetPriorityOrder(5000); |
+ unit = mockEditor.waitForApply(5000); |
+ assertNotNull(unit); |
+ List<Source> priorityOrder = mockContext.waitForSetPriorityOrder(15000); |
assertEquals(1, priorityOrder.size()); |
assertSame(mockSource, priorityOrder.get(0)); |
mockContext.assertPrioritySetBeforeBackgroundAnalysis(); |
@@ -382,7 +384,7 @@ |
strategy.initialReconcile(); |
- assertSame(unit, mockEditor.waitForApply(5000, false)); |
+ assertSame(unit, mockEditor.waitForApply(5000)); |
List<Source> priorityOrder = mockContext.waitForSetPriorityOrder(5000); |
assertEquals(1, priorityOrder.size()); |
assertSame(mockSource, priorityOrder.get(0)); |
@@ -418,15 +420,15 @@ |
mockEditor.expectApply(); |
strategy.initialReconcile(); |
- assertNotNull(mockEditor.waitForApply(5000, false)); |
+ assertNotNull(mockEditor.waitForApply(5000)); |
mockEditor.expectApply(); |
mockDocument.replace(0, 0, newText); |
- assertNull(mockEditor.waitForApply(5000, false)); |
+ assertNull(mockEditor.waitForApply(5000)); |
mockEditor.expectApply(); |
strategy.reconcile(new DirtyRegion(0, 0, DirtyRegion.INSERT, newText), new Region(0, 0)); |
- CompilationUnit unit = mockEditor.waitForApply(5000, false); |
+ CompilationUnit unit = mockEditor.waitForApply(5000); |
assertNotNull(unit); |
} |
@@ -449,15 +451,15 @@ |
mockEditor.expectApply(); |
strategy.initialReconcile(); |
- assertNotNull(mockEditor.waitForApply(5000, false)); |
+ assertNotNull(mockEditor.waitForApply(5000)); |
mockEditor.expectApply(); |
mockDocument.replace(0, 0, newText); |
- assertNull(mockEditor.waitForApply(5000, false)); |
+ assertNull(mockEditor.waitForApply(5000)); |
mockEditor.expectApply(); |
strategy.reconcile(new Region(0, newText.length())); |
- CompilationUnit unit = mockEditor.waitForApply(5000, false); |
+ CompilationUnit unit = mockEditor.waitForApply(5000); |
assertNotNull(unit); |
} |