diff options
author | Felipe Heidrich | 2009-11-17 16:14:05 +0000 |
---|---|---|
committer | Felipe Heidrich | 2009-11-17 16:14:05 +0000 |
commit | 23dcd594fc9be3d0f9e4026ad70fbcc9f45464d6 (patch) | |
tree | 25a3b04ef7943ce94229f6ba6a451a8e4668aabc /tests | |
parent | 0d507e89e6704c59427d9b6b7f6119a9ac58cf88 (diff) | |
download | eclipse.platform.swt-23dcd594fc9be3d0f9e4026ad70fbcc9f45464d6.tar.gz eclipse.platform.swt-23dcd594fc9be3d0f9e4026ad70fbcc9f45464d6.tar.xz eclipse.platform.swt-23dcd594fc9be3d0f9e4026ad70fbcc9f45464d6.zip |
*** empty log message ***
Diffstat (limited to 'tests')
-rw-r--r-- | tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_TextLayout.java | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_TextLayout.java b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_TextLayout.java index 3fa45ea0c8..8b191d9512 100644 --- a/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_TextLayout.java +++ b/tests/org.eclipse.swt.tests/JUnit Tests/org/eclipse/swt/tests/junit/Test_org_eclipse_swt_graphics_TextLayout.java @@ -81,9 +81,31 @@ public void test_getSegments() { assertEquals(10, offset); offset = layout.getNextOffset(offset, SWT.MOVEMENT_WORD_START); assertEquals(14, offset); - layout.setWidth(-1); + layout.dispose(); + layout = new TextLayout(display); + //Bug 241482 comment 64 + layout.setText("\nAB"); + layout.setSegments(new int[] {0, 1, 3}); + int[] expected = new int[] {0, 1, 3}; + int[] offsets = layout.getLineOffsets(); + for (int i = 0; i < offsets.length; i++) { + assertEquals(" i = " + i, expected[i], offsets[i]); + } + layout.dispose(); + layout = new TextLayout(display); + + //Bug 241482 comment 80 + layout.setText("MNMNMN"); + layout.setSegments(new int[] {0,1,6}); + layout.getBounds(); + assertEquals(layout.getText().length() - 1, layout.getOffset(layout.getBounds().width, 0, null)); + layout.setAscent(9); + assertEquals(layout.getText().length() - 1, layout.getOffset(layout.getBounds().width, 0, null)); + layout.dispose(); + layout = new TextLayout(display); + //Lina's bug (bug 241482, comment 37) boolean doit = false; //known to be broken if (doit) { @@ -101,7 +123,25 @@ public void test_getSegments() { assertEquals("hit test to the right", length - 1, layout.getOffset(width, 0, trailing)); assertEquals("hit test to the right (trailing)", 1, trailing[0]); } - + + /* wrong: internal testing */ +// text = "AB"; +// int textLength = text.length(); +// layout.setText(text); +// String[] messages = {"no segments", "segments", "segments (duplicate at 0)", "segments (duplicate at 1)", "segments (duplicate at 2)"}; +// int[][] segments = {null, {0, 1, 2}, {0, 0, 1, 2}, {0, 1, 1, 2}, {0, 1, 2, 2}}; +// int[][] translatedOffsets = {{0, 1, 2}, {1, 3, 5}, {2, 4, 6}, {1, 4, 6}, {1, 3, 6}}; +// int[][] untranslatedOffsets = {{0, 1, 2}, {0, 0, 1, 1, 2, 2}, {0, 0, 0, 1, 1, 2, 2}, {0, 0, 1, 1, 1, 2, 2}, {0, 0, 1, 1, 2, 2, 2}}; +// for (int i = 0; i < segments.length; i++) { +// layout.setSegments(segments[i]); +// layout.getBounds(); +// for (int j = 0; j <= textLength; j++) { +// assertEquals(messages[i] + " j = " + j, translatedOffsets[i][j], layout.translateOffset(j)); +// } +// for (int j = 0, n = layout.getSegments() == null ? 0 : textLength + layout.getSegments().length; j < n; j++) { +// assertEquals(messages[i] + " j = " + j, untranslatedOffsets[i][j], layout.untranslateOffset(j)); +// } +// } layout.dispose(); } @@ -170,34 +210,6 @@ public void test_getLineOffsets() { for (int i = 0; i < offsets.length; i++) { assertEquals(expected[i], offsets[i]); } - - //Bug 241482 comment 64 - layout.setText("\nAB"); - layout.setSegments(new int[] {0, 1, 3}); - expected = new int[] {0, 1, 3}; - offsets = layout.getLineOffsets(); - for (int i = 0; i < offsets.length; i++) { - assertEquals(" i = " + i, expected[i], offsets[i]); - } - - /* wrong: internal testing */ -// text = "AB"; -// int textLength = text.length(); -// layout.setText(text); -// String[] messages = {"no segments", "segments", "segments (duplicate at 0)", "segments (duplicate at 1)", "segments (duplicate at 2)"}; -// int[][] segments = {null, {0, 1, 2}, {0, 0, 1, 2}, {0, 1, 1, 2}, {0, 1, 2, 2}}; -// int[][] translatedOffsets = {{0, 1, 2}, {1, 3, 5}, {2, 4, 6}, {1, 4, 6}, {1, 3, 6}}; -// int[][] untranslatedOffsets = {{0, 1, 2}, {0, 0, 1, 1, 2, 2}, {0, 0, 0, 1, 1, 2, 2}, {0, 0, 1, 1, 1, 2, 2}, {0, 0, 1, 1, 2, 2, 2}}; -// for (int i = 0; i < segments.length; i++) { -// layout.setSegments(segments[i]); -// layout.getBounds(); -// for (int j = 0; j <= textLength; j++) { -// assertEquals(messages[i] + " j = " + j, translatedOffsets[i][j], layout.translateOffset(j)); -// } -// for (int j = 0, n = layout.getSegments() == null ? 0 : textLength + layout.getSegments().length; j < n; j++) { -// assertEquals(messages[i] + " j = " + j, untranslatedOffsets[i][j], layout.untranslateOffset(j)); -// } -// } layout.dispose(); } |