diff options
Diffstat (limited to 'tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/StyledTextContentSpec.java')
-rw-r--r-- | tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/StyledTextContentSpec.java | 1026 |
1 files changed, 0 insertions, 1026 deletions
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/StyledTextContentSpec.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/StyledTextContentSpec.java deleted file mode 100644 index 42421e2c36..0000000000 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/StyledTextContentSpec.java +++ /dev/null @@ -1,1026 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.tests.junit; - - -/** - * Use this test class to validate an implementation of the StyledTextContent - * interface. To perform the validation, copy this class to the package where - * your StyledTextContent implementation lives. Then specify the fully qualified - * name of your StyledTextContent class as an argument to the main method of this - * class. - * - * NOTE: This test class assumes that your StyledTextContent implementation - * handles the following delimiters: - * - * /r - * /n - * /r/n - */ -import org.eclipse.swt.custom.*; -import org.eclipse.swt.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.swt.layout.*; -import java.lang.reflect.*; -public class StyledTextContentSpec implements TextChangeListener { - static String contentClassName; - static int failCount = 0; - static int errorCount = 0; - Class contentClass = null; - StyledTextContent contentInstance = null; - int verify = 0; - Method currentMethod = null; - boolean failed = false; - StyledText widget = null; - Shell shell = null; - -public StyledTextContentSpec() { -} -public void assertTrue(String message, boolean condition) { - System.out.print("\t" + currentMethod.getName() + " " + message); - if (!condition) - fail(message); - else - System.out.println(" passed"); -} -public void fail(String message) { - failed = true; - System.out.println(" FAILED: " + message); - failCount++; -} -public StyledTextContent getContentInstance() { - contentInstance.setText(""); - widget.setContent(contentInstance); - return contentInstance; -} -public static String getTestText() { - return - "This is the first line.\r\n" + - "This is the second line.\r\n" + - "This is the third line.\r\n" + - "This is the fourth line.\r\n" + - "This is the fifth line.\r\n" + - "\r\n" + - "This is the first line again.\r\n" + - "This is the second line again.\r\n" + - "This is the third line again.\r\n" + - "This is the fourth line again.\r\n" + - "This is the fifth line again.\r\n" + - "\r\n" + - "This is the first line once again.\r\n" + - "This is the second line once again.\r\n" + - "This is the third line once again.\r\n" + - "This is the fourth line once again.\r\n" + - "This is the fifth line once again."; -} -public static void main(String[] args) { - StyledTextContentSpec spec = new StyledTextContentSpec(); - if (args.length > 0) { - contentClassName = args[0]; - } else { - MessageBox box = new MessageBox(Display.getDefault().getActiveShell(), SWT.ICON_ERROR); - box.setMessage("Content class must be specified as an execution argument."); //$NON-NLS-1$ - box.open(); - return; - } - spec.run(); - System.out.println(); - System.out.println(failCount + " TEST FAILURES."); - System.out.println(errorCount + " UNEXPECTED ERRORS."); -} -public void run() { - if (contentClassName.equals("")) { - MessageBox box = new MessageBox(Display.getDefault().getActiveShell(), SWT.ICON_ERROR); - box.setMessage("Content class must be specified as an execution argument."); //$NON-NLS-1$ - box.open(); - return; - } - if (contentClass == null) { - try { - contentClass = Class.forName(contentClassName); - } catch (ClassNotFoundException e) { - MessageBox box = new MessageBox(Display.getDefault().getActiveShell(), SWT.ICON_ERROR); - box.setMessage("Content class:\n" + contentClassName + "\nnot found"); //$NON-NLS-1$ - box.open(); - return; - } - } - try { - contentInstance = (StyledTextContent)contentClass.newInstance(); - } catch (IllegalAccessException e) { - MessageBox box = new MessageBox(Display.getDefault().getActiveShell(), SWT.ICON_ERROR); - box.setMessage("Unable to access content class:\n" + contentClassName); //$NON-NLS-1$ - box.open(); - return; - } catch (InstantiationException e) { - MessageBox box = new MessageBox(Display.getDefault().getActiveShell(), SWT.ICON_ERROR); - box.setMessage("Unable to instantiate content class:\n" + contentClassName); //$NON-NLS-1$ - box.open(); - return; - } - Class clazz; - clazz = this.getClass(); - Method[] methods = clazz.getDeclaredMethods(); - for (int i=0; i<methods.length; i++) { - setUp(); - currentMethod = methods[i]; - failed = false; - try { - if (currentMethod.getName().startsWith("test_")) { - System.out.println(); - System.out.println(currentMethod.getName() + "..."); - currentMethod.invoke(this, new Object[0]); - if (!failed) { - System.out.println("PASSED."); - } else { - System.out.println("FAILED"); - } - } - } catch (InvocationTargetException ex) { - System.out.println("\t" + currentMethod.getName() + " ERROR ==> " + ex.getTargetException().toString()); - System.out.println("FAILED"); - errorCount++; - } catch (Exception ex) { - System.out.println("\t" + currentMethod.getName() + " ERROR ==> " + ex.toString()); - System.out.println("FAILED"); - errorCount++; - } - if (verify != 0) { - verify = 0; - contentInstance.removeTextChangeListener(this); - } - tearDown(); - } -} -public void textSet(TextChangedEvent event) { -} -public void textChanged(TextChangedEvent event) { -} -public void textChanging(TextChangingEvent event) { - switch (verify) { - case 1 : { - assertTrue(":1a:", event.replaceLineCount == 0); - assertTrue(":1b:", event.newLineCount == 1); - break; - } - case 2 : { - assertTrue(":2a:", event.replaceLineCount == 2); - assertTrue(":2b:", event.newLineCount == 0); - break; - } - case 3 : { - assertTrue(":3a:", event.replaceLineCount == 0); - assertTrue(":3b:", event.newLineCount == 2); - break; - } - case 4: { - assertTrue(":4:", false); - break; - } - case 5 : { - assertTrue(":5a:", event.replaceLineCount == 0); - assertTrue(":5b:", event.newLineCount == 1); - break; - } - case 6 : { - assertTrue(":6a:", event.replaceLineCount == 1); - assertTrue(":6b:", event.newLineCount == 0); - break; - } - case 8 : { - assertTrue(":8a:", event.replaceLineCount == 1); - assertTrue(":8b:", event.newLineCount == 0); - break; - } - case 9 : { - assertTrue(":9a:", event.replaceLineCount == 1); - assertTrue(":9b:", event.newLineCount == 0); - break; - } - case 10:{ - assertTrue(":10:", false); - break; - } - case 11: { - assertTrue(":11:", false); - break; - } - case 12: { - assertTrue(":12a:", event.replaceLineCount == 0); - assertTrue(":12b:", event.newLineCount == 1); - break; - } - case 13: { - assertTrue(":13a:", event.replaceLineCount == 0); - assertTrue(":13b:", event.newLineCount == 1); - break; - } - case 14: { - assertTrue(":14:", false); - break; - } - case 15: { - assertTrue(":15a:", event.replaceLineCount == 1); - assertTrue(":15b:", event.newLineCount == 2); - break; - } - case 16:{ - assertTrue(":16:", false); - break; - } - case 17: { - assertTrue(":17:", false); - break; - } - case 18: { - assertTrue(":18a:", event.replaceLineCount == 0); - assertTrue(":18b:", event.newLineCount == 2); - break; - } - case 19: { - assertTrue(":19a:", event.replaceLineCount == 0); - assertTrue(":19b:", event.newLineCount == 3); - break; - } - case 20: { - assertTrue(":20:", false); - break; - } - } -} -public void test_Insert() { - StyledTextContent content = getContentInstance(); - String newText; - - content.setText("This\nis a test\r"); - content.replaceTextRange(0, 0, "test\n "); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":1a:", newText.equals("test\n This\nis a test\r")); - assertTrue(":1b:", content.getLineCount() == 4); - assertTrue(":1c:", content.getLine(0).equals("test")); - assertTrue(":1d:", content.getLine(1).equals(" This")); - assertTrue(":1e:", content.getLine(2).equals("is a test")); - assertTrue(":1f:", content.getLine(3).equals("")); - - content.setText("This\nis a test\r"); - content.replaceTextRange(5, 0, "*** "); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":2a:", newText.equals("This\n*** is a test\r")); - assertTrue(":2b:", content.getLineCount() == 3); - assertTrue(":2c:", content.getLine(0).equals("This")); - assertTrue(":2d:", content.getLine(1).equals("*** is a test")); - assertTrue(":2e:", content.getLine(2).equals("")); - - content.setText("Line 1\r\nLine 2"); - content.replaceTextRange(0, 0, "\r"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":3a:", newText.equals("\rLine 1\r\nLine 2")); - assertTrue(":3b:", content.getLineCount() == 3); - assertTrue(":3c:", content.getLine(0).equals("")); - assertTrue(":3d:", content.getLine(1).equals("Line 1")); - assertTrue(":3e:", content.getLine(2).equals("Line 2")); - content.replaceTextRange(9, 0, "\r"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":3f:", newText.equals("\rLine 1\r\n\rLine 2")); - assertTrue(":3g:", content.getLineCount() == 4); - assertTrue(":3h:", content.getLine(0).equals("")); - assertTrue(":3i:", content.getLine(1).equals("Line 1")); - assertTrue(":3j:", content.getLine(2).equals("")); - assertTrue(":3k:", content.getLine(3).equals("Line 2")); - - content.setText("This\nis a test\r"); - content.replaceTextRange(0, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4a:", newText.equals("\nThis\nis a test\r")); - assertTrue(":4b:", content.getLineCount() == 4); - assertTrue(":4c:", content.getLine(0).equals("")); - assertTrue(":4d:", content.getLine(1).equals("This")); - assertTrue(":4e:", content.getLine(2).equals("is a test")); - assertTrue(":4f:", content.getLine(3).equals("")); - - content.setText("This\nis a test\r"); - content.replaceTextRange(7, 0, "\r\nnewLine"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":5a:", newText.equals("This\nis\r\nnewLine a test\r")); - assertTrue(":5b:", content.getLineCount() == 4); - assertTrue(":5c:", content.getLine(0).equals("This")); - assertTrue(":5d:", content.getLine(1).equals("is")); - assertTrue(":5e:", content.getLine(2).equals("newLine a test")); - assertTrue(":5f:", content.getLine(3).equals("")); - - content.setText(""); - content.replaceTextRange(0, 0, "This\nis\r\nnewLine a test\r"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":6a:", newText.equals("This\nis\r\nnewLine a test\r")); - assertTrue(":6b:", content.getLineCount() == 4); - assertTrue(":6c:", content.getLine(0).equals("This")); - assertTrue(":6d:", content.getLine(1).equals("is")); - assertTrue(":6e:", content.getLine(2).equals("newLine a test")); - assertTrue(":6f:", content.getLine(3).equals("")); - - // insert at end - content.setText("This"); - content.replaceTextRange(4, 0, "\n "); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":7a:", newText.equals("This\n ")); - assertTrue(":7b:", content.getLineCount() == 2); - assertTrue(":7c:", content.getLine(0).equals("This")); - assertTrue(":7d:", content.getLine(1).equals(" ")); - content.setText("This\n"); - content.replaceTextRange(5, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":7e:", newText.equals("This\n\n")); - assertTrue(":7f:", content.getLineCount() == 3); - assertTrue(":7g:", content.getLine(0).equals("This")); - assertTrue(":7h:", content.getLine(1).equals("")); - assertTrue(":7i:", content.getLine(2).equals("")); - - // insert at beginning - content.setText("This"); - content.replaceTextRange(0, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":8a:", newText.equals("\nThis")); - assertTrue(":8b:", content.getLineCount() == 2); - assertTrue(":8c:", content.getLine(0).equals("")); - assertTrue(":8d:", content.getLine(1).equals("This")); - - // insert text - content.setText("This\nis a test\r"); - content.replaceTextRange(5, 0, "*** "); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":9a:", newText.equals("This\n*** is a test\r")); - assertTrue(":9b:", content.getLineCount() == 3); - assertTrue(":9c:", content.getLine(0).equals("This")); - assertTrue(":9d:", content.getLine(1).equals("*** is a test")); - assertTrue(":9e:", content.getLine(2).equals("")); - - content.setText("This\n"); - content.replaceTextRange(5, 0, "line"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":10a:", newText.equals("This\nline")); - assertTrue(":10b:", content.getLineCount() == 2); - assertTrue(":10c:", content.getLine(0).equals("This")); - assertTrue(":10d:", content.getLine(1).equals("line")); - assertTrue(":10e:", content.getLineAtOffset(8) == 1); - assertTrue(":10f:", content.getLineAtOffset(9) == 1); - - // insert at beginning - content.setText("This\n"); - content.replaceTextRange(0, 0, "line\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":11a:", newText.equals("line\nThis\n")); - assertTrue(":11b:", content.getLineCount() == 3); - assertTrue(":11c:", content.getLine(0).equals("line")); - assertTrue(":11d:", content.getLine(1).equals("This")); - assertTrue(":11e:", content.getLineAtOffset(5) == 1); - - content.setText("Line 1\r\nLine 2\r\nLine 3"); - content.replaceTextRange(0, 0, "\r"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":12a:", newText.equals("\rLine 1\r\nLine 2\r\nLine 3")); - assertTrue(":12b:", content.getLineCount() == 4); - assertTrue(":12c:", content.getLine(0).equals("")); - assertTrue(":12d:", content.getLine(1).equals("Line 1")); - assertTrue(":12e:", content.getLine(2).equals("Line 2")); - assertTrue(":12f:", content.getLine(3).equals("Line 3")); - - content.setText("Line 1\nLine 2\nLine 3"); - content.replaceTextRange(7, 0, "Line1a\nLine1b\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":13a:", newText.equals("Line 1\nLine1a\nLine1b\nLine 2\nLine 3")); - assertTrue(":13b:", content.getLineCount() == 5); - assertTrue(":13c:", content.getLine(0).equals("Line 1")); - assertTrue(":13d:", content.getLine(1).equals("Line1a")); - assertTrue(":13e:", content.getLine(2).equals("Line1b")); - assertTrue(":13f:", content.getLine(3).equals("Line 2")); - assertTrue(":13g:", content.getLine(4).equals("Line 3")); - - content.setText("Line 1\nLine 2\nLine 3"); - content.replaceTextRange(11, 0, "l1a"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":14a:", newText.equals("Line 1\nLinel1a 2\nLine 3")); - assertTrue(":14b:", content.getLineCount() == 3); - assertTrue(":14c:", content.getLine(0).equals("Line 1")); - assertTrue(":14d:", content.getLine(1).equals("Linel1a 2")); - assertTrue(":14e:", content.getLine(2).equals("Line 3")); - - content.setText("Line 1\nLine 2 is a very long line that spans many words\nLine 3"); - content.replaceTextRange(19, 0, "very, very, "); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":15a:", newText.equals("Line 1\nLine 2 is a very, very, very long line that spans many words\nLine 3")); - assertTrue(":15b:", content.getLineCount() == 3); - assertTrue(":15c:", content.getLine(0).equals("Line 1")); - assertTrue(":15d:", content.getLine(1).equals("Line 2 is a very, very, very long line that spans many words")); - assertTrue(":15e:", content.getLine(2).equals("Line 3")); -} - -public void test_Empty() { - StyledTextContent content = getContentInstance(); - assertTrue(":1a:", content.getLineCount() == 1); - assertTrue(":1b:", content.getLine(0).equals("")); - - content.setText("test"); - content.replaceTextRange(0,4,""); - assertTrue(":2a:", content.getLineCount() == 1); - assertTrue(":2b:", content.getLine(0).equals("")); -} -public void test_Line_Conversion() { - StyledTextContent content = getContentInstance(); - - content.setText("This\nis a test\rrepeat\nend\r"); - assertTrue(":1a:", content.getLineCount() == 5); - assertTrue(":1b:", content.getLine(0).equals("This")); - assertTrue(":1c:", content.getOffsetAtLine(0) == 0); - assertTrue(":1d:", content.getLine(1).equals("is a test")); - assertTrue(":1e:", content.getLineAtOffset(4) == 0); - assertTrue(":1f:", content.getOffsetAtLine(1) == 5); - assertTrue(":1g:", content.getLine(2).equals("repeat")); - assertTrue(":1h:", content.getOffsetAtLine(2) == 15); - assertTrue(":1i:", content.getLine(3).equals("end")); - assertTrue(":1j:", content.getOffsetAtLine(3) == 22); - assertTrue(":1k:", content.getLine(4).equals("")); - assertTrue(":1l:", content.getOffsetAtLine(4) == 26); - - content.setText("This\r\nis a test"); - assertTrue(":2a:", content.getLineCount() == 2); - assertTrue(":2b:", content.getLine(1).equals("is a test")); - assertTrue(":2c:", content.getLineAtOffset(4) == 0); - assertTrue(":2d:", content.getLineAtOffset(5) == 0); - - content.setText("This\r\nis a test\r"); - assertTrue(":3a:", content.getLineCount() == 3); - assertTrue(":3b:", content.getLine(1).equals("is a test")); - assertTrue(":3c:", content.getLineAtOffset(15) == 1); - - content.setText("\r\n"); - assertTrue(":4a:", content.getLineCount() == 2); - assertTrue(":4b:", content.getLine(0).equals("")); - assertTrue(":4c:", content.getLine(1).equals("")); - assertTrue(":4d:", content.getLineAtOffset(0) == 0); - assertTrue(":4e:", content.getLineAtOffset(1) == 0); - assertTrue(":4f:", content.getLineAtOffset(2) == 1); - - content.setText("\r\n\n\r\r\n"); - assertTrue(":5a:", content.getLineCount() == 5); - assertTrue(":5b:", content.getLine(0).equals("")); - assertTrue(":5c:", content.getOffsetAtLine(0) == 0); - assertTrue(":5d:", content.getLine(1).equals("")); - assertTrue(":5e:", content.getOffsetAtLine(1) == 2); - assertTrue(":5f:", content.getLine(2).equals("")); - assertTrue(":5g:", content.getOffsetAtLine(2) == 3); - assertTrue(":5h:", content.getLine(3).equals("")); - assertTrue(":5i:", content.getOffsetAtLine(3) == 4); - assertTrue(":5j:", content.getLine(4).equals("")); - assertTrue(":5k:", content.getOffsetAtLine(4) == 6); - - content.setText("test\r\rtest2\r\r"); - assertTrue(":6a:", content.getLineCount() == 5); - assertTrue(":6b:", content.getLine(0).equals("test")); - assertTrue(":6c:", content.getOffsetAtLine(0) == 0); - assertTrue(":6d:", content.getLine(1).equals("")); - assertTrue(":6e:", content.getOffsetAtLine(1) == 5); - assertTrue(":6f:", content.getLine(2).equals("test2")); - assertTrue(":6g:", content.getOffsetAtLine(2) == 6); - assertTrue(":6h:", content.getLine(3).equals("")); - assertTrue(":6i:", content.getOffsetAtLine(3) == 12); - assertTrue(":6j:", content.getLine(4).equals("")); - assertTrue(":6k:", content.getOffsetAtLine(4) == 13); -} -public void test_Offset_To_Line() { - StyledTextContent content = getContentInstance(); - - content.setText("This\nis a test\rrepeat\nend\r"); - assertTrue(":1a:", content.getLineAtOffset(0) == 0); - assertTrue(":1b:", content.getLineAtOffset(3) == 0); - assertTrue(":1c:", content.getLineAtOffset(4) == 0); - assertTrue(":1d:", content.getLineAtOffset(25) == 3); - assertTrue(":1e:", content.getLineAtOffset(26) == 4); - - content.setText("This\r\nis a test"); - assertTrue(":2a:", content.getLineAtOffset(5) == 0); - assertTrue(":2b:", content.getLineAtOffset(6) == 1); - assertTrue(":2c:", content.getLineAtOffset(10) == 1); - - content.setText("\r\n"); - assertTrue(":3a:", content.getLineAtOffset(0) == 0); - assertTrue(":3b:", content.getLineAtOffset(1) == 0); - assertTrue(":3c:", content.getLineAtOffset(2) == 1); - - content.setText("\r\n\n\r\r\n"); - assertTrue(":4a:", content.getLineAtOffset(0) == 0); - assertTrue(":4b:", content.getLineAtOffset(1) == 0); - assertTrue(":4c:", content.getLineAtOffset(2) == 1); - assertTrue(":4d:", content.getLineAtOffset(3) == 2); - assertTrue(":4e:", content.getLineAtOffset(4) == 3); - assertTrue(":4f:", content.getLineAtOffset(5) == 3); - assertTrue(":4g:", content.getLineAtOffset(6) == 4); - - content.setText("\r\n\r\n"); - assertTrue(":5a:", content.getLineAtOffset(0) == 0); - assertTrue(":5b:", content.getLineAtOffset(1) == 0); - assertTrue(":5c:", content.getLineAtOffset(2) == 1); - assertTrue(":5d:", content.getLineAtOffset(3) == 1); - assertTrue(":5e:", content.getLineAtOffset(4) == 2); - - content.setText("\r\r\r\n\r\n"); - assertTrue(":6a:", content.getLineAtOffset(0) == 0); - assertTrue(":6b:", content.getLineAtOffset(1) == 1); - assertTrue(":6c:", content.getLineAtOffset(2) == 2); - assertTrue(":6d:", content.getLineAtOffset(4) == 3); - - content.setText(""); - assertTrue(":7a:", content.getLineAtOffset(0) == 0); - - content = getContentInstance(); - assertTrue(":8a:", content.getLineAtOffset(0) == 0); -} - -public void test_Line_To_Offset() { - StyledTextContent content = getContentInstance(); - - content.setText("This\nis a test\rrepeat\nend\r"); - assertTrue(":1a:", content.getOffsetAtLine(0) == 0); - assertTrue(":1b:", content.getOffsetAtLine(1) == 5); - assertTrue(":1c:", content.getOffsetAtLine(2) == 15); - assertTrue(":1d:", content.getOffsetAtLine(3) == 22); - assertTrue(":1e:", content.getOffsetAtLine(4) == 26); - - content.setText("This\r\nis a test"); - assertTrue(":2a:", content.getOffsetAtLine(0) == 0); - assertTrue(":2b:", content.getOffsetAtLine(1) == 6); - - content.setText("\r\n"); - assertTrue(":3a:", content.getOffsetAtLine(0) == 0); - assertTrue(":3b:", content.getOffsetAtLine(1) == 2); - - content.setText("\r\n\n\r\r\n"); - assertTrue(":4a:", content.getOffsetAtLine(0) == 0); - assertTrue(":4b:", content.getOffsetAtLine(1) == 2); - assertTrue(":4c:", content.getOffsetAtLine(2) == 3); - assertTrue(":4d:", content.getOffsetAtLine(3) == 4); - assertTrue(":4e:", content.getOffsetAtLine(4) == 6); - - content.setText("\r\ntest\r\n"); - assertTrue(":5a:", content.getOffsetAtLine(0) == 0); - assertTrue(":5b:", content.getOffsetAtLine(1) == 2); - assertTrue(":5c:", content.getOffsetAtLine(2) == 8); -} - -public void test_Delete() { - StyledTextContent content = getContentInstance(); - String newText; - - content.setText("This\nis a test\r"); - content.replaceTextRange(6, 2, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":1a:", newText.equals("This\nia test\r")); - assertTrue(":1b:", content.getLine(0).equals("This")); - assertTrue(":1c:", content.getLine(1).equals("ia test")); - - content.setText("This\nis a test\r"); - content.replaceTextRange(5, 9, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":2a:", newText.equals("This\n\r")); - assertTrue(":2b:",content.getLineCount() == 3); - assertTrue(":2c:", content.getLine(0).equals("This")); - assertTrue(":2d:", content.getLine(1).equals("")); - assertTrue(":2e:", content.getLine(2).equals("")); - - content.setText("This\nis a test\nline 3\nline 4"); - content.replaceTextRange(21, 7, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":3a:", newText.equals("This\nis a test\nline 3")); - assertTrue(":3b:", content.getLineCount() == 3); - assertTrue(":3c:", content.getLine(0).equals("This")); - assertTrue(":3d:", content.getLine(1).equals("is a test")); - assertTrue(":3e:", content.getLine(2).equals("line 3")); - - content.setText("This\nis a test\nline 3\nline 4"); - content.replaceTextRange(0, 5, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4a:", newText.equals("is a test\nline 3\nline 4")); - assertTrue(":4b:", content.getLineCount() == 3); - assertTrue(":4c:", content.getLine(0).equals("is a test")); - assertTrue(":4d:", content.getLine(1).equals("line 3")); - assertTrue(":4e:", content.getLine(2).equals("line 4")); - content.replaceTextRange(16, 7, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4f:", newText.equals("is a test\nline 3")); - assertTrue(":4g:", content.getLine(0).equals("is a test")); - assertTrue(":4h:", content.getLine(1).equals("line 3")); - content.replaceTextRange(9, 7, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4i:", newText.equals("is a test")); - assertTrue(":4j:", content.getLine(0).equals("is a test")); - content.replaceTextRange(1, 8, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4k:", newText.equals("i")); - assertTrue(":4l:", content.getLine(0).equals("i")); - content.replaceTextRange(0, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4m:", newText.equals("")); - assertTrue(":4n:", content.getLine(0).equals("")); - - content.setText("This\nis a test\r"); - content.replaceTextRange(5, 9, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":5a:", newText.equals("This\n\r")); - assertTrue(":5b:",content.getLineCount() == 3); - assertTrue(":5c:", content.getLine(0).equals("This")); - assertTrue(":5d:", content.getLine(1).equals("")); - assertTrue(":5e:", content.getLine(2).equals("")); - - content.setText("L1\r\nL2\r\nL3\r\nL4\r\n"); - content.replaceTextRange(4, 8, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":6a:", newText.equals("L1\r\nL4\r\n")); - assertTrue(":6b:",content.getLineCount() == 3); - assertTrue(":6c:", content.getLine(0).equals("L1")); - assertTrue(":6d:", content.getLine(1).equals("L4")); - assertTrue(":6e:", content.getLine(2).equals("")); - - content.setText("\nL1\r\nL2"); - content.replaceTextRange(0, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":7a:", newText.equals("L1\r\nL2")); - assertTrue(":7b:",content.getLineCount() == 2); - assertTrue(":7c:", content.getLine(0).equals("L1")); - assertTrue(":7d:", content.getLine(1).equals("L2")); - - content.setText("\nL1\r\nL2\r\n"); - content.replaceTextRange(7, 2, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":8a:", newText.equals("\nL1\r\nL2")); - assertTrue(":8b:",content.getLineCount() == 3); - assertTrue(":8c:", content.getLine(0).equals("")); - assertTrue(":8d:", content.getLine(1).equals("L1")); - assertTrue(":8e:", content.getLine(2).equals("L2")); - - content.setText("\nLine 1\nLine 2\n"); - content.replaceTextRange(0, 7, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":9a:", newText.equals("\nLine 2\n")); - assertTrue(":9b:", content.getLineCount() == 3); - assertTrue(":9c:", content.getLine(0).equals("")); - assertTrue(":9d:", content.getLine(1).equals("Line 2")); - assertTrue(":9e:", content.getLine(2).equals("")); - - content.setText("Line 1\nLine 2\n"); - content.replaceTextRange(6, 8, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":10a:", newText.equals("Line 1")); - assertTrue(":10b:", content.getLineCount() == 1); - assertTrue(":10c:", content.getLine(0).equals("Line 1")); - - content.setText("Line one is short\r\nLine 2 is a longer line\r\nLine 3\n"); - content.replaceTextRange(12, 17, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":11a:", newText.equals("Line one is a longer line\r\nLine 3\n")); - assertTrue(":11b:", content.getLineCount() == 3); - assertTrue(":11c:", content.getLine(0).equals("Line one is a longer line")); - assertTrue(":11d:", content.getLine(1).equals("Line 3")); - assertTrue(":11e:", content.getLine(2).equals("")); - -} -public void test_Replace() { - StyledTextContent content = getContentInstance(); - String newText; - - content.setText("This\nis a test\r"); - content.replaceTextRange(5, 4, "a"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":1a:", newText.equals("This\na test\r")); - assertTrue(":1b:",content.getLineCount() == 3); - assertTrue(":1c:", content.getLine(0).equals("This")); - assertTrue(":1d:", content.getLine(1).equals("a test")); - assertTrue(":1e:", content.getLine(2).equals("")); - - content.setText("This\nis a test\r"); - content.replaceTextRange(5, 2, "was"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":2a:", newText.equals("This\nwas a test\r")); - assertTrue(":2b:",content.getLineCount() == 3); - assertTrue(":2c:", content.getLine(0).equals("This")); - assertTrue(":2d:", content.getLine(1).equals("was a test")); - assertTrue(":2e:", content.getLine(2).equals("")); - - content.setText("This is a test\r"); - content.replaceTextRange(5, 2, "was"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":3a:", newText.equals("This was a test\r")); - assertTrue(":3b:",content.getLineCount() == 2); - assertTrue(":3c:", content.getLine(0).equals("This was a test")); - assertTrue(":3d:", content.getLineAtOffset(15) == 0); - - content.setText("Line 1\nLine 2\nLine 3"); - content.replaceTextRange(0, 7, "La\nLb\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4a:", newText.equals("La\nLb\nLine 2\nLine 3")); - assertTrue(":4b:", content.getLine(0).equals("La")); - assertTrue(":4c:", content.getLine(1).equals("Lb")); - assertTrue(":4d:", content.getLine(2).equals("Line 2")); - assertTrue(":4e:", content.getLine(3).equals("Line 3")); - - content.setText(getTestText()); - newText = content.getTextRange(0, content.getCharCount()); - int start = content.getOffsetAtLine(6); - int end = content.getOffsetAtLine(11); - content.replaceTextRange(start, end - start, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":5a:", content.getLineCount() == 12); - assertTrue(":5a:", content.getLine(5).equals("")); - assertTrue(":5a:", content.getLine(6).equals("")); - start = content.getOffsetAtLine(7); - content.replaceTextRange(start, content.getCharCount() - start, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":5a:", content.getLineCount() == 8); - assertTrue(":5a:", content.getLine(5).equals("")); - assertTrue(":5a:", content.getLine(6).equals("")); - assertTrue(":5a:", content.getLine(7).equals("")); - -} -public void test_Special_Cases() { - String newText; - StyledTextContent content = getContentInstance(); - assertTrue(":0a:", content.getLineCount() == 1); - assertTrue(":0b:", content.getOffsetAtLine(0) == 0); - - content.setText("This is the input/output text component."); - content.replaceTextRange(0, 0, "\n"); - assertTrue(":1a:", content.getLine(0).equals("")); - content.replaceTextRange(1, 0, "\n"); - assertTrue(":1b:",content.getLine(0).equals("")); - content.replaceTextRange(2, 0, "\n"); - assertTrue(":1c:",content.getLine(0).equals("")); - content.replaceTextRange(3, 0, "\n"); - assertTrue(":1d:",content.getLine(0).equals("")); - content.replaceTextRange(4, 0, "\n"); - assertTrue(":1e:",content.getLine(0).equals("")); - content.replaceTextRange(5, 0, "\n"); - assertTrue(":1f:",content.getLine(0).equals("")); - content.replaceTextRange(6, 0, "\n"); - assertTrue(":1g:",content.getLine(0).equals("")); - content.replaceTextRange(7, 0, "\n"); - assertTrue(":1h:",content.getLine(0).equals("")); - - content.setText("This is the input/output text component."); - content.replaceTextRange(0, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":2a:", newText.equals("\nThis is the input/output text component.")); - assertTrue(":2b:", content.getLine(0).equals("")); - assertTrue(":2c:", content.getLine(1).equals("This is the input/output text component.")); - content.replaceTextRange(1, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":2d:", newText.equals("\n\nThis is the input/output text component.")); - assertTrue(":2e:", content.getLine(0).equals("")); - assertTrue(":2f:", content.getLine(1).equals("")); - assertTrue(":2g:", content.getLine(2).equals("This is the input/output text component.")); - - content.replaceTextRange(2, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":3a:", newText.equals("\n\n\nThis is the input/output text component.")); - assertTrue(":3b:", content.getLine(0).equals("")); - assertTrue(":3c:", content.getLine(1).equals("")); - assertTrue(":3d:", content.getLine(2).equals("")); - assertTrue(":3e:", content.getLine(3).equals("This is the input/output text component.")); - content.replaceTextRange(3, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":3f:", newText.equals("\n\n\n\nThis is the input/output text component.")); - assertTrue(":3g:", content.getLine(0).equals("")); - assertTrue(":3h:", content.getLine(1).equals("")); - assertTrue(":3i:", content.getLine(2).equals("")); - assertTrue(":3j:", content.getLine(3).equals("")); - assertTrue(":3k:", content.getLine(4).equals("This is the input/output text component.")); - - content.replaceTextRange(3, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4a:", newText.equals("\n\n\nThis is the input/output text component.")); - assertTrue(":4b:", content.getLine(0).equals("")); - assertTrue(":4c:", content.getLine(1).equals("")); - assertTrue(":4d:", content.getLine(2).equals("")); - assertTrue(":4e:", content.getLine(3).equals("This is the input/output text component.")); - content.replaceTextRange(2, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":4f:", newText.equals("\n\nThis is the input/output text component.")); - assertTrue(":4g:", content.getLine(0).equals("")); - assertTrue(":4h:", content.getLine(1).equals("")); - assertTrue(":4i:", content.getLine(2).equals("This is the input/output text component.")); - - content.replaceTextRange(2, 0, "a"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":5a:", newText.equals("\n\naThis is the input/output text component.")); - assertTrue(":5b:", content.getLine(0).equals("")); - assertTrue(":5c:", content.getLine(1).equals("")); - assertTrue(":5d:", content.getLine(2).equals("aThis is the input/output text component.")); - - content.setText("abc\r\ndef"); - content.replaceTextRange(1, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":6a:", newText.equals("ac\r\ndef")); - assertTrue(":6b:", content.getLineCount() == 2); - assertTrue(":6c:", content.getLine(0).equals("ac")); - assertTrue(":6d:", content.getLine(1).equals("def")); - content.replaceTextRange(1, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":6e:", newText.equals("a\r\ndef")); - assertTrue(":6f:", content.getLineCount() == 2); - assertTrue(":6g:", content.getLine(0).equals("a")); - assertTrue(":6h:", content.getLine(1).equals("def")); - content.replaceTextRange(1, 2, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":6i:", newText.equals("adef")); - assertTrue(":6j:", content.getLineCount() == 1); - assertTrue(":6k:", content.getLine(0).equals("adef")); - content.replaceTextRange(1, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":6l:", newText.equals("aef")); - assertTrue(":6m:", content.getLineCount() == 1); - assertTrue(":6n:", content.getLine(0).equals("aef")); - content.replaceTextRange(1, 1, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":6o:", newText.equals("af")); - assertTrue(":6p:", content.getLineCount() == 1); - assertTrue(":6q:", content.getLine(0).equals("af")); - - content.setText("abc"); - content.replaceTextRange(0, 1, "1"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":7a:", content.getLineCount() == 1); - assertTrue(":7b:", newText.equals("1bc")); - assertTrue(":7c:", content.getLine(0).equals("1bc")); - content.replaceTextRange(0, 0, "\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":7d:", newText.equals("\n1bc")); - assertTrue(":7e:", content.getLineCount() == 2); - assertTrue(":7f:", content.getLine(0).equals("")); - assertTrue(":7g:", content.getLine(1).equals("1bc")); - - content = getContentInstance(); - content.replaceTextRange(0,0,"a"); - - content.setText("package test;\n/* Line 1\n * Line 2\n */\npublic class SimpleClass {\n}"); - content.replaceTextRange(14, 23, "\t/*Line 1\n\t * Line 2\n\t */"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":8a:", newText.equals("package test;\n\t/*Line 1\n\t * Line 2\n\t */\npublic class SimpleClass {\n}")); - assertTrue(":8b:", content.getLineCount() == 6); - assertTrue(":8c:", content.getLine(0).equals("package test;")); - assertTrue(":8d:", content.getLine(1).equals("\t/*Line 1")); - assertTrue(":8e:", content.getLine(2).equals("\t * Line 2")); - assertTrue(":8f:", content.getLine(3).equals("\t */")); - assertTrue(":8g:", content.getLine(4).equals("public class SimpleClass {")); - assertTrue(":8h:", content.getLine(5).equals("}")); -} -public void test_Text_Changed_Event() { - StyledTextContent content = getContentInstance(); - content.addTextChangeListener(this); - verify = 1; - content.setText("testing"); - content.replaceTextRange(0, 0, "\n"); - - verify = 2; - content.setText("\n\n"); - content.replaceTextRange(0, 2, "a"); - - verify = 3; - content.setText("a"); - content.replaceTextRange(0, 1, "\n\n"); - - verify = 4; - content.setText("L1\r\nL2\r\nL3\r\nL4\r\n"); - try {content.replaceTextRange(3, 1, "test\n");} - catch (IllegalArgumentException ex) {assertTrue(":4:", true);} - - verify = 5; - content.setText("Line 1\r\nLine 2"); - content.replaceTextRange(0, 0, "\r"); - - verify = 6; - content.setText("This\nis a test\nline 3\nline 4"); - content.replaceTextRange(21, 7, ""); - - verify = 7; - content.setText("This\nis a test\r"); - content.replaceTextRange(5, 9, ""); - - verify = 8; - content.setText("\nL1\r\nL2\r\n"); - content.replaceTextRange(7, 2, ""); - - verify = 9; - content.setText("L1\r\n"); - content.replaceTextRange(2, 2, "test"); - - verify = 10; - content.setText("L1\r\n"); - try {content.replaceTextRange(3, 1, "");} - catch (IllegalArgumentException ex) {assertTrue(":10:", true);} - - verify = 11; - content.setText("L1\r\nL2\r\nL3\r\nL4\r\n"); - try {content.replaceTextRange(1, 2, "");} - catch (IllegalArgumentException ex) {assertTrue(":11:", true);} - - verify = 12; - content.setText("L1\r"); - content.replaceTextRange(3, 0, "\n"); - - verify = 13; - content.setText("L1\n"); - content.replaceTextRange(2, 0, "\r"); - - verify = 14; - content.setText("L1\r\n"); - try {content.replaceTextRange(3, 0, "test");} - catch (IllegalArgumentException ex) {assertTrue(":14:", true);} - - verify = 15; - content.setText("L1\r\n"); - content.replaceTextRange(2, 2, "test\n\n"); - - verify = 16; - content.setText("L1\r\n"); - try {content.replaceTextRange(3, 1, "test\r\n");} - catch (IllegalArgumentException ex) {assertTrue(":16:", true);} - - verify = 17; - content.setText("L1\r\nL2\r\nL3\r\nL4\r\n"); - try {content.replaceTextRange(1, 2, "test\n\n");} - catch (IllegalArgumentException ex) {assertTrue(":17:", true);} - - verify = 18; - content.setText("L1\r"); - content.replaceTextRange(3, 0, "\ntest\r\n"); - - verify = 19; - content.setText("L1\n"); - content.replaceTextRange(2, 0, "test\r\r\r"); - verify = 20; - content.setText("L1\r\nL2\r\nL3\r\nL4\r\n"); - try {content.replaceTextRange(3, 1, "test\n");} - catch (IllegalArgumentException ex) {assertTrue(":20:", true);} - - - verify = 0; - content.removeTextChangeListener(this); -} -public void test_Delimiter_Special_Cases() { - StyledTextContent content = getContentInstance(); - String newText; - - content.setText("\nL1\r\nL2\r\n"); - content.replaceTextRange(7, 2, ""); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":1:", newText.equals("\nL1\r\nL2")); - - content.setText("L1\r\n"); - content.replaceTextRange(2, 2, "test\n\n"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":2:", newText.equals("L1test\n\n")); - -// content.setText("L1\r\n"); -// content.replaceTextRange(3, 1, "test\r\n"); -// newText = content.getTextRange(0, content.getCharCount()); -// assertTrue(":3:", newText.equals("L1\rtest\r\n")); - -// content.setText("L1\r\nL2\r\nL3\r\nL4\r\n"); -// content.replaceTextRange(1, 2, "test\n\n"); -// newText = content.getTextRange(0, content.getCharCount()); -// assertTrue(":4:", newText.equals("Ltest\n\n\nL2\r\nL3\r\nL4\r\n")); - - content.setText("L1\n"); - content.replaceTextRange(2, 0, "test\r\r\r"); - newText = content.getTextRange(0, content.getCharCount()); - assertTrue(":3:", newText.equals("L1test\r\r\r\n")); -} -protected void setUp() { - // create shell - shell = new Shell (); - GridLayout layout = new GridLayout(); - layout.numColumns = 1; - shell.setSize(500, 300); - shell.setLayout(layout); - // create widget - widget = new StyledText (shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); - GridData spec = new GridData(); - spec.horizontalAlignment = GridData.FILL; - spec.grabExcessHorizontalSpace = true; - spec.verticalAlignment = GridData.FILL; - spec.grabExcessVerticalSpace = true; - widget.setLayoutData(spec); - shell.open (); -} -protected void tearDown() { - if (shell != null && !shell.isDisposed ()) - shell.dispose (); - shell = null; - -} -} |