From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6037 invoked by alias); 10 Oct 2006 20:23:07 -0000 Received: (qmail 6024 invoked by uid 22791); 10 Oct 2006 20:23:06 -0000 X-Spam-Check-By: sourceware.org Received: from kennke.org (HELO box7954.elkhouse.de) (213.9.79.54) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 10 Oct 2006 20:22:58 +0000 Received: from [89.49.114.255] (helo=[192.168.2.100]) by box7954.elkhouse.de with esmtpsa (TLS-1.0:RSA_ARCFOUR_MD5:16) (Exim 4.50) id 1GWhwa-0006pr-Js for mauve-patches@sources.redhat.com; Mon, 09 Oct 2006 01:20:29 +0200 Subject: FYI: New JTree.isRowSelected() test From: Roman Kennke To: mauve-patches Content-Type: multipart/mixed; boundary="=-vnok8pj05TBaI/r6L9t0" Date: Tue, 10 Oct 2006 20:23:00 -0000 Message-Id: <1160345837.10926.0.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1 X-IsSubscribed: yes Mailing-List: contact mauve-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: mauve-patches-owner@sourceware.org X-SW-Source: 2006/txt/msg00690.txt.bz2 --=-vnok8pj05TBaI/r6L9t0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 220 This new test tests that JTree.isRowSelected() has to delegate the call to the tree selection model. 2006-10-09 Roman Kennke * gnu/testlet/javax/swing/JTree/isRowSelected.java: New test. /Roman --=-vnok8pj05TBaI/r6L9t0 Content-Disposition: attachment; filename=patch.diff Content-Type: text/x-patch; name=patch.diff; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-length: 3597 Index: gnu/testlet/javax/swing/JTree/isRowSelected.java =================================================================== RCS file: gnu/testlet/javax/swing/JTree/isRowSelected.java diff -N gnu/testlet/javax/swing/JTree/isRowSelected.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gnu/testlet/javax/swing/JTree/isRowSelected.java 8 Oct 2006 22:14:40 -0000 @@ -0,0 +1,121 @@ +/* isRowSelected.java -- Tests JTree.isRowSelected() + Copyright (C) 2006 Roman Kennke (kennke@aicas.com) +This file is part of Mauve. + +Mauve is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +Mauve is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Mauve; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +*/ + +// Tags: JDK1.2 + +package gnu.testlet.javax.swing.JTree; + +import javax.swing.JTree; +import javax.swing.tree.DefaultTreeSelectionModel; +import javax.swing.tree.TreePath; + +import gnu.testlet.TestHarness; +import gnu.testlet.Testlet; + +/** + * Tests JTree.isRowSelected(). + */ +public class isRowSelected implements Testlet +{ + + /** + * Indicates if JTree.getRowForPath() is called during a test. + */ + boolean getRowForPathCalled; + + /** + * Indicates if a tree's selection model isRowSelected() is called + * during a test. + */ + boolean modelIsRowSelectedCalled; + + /** + * A subclass of JTree for testing. + */ + private class TestTree + extends JTree + { + public TestTree(Object[] data) + { + super(data); + } + public int getRowForPath(TreePath p) + { + getRowForPathCalled = true; + return super.getRowForPath(p); + } + } + + /** + * A subclass of DefaultTreeSelectionModel for testing. + */ + private class TestTreeSelectionModel + extends DefaultTreeSelectionModel + { + public boolean isRowSelected(int r) + { + modelIsRowSelectedCalled = true; + return super.isRowSelected(r); + } + } + + /** + * Entry point into test suite. + */ + public void test(TestHarness harness) + { + testCallGetRowForPath(harness); + testCallModelIsRowSelected(harness); + } + + /** + * Tests if isRowSelected should call JTree.getRowForPath(), or if it + * should leave the row->path mapping to the selection model. + * + * @param h the test harness + */ + private void testCallGetRowForPath(TestHarness h) + { + h.checkPoint("testCallGetRowForPath"); + Object[] data = new Object[]{ "Hello", "World" }; + TestTree t = new TestTree(data); + getRowForPathCalled = false; + t.isRowSelected(0); + h.check(getRowForPathCalled, false); + } + + /** + * Tests if JTree.isRowSelected() should call the model's isRowSelected() + * method. + * + * @param h the test harness + */ + private void testCallModelIsRowSelected(TestHarness h) + { + h.checkPoint("testCallGetRowForPath"); + Object[] data = new Object[]{ "Hello", "World" }; + TestTree t = new TestTree(data); + t.setSelectionModel(new TestTreeSelectionModel()); + modelIsRowSelectedCalled = false; + t.isRowSelected(0); + h.check(modelIsRowSelectedCalled, true); + } +} --=-vnok8pj05TBaI/r6L9t0--