This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This was sent to the wrong list.
--- Begin Message ---
- From: Roman Kennke <roman at kennke dot org>
- To: Classpath-Patches <classpath-patches at gnu dot org>
- Date: Thu, 22 Jun 2006 15:33:37 +0200
- Subject: [cp-patches] FYI: More PlainDocument.insertUpdate() tests
I added 3 more tests for PlainDocument.insertUpdate() that show problems in our impl. 2006-06-22 Roman Kennke <kennke@aicas.com> * gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java (test02): New test method. (test03): New test method. (test04): New test method. /Roman -- âImprovement makes straight roads, but the crooked roads, without Improvement, are roads of Genius.â - William BlakeIndex: gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java =================================================================== RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java,v retrieving revision 1.1 diff -u -2 -0 -r1.1 insertUpdate.java --- gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java 22 Jun 2006 11:11:23 -0000 1.1 +++ gnu/testlet/javax/swing/text/PlainDocument/insertUpdate.java 22 Jun 2006 13:32:05 -0000 @@ -23,70 +23,155 @@ package gnu.testlet.javax.swing.text.PlainDocument; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; import javax.swing.text.Element; import javax.swing.text.PlainDocument; import gnu.testlet.TestHarness; import gnu.testlet.Testlet; /** * Tests PlainDocument.insertUpdate(). * * @author Roman Kennke (kennke@aicas.com) */ public class insertUpdate implements Testlet { + private class TestListener + implements DocumentListener + { + public void changedUpdate(DocumentEvent e) + { + ev = e; + } + public void insertUpdate(DocumentEvent e) + { + ev = e; + } + public void removeUpdate(DocumentEvent e) + { + ev = e; + } + + } + DocumentEvent ev; public void test(TestHarness harness) { test01(harness); + test02(harness); + test03(harness); } private void test01(TestHarness h) { h.checkPoint("test01"); PlainDocument doc = new PlainDocument(); - doc.addDocumentListener(new DocumentListener() { - public void changedUpdate(DocumentEvent e) { - ev = e; - } - public void insertUpdate(DocumentEvent e) { - ev = e; - } - public void removeUpdate(DocumentEvent e) { - ev = e; - } - }); + doc.addDocumentListener(new TestListener()); try { doc.insertString(0, "abcde\nabcdef\nabcde\n", null); doc.insertString(15, "abcdefghijklmn\n", null); } catch (BadLocationException ex) { h.fail("Unexpected BadLocationException"); } DocumentEvent.ElementChange change = ev.getChange(doc.getDefaultRootElement()); - Element[] added = change.getChildrenAdded(); h.check(change.getIndex(), 2); + Element[] added = change.getChildrenAdded(); h.check(added.length, 2); h.check(added[0].getStartOffset(), 13); h.check(added[0].getEndOffset(), 30); h.check(added[1].getStartOffset(), 30); h.check(added[1].getEndOffset(), 34); Element[] removed = change.getChildrenRemoved(); h.check(removed.length, 1); h.check(removed[0].getStartOffset(), 13); h.check(removed[0].getEndOffset(), 34); } + + private void test02(TestHarness h) + { + h.checkPoint("test02"); + PlainDocument doc = new PlainDocument(); + doc.addDocumentListener(new TestListener()); + + try + { + doc.insertString(0, "abcde\nabcdef\nabcde\n", null); + doc.insertString(13, "\nabc", null); + } + catch (BadLocationException ex) + { + h.fail("Unexpected BadLocationException"); + } + + DocumentEvent.ElementChange change = ev.getChange(doc.getDefaultRootElement()); + + h.check(change.getIndex(), 1); + + Element[] added = change.getChildrenAdded(); + h.check(added.length, 3); + h.check(added[0].getStartOffset(), 6); + h.check(added[0].getEndOffset(), 13); + h.check(added[1].getStartOffset(), 13); + h.check(added[1].getEndOffset(), 14); + h.check(added[2].getStartOffset(), 14); + h.check(added[2].getEndOffset(), 23); + + Element[] removed = change.getChildrenRemoved(); + h.check(removed.length, 2); + h.check(removed[0].getStartOffset(), 6); + h.check(removed[0].getEndOffset(), 17); + h.check(removed[1].getStartOffset(), 17); + h.check(removed[1].getEndOffset(), 23); + } + + private void test03(TestHarness h) + { + h.checkPoint("test03"); + PlainDocument doc = new PlainDocument(); + doc.addDocumentListener(new TestListener()); + + try + { + doc.insertString(0, "abcd", null); + doc.insertString(0, "abcde\nabcdef\nabcde\n", null); + } + catch (BadLocationException ex) + { + h.fail("Unexpected BadLocationException"); + } + + DocumentEvent.ElementChange change = ev.getChange(doc.getDefaultRootElement()); + + h.check(change.getIndex(), 0); + + Element[] added = change.getChildrenAdded(); + h.check(added.length, 4); + h.check(added[0].getStartOffset(), 0); + h.check(added[0].getEndOffset(), 6); + h.check(added[1].getStartOffset(), 6); + h.check(added[1].getEndOffset(), 13); + h.check(added[2].getStartOffset(), 13); + h.check(added[2].getEndOffset(), 19); + h.check(added[3].getStartOffset(), 19); + h.check(added[3].getEndOffset(), 24); + + Element[] removed = change.getChildrenRemoved(); + h.check(removed.length, 1); + h.check(removed[0].getStartOffset(), 0); + h.check(removed[0].getEndOffset(), 24); + } + }Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
--- End Message ---
Attachment:
signature.asc
Description: OpenPGP digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |