Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 5427600

Browse files
committed
Fixed "Do not automatically update..." because check box has been
removed. Added test for Global Update Policy. Signed-off-by: Oleksii Korniienko <[email protected]>
1 parent 5f99e5f commit 5427600

File tree

2 files changed

+59
-7
lines changed

2 files changed

+59
-7
lines changed

plugins/org.eclipse.reddeer.eclipse/src/org/eclipse/reddeer/eclipse/m2e/core/ui/preferences/MavenPreferencePage.java

+35-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.eclipse.reddeer.core.reference.ReferencedComposite;
1616
import org.eclipse.reddeer.jface.preference.PreferencePage;
1717
import org.eclipse.reddeer.swt.impl.button.CheckBox;
18+
import org.eclipse.reddeer.swt.impl.combo.LabeledCombo;
1819
import org.hamcrest.Description;
1920
import org.hamcrest.TypeSafeMatcher;
2021

@@ -34,6 +35,7 @@ public class MavenPreferencePage extends PreferencePage {
3435
private static final String DOWNLOAD_REPO_INDEX_UPDATES_ON_STARTUP="Download repository index updates on startup";
3536
private static final String UPDATE_MAVEN_PROJECTS_ON_STARTUP="Update Maven projects on startup";
3637
private static final String HIDE_FOLDERS_OF_PHYSICALLY_NESTED_MODULES="Hide folders of physically nested modules (experimental)";
38+
private static final String GLOBAL_UPDATE_POLICY="Global Update Policy:";
3739

3840
/**
3941
* Constructs the preference page with "Maven".
@@ -67,7 +69,11 @@ public MavenPreferencePage setOffline(boolean check) {
6769
* @return true, if is do not auto update deps checked
6870
*/
6971
public boolean isDoNotAutoUpdateDepsChecked() {
70-
return new CheckBox(this, MavenPreferencePage.DO_NOT_AUTO_UPDATE_DEPS).isChecked();
72+
try {
73+
return new CheckBox(this, MavenPreferencePage.DO_NOT_AUTO_UPDATE_DEPS).isChecked();
74+
} catch (org.eclipse.reddeer.core.exception.CoreLayerException e) { // there is no CheckBox "Do Not Auto update..." starting 2023-09-M3 Eclipse
75+
return "Never".equals(getGlobalUpdatePolicy());
76+
}
7177
}
7278

7379
/**
@@ -76,7 +82,15 @@ public boolean isDoNotAutoUpdateDepsChecked() {
7682
* @param check the new do not auto update deps
7783
*/
7884
public MavenPreferencePage setDoNotAutoUpdateDeps(boolean check) {
79-
new CheckBox(this, MavenPreferencePage.DO_NOT_AUTO_UPDATE_DEPS).toggle(check);
85+
try {
86+
new CheckBox(this, MavenPreferencePage.DO_NOT_AUTO_UPDATE_DEPS).toggle(check);
87+
} catch (org.eclipse.reddeer.core.exception.CoreLayerException e) { // there is no CheckBox "Do Not Auto update..." starting 2023-09-M3 Eclipse
88+
if (check) {
89+
setGlobalUpdatePolicy("Never");
90+
} else {
91+
setGlobalUpdatePolicy("Default");
92+
}
93+
}
8094
return this;
8195
}
8296

@@ -212,4 +226,23 @@ public MavenPreferencePage setHideFoldersOfPhysicalyNestedModules(boolean check)
212226
new CheckBox(this, MavenPreferencePage.HIDE_FOLDERS_OF_PHYSICALLY_NESTED_MODULES).toggle(check);
213227
return this;
214228
}
229+
230+
/**
231+
* Returns String with selected Global Update Policy combo item .
232+
*
233+
* @return selected Global Update Policy combo item
234+
*/
235+
public String getGlobalUpdatePolicy() {
236+
return new LabeledCombo(MavenPreferencePage.GLOBAL_UPDATE_POLICY).getSelection();
237+
}
238+
239+
/**
240+
* Sets Global Update Policy .
241+
*
242+
* @param updatePolicyType type of Global Update Policy to select
243+
*/
244+
public MavenPreferencePage setGlobalUpdatePolicy(String updatePolicyType) {
245+
new LabeledCombo(MavenPreferencePage.GLOBAL_UPDATE_POLICY).setSelection(updatePolicyType);
246+
return this;
247+
}
215248
}

tests/org.eclipse.reddeer.eclipse.test/src/org/eclipse/reddeer/eclipse/test/m2e/core/ui/preferences/MavenPreferencePageTest.java

