Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Goldthorpe2007-04-03 22:12:40 +0000
committerChris Goldthorpe2007-04-03 22:12:40 +0000
commit568809a043a0793c1a194d0023b5b46f6fd5e786 (patch)
tree2a086bc85ba33447a180d26a76e9199e79bdabdc /org.eclipse.ua.tests/intro/org
parent5c9c188a867a8124764affc73846539f453a77ba (diff)
downloadeclipse.platform.ua-568809a043a0793c1a194d0023b5b46f6fd5e786.tar.gz
eclipse.platform.ua-568809a043a0793c1a194d0023b5b46f6fd5e786.tar.xz
eclipse.platform.ua-568809a043a0793c1a194d0023b5b46f6fd5e786.zip
Bug 177635 - [Intro] Show intro and highlight new content if new intro content is available
Diffstat (limited to 'org.eclipse.ua.tests/intro/org')
-rw-r--r--org.eclipse.ua.tests/intro/org/eclipse/ua/tests/intro/contentdetect/ContentDetectorTest.java75
1 files changed, 64 insertions, 11 deletions
diff --git a/org.eclipse.ua.tests/intro/org/eclipse/ua/tests/intro/contentdetect/ContentDetectorTest.java b/org.eclipse.ua.tests/intro/org/eclipse/ua/tests/intro/contentdetect/ContentDetectorTest.java
index 6f1f987e0..c9c783fc7 100644
--- a/org.eclipse.ua.tests/intro/org/eclipse/ua/tests/intro/contentdetect/ContentDetectorTest.java
+++ b/org.eclipse.ua.tests/intro/org/eclipse/ua/tests/intro/contentdetect/ContentDetectorTest.java
@@ -11,13 +11,12 @@
package org.eclipse.ua.tests.intro.contentdetect;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashSet;
-import java.util.List;
+import java.util.Set;
import junit.framework.TestCase;
+import org.eclipse.ui.internal.intro.impl.model.ExtensionMap;
import org.eclipse.ui.internal.intro.universal.contentdetect.ContentDetectHelper;
import org.eclipse.ui.internal.intro.universal.contentdetect.ContentDetector;
@@ -46,7 +45,7 @@ public class ContentDetectorTest extends TestCase {
contributors.add("two");
contributors.add("three");
helper.saveContributors(contributors);
- List savedContributors = helper.getContributors();
+ Set savedContributors = helper.getContributors();
assertTrue(savedContributors.size() == 3);
assertTrue(savedContributors.contains("one"));
assertTrue(savedContributors.contains("two"));
@@ -60,15 +59,14 @@ public class ContentDetectorTest extends TestCase {
contributors.add("two");
contributors.add("three");
contributors.add("four");
- List previous = new ArrayList();
+ Set previous = new HashSet();
previous.add("five");
previous.add("two");
previous.add("one");
- String[] newContributors = helper.findNewContributors(contributors, previous);
- Arrays.sort(newContributors);
- assertTrue(newContributors.length == 2);
- assertTrue(newContributors[0] == "four");
- assertTrue(newContributors[1] == "three");
+ Set newContributors = helper.findNewContributors(contributors, previous);
+ assertTrue(newContributors.size() == 2);
+ assertTrue(newContributors.contains("four"));
+ assertTrue(newContributors.contains("three"));
}
public void testNoSavedState() {
@@ -78,6 +76,10 @@ public class ContentDetectorTest extends TestCase {
assertEquals(ContentDetectHelper.NO_STATE, helper.getExtensionCount());
ContentDetector detector = new ContentDetector();
assertFalse(detector.isNewContentAvailable());
+ Set newContent = ContentDetector.getNewContributors();
+ assertTrue(newContent == null || newContent.size() == 0);
+ String firstContribution = (String) helper.getContributors().iterator().next();
+ assertFalse(ContentDetector.isNew(firstContribution));
}
public void testStateChanges() {
@@ -88,11 +90,62 @@ public class ContentDetectorTest extends TestCase {
// Calling the detector should save the state
int extensionCount = helper.getExtensionCount();
assertTrue(extensionCount > 0);
- assertEquals(extensionCount, helper.getContributors().size());
+ // Simulate removing an extension
helper.saveExtensionCount(extensionCount + 1);
assertFalse(detector.isNewContentAvailable());
+ // Make the first extension appear new
helper.saveExtensionCount(extensionCount - 1);
+ assertEquals(extensionCount, helper.getContributors().size());
+ Set contributors = helper.getContributors();
+ String firstContribution = (String) contributors.iterator().next();
+ String copyOfFirstContribution = "" + firstContribution;
+ contributors.remove(firstContribution);
+ helper.saveContributors(contributors);
assertTrue(detector.isNewContentAvailable());
+ assertEquals(1, ContentDetector.getNewContributors().size());
+ assertTrue(ContentDetector.isNew(firstContribution));
+ assertTrue(ContentDetector.isNew(copyOfFirstContribution));
+ // Calling a new detector should yield the same result
+ ContentDetector detector2 = new ContentDetector();
+ assertTrue(detector2.isNewContentAvailable());
+ assertEquals(1, ContentDetector.getNewContributors().size());
+ assertTrue(ContentDetector.isNew(firstContribution));
+ assertTrue(ContentDetector.isNew(copyOfFirstContribution));
+ }
+
+ public void testExtensionMapSingleton() {
+ ExtensionMap map1 = ExtensionMap.getInstance();
+ ExtensionMap map2 = ExtensionMap.getInstance();
+ assertEquals(map1, map2);
+ }
+
+ public void testExtensionMapping() {
+ ExtensionMap map = ExtensionMap.getInstance();
+ map.clear();
+ map.putPluginId("anchor1", "org.eclipse.test");
+ map.putPluginId("anchor2", "org.eclipse.test");
+ map.putPluginId("anchor3", "org.eclipse.test3");
+ assertEquals("org.eclipse.test", map.getPluginId("anchor1"));
+ assertEquals("org.eclipse.test", map.getPluginId("anchor2"));
+ assertEquals("org.eclipse.test3", map.getPluginId("anchor3"));
+ map.clear();
+ assertNull(map.getPluginId("anchor1"));
+ }
+
+ public void testStartPage() {
+ ExtensionMap map = ExtensionMap.getInstance();
+ map.setStartPage("tutorials");
+ map.setStartPage("whats-new");
+ assertEquals("whats-new", map.getStartPage());
+ map.clear();
+ assertNull(map.getStartPage());
+ }
+
+ protected void finalize() throws Throwable {
+ // Delete state files so that if we start Eclipse we don't see all content as new
+ ContentDetectHelper helper = new ContentDetectHelper();
+ helper.deleteStateFiles();
+ super.finalize();
}
}

Back to the top