diff options
author | Lucas Bullen | 2018-03-27 18:20:43 +0000 |
---|---|---|
committer | Lucas Bullen | 2018-03-27 18:20:43 +0000 |
commit | d6a4c8cfc2c8a4e690383ed530c5b706e3162441 (patch) | |
tree | 538dacbf57640040a5518330156b9aca742e575f | |
parent | 2c46f0a21f3a27b35898ca47d062ac7cf375c4b9 (diff) | |
download | eclipse.platform.text-d6a4c8cfc2c8a4e690383ed530c5b706e3162441.tar.gz eclipse.platform.text-d6a4c8cfc2c8a4e690383ed530c5b706e3162441.tar.xz eclipse.platform.text-d6a4c8cfc2c8a4e690383ed530c5b706e3162441.zip |
Bug 532774 - [GenericEditor] Tests for <enabledWhen> SupportI20180331-1500I20180330-2235I20180330-2000I20180329-2000I20180329-0000I20180328-2000I20180327-2000
- Tests for turning on and off a property that in turn enables/disables
each extension point
Change-Id: Idd6805d6e6677a93e822657ab7182136636078a0
Signed-off-by: Lucas Bullen <lbullen@redhat.com>
9 files changed, 261 insertions, 16 deletions
diff --git a/org.eclipse.ui.genericeditor.tests/META-INF/MANIFEST.MF b/org.eclipse.ui.genericeditor.tests/META-INF/MANIFEST.MF index b3738db2e2d..3d0e5ebbe9f 100644 --- a/org.eclipse.ui.genericeditor.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.ui.genericeditor.tests/META-INF/MANIFEST.MF @@ -20,7 +20,8 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)", org.eclipse.jface.text.tests;bundle-version="3.11.100", org.eclipse.text.tests;bundle-version="3.11.0", org.eclipse.ui.workbench.texteditor.tests;bundle-version="3.11.100", - org.eclipse.ui.editors;bundle-version="3.11.0" + org.eclipse.ui.editors;bundle-version="3.11.0", + org.eclipse.core.expressions Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Eclipse-BundleShape: dir Bundle-ActivationPolicy: lazy diff --git a/org.eclipse.ui.genericeditor.tests/plugin.xml b/org.eclipse.ui.genericeditor.tests/plugin.xml index 1700b8ff825..1d81989bb2a 100644 --- a/org.eclipse.ui.genericeditor.tests/plugin.xml +++ b/org.eclipse.ui.genericeditor.tests/plugin.xml @@ -23,12 +23,32 @@ class="org.eclipse.ui.genericeditor.tests.contributions.LongRunningBarContentAssistProcessor" contentType="org.eclipse.ui.genericeditor.tests.specialized-content-type"> </contentAssistProcessor> + <contentAssistProcessor + class="org.eclipse.ui.genericeditor.tests.contributions.BarContentAssistProcessor" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </enabledWhen> + </contentAssistProcessor> </extension> <extension point="org.eclipse.ui.genericeditor.hoverProviders"> <hoverProvider - class="org.eclipse.ui.genericeditor.tests.contributions.AlrightyHoverProvider" - contentType="org.eclipse.ui.genericeditor.tests.content-type"> + class="org.eclipse.ui.genericeditor.tests.contributions.AlrightyHoverProvider" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </enabledWhen> + </hoverProvider> + <hoverProvider + class="org.eclipse.ui.genericeditor.tests.contributions.AlrightyHoverProvider" + contentType="org.eclipse.ui.genericeditor.tests.content-type"> </hoverProvider> <hoverProvider class="org.eclipse.ui.genericeditor.tests.contributions.WorldHoverProvider" @@ -38,6 +58,18 @@ class="org.eclipse.ui.genericeditor.tests.contributions.HelloHoverProvider" contentType="org.eclipse.ui.genericeditor.tests.specialized-content-type-bar"> </hoverProvider> + <hoverProvider + class="org.eclipse.ui.genericeditor.tests.contributions.WorldHoverProvider" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <not> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </not> + </enabledWhen> + </hoverProvider> </extension> <extension point="org.eclipse.ui.genericeditor.reconcilers"> @@ -53,6 +85,28 @@ class="org.eclipse.ui.genericeditor.tests.contributions.TheReconcilerFirst" contentType="org.eclipse.ui.genericeditor.tests.content-type"> </reconciler> + <reconciler + class="org.eclipse.ui.genericeditor.tests.contributions.TheReconcilerFirst" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </enabledWhen> + </reconciler> + <reconciler + class="org.eclipse.ui.genericeditor.tests.contributions.TheReconcilerSecond" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <not> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </not> + </enabledWhen> + </reconciler> </extension> <extension point="org.eclipse.ui.genericeditor.presentationReconcilers"> @@ -68,6 +122,16 @@ class="org.eclipse.ui.genericeditor.tests.contributions.ThePresentationReconcilerRed" contentType="org.eclipse.ui.genericeditor.tests.sub-specialized-content-type"> </presentationReconciler> + <presentationReconciler + class="org.eclipse.ui.genericeditor.tests.contributions.ThePresentationReconcilerBlue" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </enabledWhen> + </presentationReconciler> </extension> <extension point="org.eclipse.ui.ide.markerResolution"> @@ -120,6 +184,13 @@ name="Specialized Generic Editor content-type for 'bar.txt'" priority="normal"> </content-type> + <content-type + base-type="org.eclipse.core.runtime.text" + file-names="enabledWhen.txt" + id="org.eclipse.ui.genericeditor.tests.enabled-when-content-type" + name="enabledWhen content-type for 'enabledWhen.txt'" + priority="normal"> + </content-type> </extension> <extension point="org.eclipse.ui.genericeditor.autoEditStrategies"> @@ -135,6 +206,16 @@ class="org.eclipse.ui.genericeditor.tests.contributions.TheAutoEditStrategyThird" contentType="org.eclipse.ui.genericeditor.tests.sub-specialized-content-type"> </autoEditStrategy> + <autoEditStrategy + class="org.eclipse.ui.genericeditor.tests.contributions.TheAutoEditStrategyFirst" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </enabledWhen> + </autoEditStrategy> </extension> <extension point="org.eclipse.ui.genericeditor.highlightReconcilers"> @@ -142,5 +223,25 @@ class="org.eclipse.ui.genericeditor.tests.contributions.HighlightReconciler" contentType="org.eclipse.ui.genericeditor.tests.content-type-bar"> </highlightReconciler> - </extension> + <highlightReconciler + class="org.eclipse.ui.genericeditor.tests.contributions.HighlightReconciler" + contentType="org.eclipse.ui.genericeditor.tests.enabled-when-content-type"> + <enabledWhen> + <test + forcePluginActivation="true" + property="org.eclipse.ui.genericeditor.tests.contributions.enabled"> + </test> + </enabledWhen> + </highlightReconciler> + </extension> + <extension + point="org.eclipse.core.expressions.propertyTesters"> + <propertyTester + class="org.eclipse.ui.genericeditor.tests.contributions.EnabledPropertyTester" + id="org.eclipse.ui.genericeditor.tests.contributions.enabled" + namespace="org.eclipse.ui.genericeditor.tests.contributions" + properties="enabled" + type="org.eclipse.ui.internal.genericeditor.ExtensionBasedTextEditor"> + </propertyTester> + </extension> </plugin> diff --git a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/AutoEditTest.java b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/AutoEditTest.java index 1aa3a3e5146..caddf69c887 100644 --- a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/AutoEditTest.java +++ b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/AutoEditTest.java @@ -18,6 +18,8 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.jface.text.IDocument; +import org.eclipse.ui.genericeditor.tests.contributions.EnabledPropertyTester; + public class AutoEditTest extends AbstratGenericEditorTest { @Test @@ -29,4 +31,23 @@ public class AutoEditTest extends AbstratGenericEditorTest { Assert.assertEquals("AutoAddedThird!AutoAddedSecond!AutoAddedFirst!", document.get()); } + @Test + public void testEnabledWhenAutoEdit() throws Exception { + EnabledPropertyTester.setEnabled(true); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + IDocument document= editor.getDocumentProvider().getDocument(editor.getEditorInput()); + StyledText control= (StyledText) editor.getAdapter(Control.class); + control.setText(""); + // order of auto-edits from most specialized to least specialized + Assert.assertEquals("AutoAddedFirst!", document.get()); + cleanFileAndEditor(); + + EnabledPropertyTester.setEnabled(false); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + document= editor.getDocumentProvider().getDocument(editor.getEditorInput()); + control= (StyledText) editor.getAdapter(Control.class); + control.setText(""); + // order of auto-edits from most specialized to least specialized + Assert.assertEquals("", document.get()); + } } diff --git a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/CompletionTest.java b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/CompletionTest.java index 31b0543957f..91ec93ff095 100644 --- a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/CompletionTest.java +++ b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/CompletionTest.java @@ -11,6 +11,7 @@ package org.eclipse.ui.genericeditor.tests; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.util.Arrays; @@ -36,6 +37,7 @@ import org.eclipse.jface.text.contentassist.ICompletionProposal; import org.eclipse.jface.text.tests.util.DisplayHelper; import org.eclipse.ui.genericeditor.tests.contributions.BarContentAssistProcessor; +import org.eclipse.ui.genericeditor.tests.contributions.EnabledPropertyTester; import org.eclipse.ui.genericeditor.tests.contributions.LongRunningBarContentAssistProcessor; import org.eclipse.ui.texteditor.ContentAssistAction; @@ -51,11 +53,7 @@ public class CompletionTest extends AbstratGenericEditorTest { @Test public void testCompletion() throws Exception { final Set<Shell> beforeShells = Arrays.stream(editor.getSite().getShell().getDisplay().getShells()).filter(Shell::isVisible).collect(Collectors.toSet()); - editor.selectAndReveal(3, 0); - ContentAssistAction action = (ContentAssistAction) editor.getAction(ITextEditorActionConstants.CONTENT_ASSIST); - action.update(); - action.run(); - waitAndDispatch(100); + openConentAssist(); this.completionShell= findNewShell(beforeShells); final Table completionProposalList = findCompletionSelectionControl(completionShell); checkCompletionContent(completionProposalList); @@ -63,6 +61,36 @@ public class CompletionTest extends AbstratGenericEditorTest { // Assert.assertEquals("Completion didn't complete", "bars are good for a beer.", ((StyledText)editor.getAdapter(Control.class)).getText()); } + @Test + public void testEnabledWhenCompletion() throws Exception { + // Confirm that when disabled, a completion shell is present + EnabledPropertyTester.setEnabled(false); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + final Set<Shell> beforeShells = Arrays.stream(editor.getSite().getShell().getDisplay().getShells()).filter(Shell::isVisible).collect(Collectors.toSet()); + openConentAssist(); + Shell[] afterShells = Arrays.stream(editor.getSite().getShell().getDisplay().getShells()) + .filter(Shell::isVisible) + .filter(shell -> !beforeShells.contains(shell)) + .toArray(Shell[]::new); + assertEquals("A new shell was found", 0, afterShells.length); + cleanFileAndEditor(); + + // Confirm that when enabled, a completion shell is present + EnabledPropertyTester.setEnabled(true); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + final Set<Shell> beforeEnabledShells = Arrays.stream(editor.getSite().getShell().getDisplay().getShells()).filter(Shell::isVisible).collect(Collectors.toSet()); + openConentAssist(); + assertNotNull(findNewShell(beforeEnabledShells)); + } + + private void openConentAssist() { + editor.selectAndReveal(3, 0); + ContentAssistAction action = (ContentAssistAction) editor.getAction(ITextEditorActionConstants.CONTENT_ASSIST); + action.update(); + action.run(); + waitAndDispatch(100); + } + /** * Checks that completion behaves as expected: * 1. Computing is shown instantaneously @@ -111,11 +139,7 @@ public class CompletionTest extends AbstratGenericEditorTest { @Test public void testCompletionFreeze_bug521484() throws Exception { final Set<Shell> beforeShells = Arrays.stream(editor.getSite().getShell().getDisplay().getShells()).filter(Shell::isVisible).collect(Collectors.toSet()); - editor.selectAndReveal(3, 0); - ContentAssistAction action = (ContentAssistAction) editor.getAction(ITextEditorActionConstants.CONTENT_ASSIST); - action.update(); - action.run(); - waitAndDispatch(100); + openConentAssist(); this.completionShell= findNewShell(beforeShells); final Table completionProposalList = findCompletionSelectionControl(this.completionShell); // should be instantaneous, but happens to go asynchronous on CI so let's allow a wait @@ -134,7 +158,7 @@ public class CompletionTest extends AbstratGenericEditorTest { emulatePressLeftArrowKey(); DisplayHelper.sleep(editor.getSite().getShell().getDisplay(), 200); //give time to process events long processingDuration = System.currentTimeMillis() - timestamp; - assertTrue("UI Thread frozen for " + processingDuration + "ms", processingDuration < LongRunningBarContentAssistProcessor.DELAY); + assertTrue("UI Thread frozen for " + processingDuration + "ms", processingDuration < LongRunningBarContentAssistProcessor.DELAY); } @Test diff --git a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HighlightTest.java b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HighlightTest.java index 802640626a8..b80950c8b25 100644 --- a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HighlightTest.java +++ b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HighlightTest.java @@ -27,6 +27,8 @@ import org.eclipse.jface.text.source.Annotation; import org.eclipse.jface.text.source.IAnnotationModel; import org.eclipse.jface.text.tests.util.DisplayHelper; +import org.eclipse.ui.genericeditor.tests.contributions.EnabledPropertyTester; + import org.eclipse.ui.texteditor.IDocumentProvider; public class HighlightTest extends AbstratGenericEditorTest { @@ -50,6 +52,18 @@ public class HighlightTest extends AbstratGenericEditorTest { } @Test + public void testEnabledWhenCustomHighlightReconciler() throws Exception { + EnabledPropertyTester.setEnabled(true); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + checkHighlightForCaretOffset(0, "'bar'", 1); + cleanFileAndEditor(); + + EnabledPropertyTester.setEnabled(false); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + checkHighlightForCaretOffset(0, "'bar'", 0); + } + + @Test public void testHighlightWordAtDocumentStart() throws Exception { createAndOpenFile("foo.txt", EDITOR_TEXT); diff --git a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HoverTest.java b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HoverTest.java index 68a1f18ccb4..3f08862ab90 100644 --- a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HoverTest.java +++ b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/HoverTest.java @@ -48,6 +48,7 @@ import org.eclipse.jface.text.TextViewer; import org.eclipse.jface.text.tests.util.DisplayHelper; import org.eclipse.ui.genericeditor.tests.contributions.AlrightyHoverProvider; +import org.eclipse.ui.genericeditor.tests.contributions.EnabledPropertyTester; import org.eclipse.ui.genericeditor.tests.contributions.HelloHoverProvider; import org.eclipse.ui.genericeditor.tests.contributions.MarkerResolutionGenerator; import org.eclipse.ui.genericeditor.tests.contributions.WorldHoverProvider; @@ -77,6 +78,22 @@ public class HoverTest extends AbstratGenericEditorTest { assertNull(findControl(shell, StyledText.class, WorldHoverProvider.LABEL)); } + @Test + public void testEnabledWhenHover() throws Exception { + EnabledPropertyTester.setEnabled(true); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + Shell shell = getHoverShell(triggerCompletionAndRetrieveInformationControlManager()); + assertNotNull(findControl(shell, StyledText.class, AlrightyHoverProvider.LABEL)); + assertNull(findControl(shell, StyledText.class, WorldHoverProvider.LABEL)); + cleanFileAndEditor(); + + EnabledPropertyTester.setEnabled(false); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + shell = getHoverShell(triggerCompletionAndRetrieveInformationControlManager()); + assertNull(findControl(shell, StyledText.class, AlrightyHoverProvider.LABEL)); + assertNotNull(findControl(shell, StyledText.class, WorldHoverProvider.LABEL)); + } + /** * @throws Exception ex * @since 1.1 diff --git a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/ReconcilerTest.java b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/ReconcilerTest.java index 0f5470814a3..f84a427156a 100644 --- a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/ReconcilerTest.java +++ b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/ReconcilerTest.java @@ -28,6 +28,7 @@ import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.tests.util.DisplayHelper; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.genericeditor.tests.contributions.EnabledPropertyTester; import org.eclipse.ui.genericeditor.tests.contributions.ReconcilerStrategyFirst; import org.eclipse.ui.genericeditor.tests.contributions.ReconcilerStrategySecond; import org.eclipse.ui.internal.genericeditor.ExtensionBasedTextEditor; @@ -47,6 +48,18 @@ public class ReconcilerTest extends AbstratGenericEditorTest { } @Test + public void testEnabledWhenReconciler() throws Exception { + EnabledPropertyTester.setEnabled(true); + createAndOpenFile("enabledWhen.txt", ""); + performTestOnEditor(ReconcilerStrategyFirst.SEARCH_TERM, editor, ReconcilerStrategyFirst.REPLACEMENT); + cleanFileAndEditor(); + + EnabledPropertyTester.setEnabled(false); + createAndOpenFile("enabledWhen.txt", ""); + performTestOnEditor(ReconcilerStrategySecond.SEARCH_TERM, editor, ReconcilerStrategySecond.REPLACEMENT); + } + + @Test public void testMultipleEditors() throws Exception { secondProject= ResourcesPlugin.getWorkspace().getRoot().getProject(getClass().getName() + System.currentTimeMillis()); secondProject.create(null); @@ -57,7 +70,7 @@ public class ReconcilerTest extends AbstratGenericEditorTest { .getActivePage().openEditor(new FileEditorInput(secondFile), "org.eclipse.ui.genericeditor.GenericEditor"); performTestOnEditor(ReconcilerStrategyFirst.SEARCH_TERM, editor, ReconcilerStrategyFirst.REPLACEMENT); } - + @Test public void testMultipleReconcilers() throws Exception { secondFile = project.getFile("bar.txt"); diff --git a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/StylingTest.java b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/StylingTest.java index 04d1e02dc20..cb664bceb36 100644 --- a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/StylingTest.java +++ b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/StylingTest.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.eclipse.ui.genericeditor.tests; +import static org.junit.Assert.assertNull; + import org.junit.Assert; import org.junit.Test; @@ -18,6 +20,8 @@ import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Control; +import org.eclipse.ui.genericeditor.tests.contributions.EnabledPropertyTester; + public class StylingTest extends AbstratGenericEditorTest { @Test @@ -29,4 +33,22 @@ public class StylingTest extends AbstratGenericEditorTest { Assert.assertTrue("Token is not of expected color", isRed); } + @Test + public void testEnabledWhenStyle() throws Exception { + EnabledPropertyTester.setEnabled(true); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + editor.selectAndReveal(4, 8); + StyledText widget = (StyledText) editor.getAdapter(Control.class); + StyleRange style= widget.getStyleRangeAtOffset(4);//get the style of first token + boolean isBlue= style.foreground.getRGB().equals(new RGB(0, 0, 255));//is it Blue? + Assert.assertTrue("Token is not of expected color", isBlue); + cleanFileAndEditor(); + + EnabledPropertyTester.setEnabled(false); + createAndOpenFile("enabledWhen.txt", "bar 'bar'"); + editor.selectAndReveal(4, 8); + widget = (StyledText) editor.getAdapter(Control.class); + assertNull(widget.getStyleRangeAtOffset(4)); + } + } diff --git a/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/contributions/EnabledPropertyTester.java b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/contributions/EnabledPropertyTester.java new file mode 100644 index 00000000000..65ba1ca1f52 --- /dev/null +++ b/org.eclipse.ui.genericeditor.tests/src/org/eclipse/ui/genericeditor/tests/contributions/EnabledPropertyTester.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2018 Red Hat Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * - Lucas Bullen (Red Hat Inc.) + *******************************************************************************/ +package org.eclipse.ui.genericeditor.tests.contributions; + +import org.eclipse.core.expressions.PropertyTester; + +public class EnabledPropertyTester extends PropertyTester { + + private static final String PROPERTY_NAME = "enabled"; + private static boolean isEnabled = true; + + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + if (property.equals(PROPERTY_NAME)) { + return isEnabled; + } + return false; + } + + public static void setEnabled(boolean isEnabled) { + EnabledPropertyTester.isEnabled = isEnabled; + } + +} |