+24-5
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,33 @@ public class MavenPreferencePageTest {
2727
private WorkbenchPreferenceDialog preferencesDialog = new WorkbenchPreferenceDialog();
2828

2929
private MavenPreferencePage mavenPreferencePage = new MavenPreferencePage(preferencesDialog);
30+
31+
@Test
32+
public void checkGlobalUpdatePolicy() {
33+
preferencesDialog.open();
34+
preferencesDialog.select(mavenPreferencePage);
35+
36+
mavenPreferencePage.setGlobalUpdatePolicy("Always");
37+
assertTrue("Always".equals(mavenPreferencePage.getGlobalUpdatePolicy()));
38+
mavenPreferencePage.setGlobalUpdatePolicy("Daily");
39+
assertTrue("Daily".equals(mavenPreferencePage.getGlobalUpdatePolicy()));
40+
mavenPreferencePage.setGlobalUpdatePolicy("Hourly");
41+
assertTrue("Hourly".equals(mavenPreferencePage.getGlobalUpdatePolicy()));;
42+
mavenPreferencePage.setGlobalUpdatePolicy("Default");
43+
assertTrue("Default".equals(mavenPreferencePage.getGlobalUpdatePolicy()));
44+
mavenPreferencePage.setGlobalUpdatePolicy("Never");
45+
assertTrue("Never".equals(mavenPreferencePage.getGlobalUpdatePolicy()));
3046

47+
preferencesDialog.cancel();
48+
}
49+
3150
@Test
3251
public void checkAllPreferences() {
3352
preferencesDialog.open();
3453
preferencesDialog.select(mavenPreferencePage);
3554

3655
mavenPreferencePage.setDebugOutput(true);
37-
// mavenPreferencePage.setDoNotAutoUpdateDeps(true); # is not a part of 2023-09 Eclipse
56+
mavenPreferencePage.setDoNotAutoUpdateDeps(true);
3857
mavenPreferencePage.setDownloadArtifactJavadoc(true);
3958
mavenPreferencePage.setDownloadArtifactSources(true);
4059
mavenPreferencePage.setDownloadRepoIndexOnStartup(true);
@@ -43,14 +62,14 @@ public void checkAllPreferences() {
4362
mavenPreferencePage.setUpdateMavenProjectsOnStartup(true);
4463

4564
assertTrue(mavenPreferencePage.isDebugOutputChecked());
46-
// assertTrue(mavenPreferencePage.isDoNotAutoUpdateDepsChecked()); # is not a part of 2023-09 Eclipse
65+
assertTrue(mavenPreferencePage.isDoNotAutoUpdateDepsChecked());
4766
assertTrue(mavenPreferencePage.isDownloadArtifactJavadocChecked());
4867
assertTrue(mavenPreferencePage.isDownloadArtifactSourcesChecked());
4968
assertTrue(mavenPreferencePage.isDownloadRepoIndexOnStartupChecked());
5069
assertTrue(mavenPreferencePage.isHideFoldersOfPhysicalyNestedModulesChecked());
5170
assertTrue(mavenPreferencePage.isOfflineChecked());
5271
assertTrue(mavenPreferencePage.isUpdateMavenProjectsOnStartupChecked());
53-
72+
5473
preferencesDialog.cancel();
5574
}
5675

@@ -60,7 +79,7 @@ public void uncheckAllPreferences() {
6079
preferencesDialog.select(mavenPreferencePage);
6180

6281
mavenPreferencePage.setDebugOutput(false);
63-
// mavenPreferencePage.setDoNotAutoUpdateDeps(false); # is not a part of 2023-09 Eclipse
82+
mavenPreferencePage.setDoNotAutoUpdateDeps(false);
6483
mavenPreferencePage.setDownloadArtifactJavadoc(false);
6584
mavenPreferencePage.setDownloadArtifactSources(false);
6685
mavenPreferencePage.setDownloadRepoIndexOnStartup(false);
@@ -69,7 +88,7 @@ public void uncheckAllPreferences() {
6988
mavenPreferencePage.setUpdateMavenProjectsOnStartup(false);
7089

7190
assertFalse(mavenPreferencePage.isDebugOutputChecked());
72-
// assertFalse(mavenPreferencePage.isDoNotAutoUpdateDepsChecked()); # is not a part of 2023-09 Eclipse
91+
assertFalse(mavenPreferencePage.isDoNotAutoUpdateDepsChecked());
7392
assertFalse(mavenPreferencePage.isDownloadArtifactJavadocChecked());
7493
assertFalse(mavenPreferencePage.isDownloadArtifactSourcesChecked());
7594
assertFalse(mavenPreferencePage.isDownloadRepoIndexOnStartupChecked());

0 commit comments

Comments
 (0)