### Eclipse Workspace Patch 1.0 #P org.eclipse.pde.ui.tests Index: src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java,v retrieving revision 1.1 diff -u -r1.1 SimpleCSIntroTestCase.java --- src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java 11 Mar 2008 14:56:08 -0000 1.1 +++ src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSIntroTestCase.java 17 Mar 2008 13:55:47 -0000 @@ -17,7 +17,7 @@ protected static String INTRO_HREF = "/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm"; //$NON-NLS-1$ protected static String DESCRIPTION = "some description"; //$NON-NLS-1$ - public void testAddSimpleCSIntro() { + public void testReadSimpleCSIntro() { StringBuffer buffer = new StringBuffer(); buffer.append(""); buffer.append(LF); @@ -36,6 +36,7 @@ ISimpleCSIntro intro = model.getIntro(); assertNotNull(intro); assertEquals(intro.getHref(), INTRO_HREF); + assertNull(intro.getContextId()); // check description ISimpleCSDescription description = intro.getDescription(); @@ -43,4 +44,160 @@ assertEquals(DESCRIPTION, description.getContent()); } + public void testSetModelAttributes() { + setXMLContents(null, LF); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + model.setTitle("Some Title"); + assertEquals("Some Title", model.getTitle()); + + model.setTitle(null); + assertEquals("", model.getTitle()); + + ISimpleCSIntro intro = fModel.getFactory().createSimpleCSIntro(model); + model.setIntro(intro); + assertEquals(intro, model.getIntro()); + } + + public void testSetIntroDescription() { + setXMLContents(null, LF); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + + ISimpleCSIntro intro = fModel.getFactory().createSimpleCSIntro(model); + model.setIntro(intro); + + ISimpleCSDescription description = fModel.getFactory().createSimpleCSDescription(intro); + description.setContent("description content"); + intro.setDescription(description); + + assertEquals("description content", model.getIntro().getDescription().getContent()); + } + + public void testAddSimpleCSItem() { + setXMLContents(null, LF); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + + assertEquals(0, model.getItemCount()); + assertNotNull(model.getItems()); + assertFalse(model.hasItems()); + + ISimpleCSItem item = fModel.getFactory().createSimpleCSItem(model); + item.setTitle("some title"); //$NON-NLS-1$ + + assertEquals(-1, model.indexOfItem(item)); + assertFalse(model.isFirstItem(item)); + assertFalse(model.isLastItem(item)); + + model.addItem(item); + + assertEquals(1, model.getItemCount()); + assertNotNull(model.getItems()); + assertEquals(1, model.getItems().length); + assertTrue(model.hasItems()); + + item = model.getItems()[0]; + + assertEquals("some title", item.getTitle()); + assertTrue(model.isFirstItem(item)); + assertTrue(model.isLastItem(item)); + assertEquals(0, model.indexOfItem(item)); + } + + public void testAddSimpleCSItem2() { + setXMLContents(null, LF); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + + ISimpleCSItem itemA = fModel.getFactory().createSimpleCSItem(model); + itemA.setTitle("title A"); //$NON-NLS-1$ + ISimpleCSItem itemB = fModel.getFactory().createSimpleCSItem(model); + itemB.setTitle("title B"); //$NON-NLS-1$ + + model.addItem(0, itemA); + model.addItem(0, itemB); + + assertTrue(model.isFirstItem(itemB)); + assertTrue(model.isLastItem(itemA)); + } + + public void testRemoveSimpleCSItem() { + StringBuffer buffer = new StringBuffer(); + buffer.append(""); + buffer.append(""); + setXMLContents(buffer, LF); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + + assertEquals(1, model.getItemCount()); + model.removeItem(1); + + assertEquals(0, model.getItemCount()); + } + + public void testRemoveSimpleCSItem2() { + StringBuffer buffer = new StringBuffer(); + buffer.append(""); + buffer.append(""); + buffer.append(""); + setXMLContents(buffer, LF); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + + assertEquals(2, model.getItemCount()); + ISimpleCSItem item = model.getItems()[0]; + assertEquals("item1", item.getTitle()); + model.removeItem(item); + + assertEquals(1, model.getItemCount()); + item = model.getItems()[0]; + assertNotNull(item); + assertEquals("item2", item.getTitle()); + assertEquals(1, model.indexOfItem(model.getItems()[0])); + } + + public void testMoveSimpleCSItem() { + StringBuffer buffer = new StringBuffer(); + buffer.append(""); + buffer.append(""); + buffer.append(""); + setXMLContents(buffer, LF); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + + ISimpleCSItem item1 = model.getItems()[0]; + ISimpleCSItem item2 = model.getItems()[1]; + + assertEquals(1, model.indexOfItem(item1)); + assertEquals(2, model.indexOfItem(item2)); + assertEquals(item2, model.getNextSibling(item1)); + assertEquals(item1, model.getPreviousSibling(item2)); + + model.moveItem(item1, 0); + + assertEquals(1, model.indexOfItem(item1)); + assertEquals(2, model.indexOfItem(item2)); + assertEquals(item2, model.getNextSibling(item1)); + assertEquals(item1, model.getPreviousSibling(item2)); + + model.moveItem(item1, +1); + + assertEquals(2, model.indexOfItem(item1)); + assertEquals(1, model.indexOfItem(item2)); + assertEquals(item1, model.getNextSibling(item2)); + assertEquals(item2, model.getPreviousSibling(item1)); + + model.moveItem(item2, -1); + + assertEquals(2, model.indexOfItem(item1)); + assertEquals(1, model.indexOfItem(item2)); // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197666#c8 + } } Index: src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.pde.ui.tests/src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java,v retrieving revision 1.1 diff -u -r1.1 AllCheatSheetModelTests.java --- src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java 11 Mar 2008 14:56:08 -0000 1.1 +++ src/org/eclipse/pde/ui/tests/model/cheatsheet/AllCheatSheetModelTests.java 17 Mar 2008 13:55:47 -0000 @@ -18,6 +18,7 @@ public static Test suite() { TestSuite suite = new TestSuite("Test Suite for testing the cheatsheet model"); //$NON-NLS-1$ suite.addTestSuite(SimpleCSIntroTestCase.class); + suite.addTestSuite(SimpleCSItemTestCase.class); return suite; } Index: src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSItemTestCase.java =================================================================== RCS file: src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSItemTestCase.java diff -N src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSItemTestCase.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/pde/ui/tests/model/cheatsheet/SimpleCSItemTestCase.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,83 @@ +package org.eclipse.pde.ui.tests.model.cheatsheet; + +import org.eclipse.pde.internal.core.icheatsheet.simple.*; + + +public class SimpleCSItemTestCase extends AbstractCheatSheetModelTestCase { + + public void testSimpleCSItemTestCase() { + simpleCSItemTestCase(""); // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197666#c9 + } + + public void testSimpleCSItemTestCaseSpace() { + simpleCSItemTestCase(" "); // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=197666#c9 + } + + public void testSimpleCSItemTestCaseCR() { + simpleCSItemTestCase(CR); + } + + public void testSimpleCSItemTestCaseLF() { + simpleCSItemTestCase(LF); + } + + public void testSimpleCSItemTestCaseCRLF() { + simpleCSItemTestCase(CRLF); + } + + public void simpleCSItemTestCase(String newline) { + StringBuffer buffer = new StringBuffer(); + buffer.append("").append(newline); + buffer.append("").append(newline); + buffer.append("Description1").append(newline); + buffer.append("").append(newline); + buffer.append("").append(newline); + buffer.append("").append(newline); + buffer.append("").append(newline); + buffer.append("On.Completion.Contents").append(newline); + buffer.append("").append(newline); + buffer.append("").append(newline); + buffer.append("").append(newline); + + setXMLContents(buffer, newline); + load(); + + ISimpleCS model = fModel.getSimpleCS(); + + assertTrue(model.hasItems()); + assertEquals(1, model.getItemCount()); + + ISimpleCSItem item = model.getItems()[0]; + + assertTrue(item.getDialog()); + assertTrue(item.getSkip()); + assertEquals("Title", item.getTitle()); + + assertNotNull(item.getDescription()); + assertEquals("Description1", item.getDescription().getContent()); + + assertTrue(item.hasSubItems()); + ISimpleCSSubItemObject[] subitems = item.getSubItems(); + assertNotNull(subitems); + assertEquals(1, subitems.length); + + assertNotNull(item.getOnCompletion()); + assertEquals("On.Completion.Contents", item.getOnCompletion().getContent()); + + assertNotNull(item.getExecutable()); + assertTrue(item.getExecutable() instanceof ISimpleCSCommand); + ISimpleCSCommand command = (ISimpleCSCommand) item.getExecutable(); + + assertTrue(command.getRequired()); + assertEquals("org.eclipse.my.command", command.getSerialization()); + } +}