|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.netbeans.spi.looks; import java.util.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.netbeans.junit.*; import org.netbeans.spi.looks.*; import org.openide.util.enum.SingletonEnumeration; /** Tests whether all vales returned from a Node are identical with * the values server by associated look */ public class DecoratorSelectorEventsTest extends NbTestCase { // Golden values for the three looks which will be composed private GoldenValue goldenValues[][]; private static GoldenValue gvForTypes[] = GoldenValue.createGoldenValues(); // Methods of testCase ----------------------------------------------------- public DecoratorSelectorEventsTest(java.lang.String testName) { super(testName); } public static void main(java.lang.String[] args) { junit.textui.TestRunner.run(suite()); } public static NbTest suite() { NbTestSuite suite = new NbTestSuite( DecoratorSelectorEventsTest.class ); return suite; } protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } // Test methods ------------------------------------------------------------ public void testEventFromDelegate() { // Create all necessary looks Look primaryLook = new SampleLook( "CL1" ); Look decoratingLook = new SampleLook( "CL2" ); Look replacementLook = new SampleLook( "CL3" ); TestChangeableProvider provider = new TestChangeableProvider( primaryLook ); LookSelector primarySelector = Selectors.selector( provider ); // Create selector which decorates LookSelector decoratingSelector = Selectors.decorator( primarySelector, decoratingLook ); // Add listeners NamespaceSelectorEventsTest.TestLookSelectorListener tlsl1 = new NamespaceSelectorEventsTest.TestLookSelectorListener(); NamespaceSelectorEventsTest.TestLookSelectorListener tlsl2 = new NamespaceSelectorEventsTest.TestLookSelectorListener(); org.netbeans.modules.looks.Accessor.DEFAULT.addSelectorListener( primarySelector, tlsl1 ); org.netbeans.modules.looks.Accessor.DEFAULT.addSelectorListener( decoratingSelector, tlsl2 ); // Fire the change and test provider.fireChange( replacementLook ); assertEquals( "One event in primarySelector", 1, tlsl1.events.size() ); assertEquals( "One event in decoratorSelector", 1, tlsl2.events.size() ); } // Private classes --------------------------------------------------------- private static class TestChangeableProvider implements ChangeableLookProvider { private Look look; private ChangeListener listener; public TestChangeableProvider( Look look ) { this.look = look; } public void addChangeListener(ChangeListener listener) throws TooManyListenersException { if ( this.listener != null ) { throw new TooManyListenersException(); } else { this.listener = listener; } } public Object getKeyForObject(Object representedObject) { return this; } public Enumeration getLooksForKey(Object key) { return new SingletonEnumeration( look ); } public void fireChange( Look look ) { this.look = look; listener.stateChanged( new ChangeEvent( this ) ); } } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.