[vassalengine-svn] SF.net SVN: vassalengine:[7660] VASSAL-src/branches/bobd-bugfixes3.1
Brought to you by:
rodneykinney,
uckelman
From: <bo...@us...> - 2011-03-15 22:18:41
|
Revision: 7660 http://vassalengine.svn.sourceforge.net/vassalengine/?rev=7660&view=rev Author: bobd91 Date: 2011-03-15 22:18:35 +0000 (Tue, 15 Mar 2011) Log Message: ----------- Modified Paths: -------------- VASSAL-src/branches/bobd-bugfixes3.1/src/VASSAL/counters/DynamicProperty.java Added Paths: ----------- VASSAL-src/branches/bobd-bugfixes3.1/test/VASSAL/counters/DynamicPropertyTest.java Modified: VASSAL-src/branches/bobd-bugfixes3.1/src/VASSAL/counters/DynamicProperty.java =================================================================== --- VASSAL-src/branches/bobd-bugfixes3.1/src/VASSAL/counters/DynamicProperty.java 2011-03-15 21:02:08 UTC (rev 7659) +++ VASSAL-src/branches/bobd-bugfixes3.1/src/VASSAL/counters/DynamicProperty.java 2011-03-15 22:18:35 UTC (rev 7660) @@ -181,6 +181,9 @@ public void setValue(String value) { Stack parent = getParent(); Map map = getMap(); + + value = formatValue(value); + // If the property has changed the layer to which this piece belongs, // re-insert it into the map. // No need to re-insert pieces in Decks, it causes problems if they are NO_STACK @@ -217,6 +220,11 @@ } } + private String formatValue(String value) { + format.setFormat(value); + return format.getText(Decorator.getOutermost(this)); + } + public String myGetType() { SequenceEncoder se = new SequenceEncoder(';'); se.append(key); @@ -233,10 +241,7 @@ ChangeTracker tracker = new ChangeTracker(this); for (int i = 0; i < keyCommands.length; i++) { if (keyCommands[i].matches(stroke)) { - String newValue = keyCommands[i].propChanger.getNewValue(value); - format.setFormat(newValue); - newValue = format.getText(Decorator.getOutermost(this)); - setValue(newValue); + setValue(keyCommands[i].propChanger.getNewValue(value)); } } Command comm = tracker.getChangeCommand(); Added: VASSAL-src/branches/bobd-bugfixes3.1/test/VASSAL/counters/DynamicPropertyTest.java =================================================================== --- VASSAL-src/branches/bobd-bugfixes3.1/test/VASSAL/counters/DynamicPropertyTest.java (rev 0) +++ VASSAL-src/branches/bobd-bugfixes3.1/test/VASSAL/counters/DynamicPropertyTest.java 2011-03-15 22:18:35 UTC (rev 7660) @@ -0,0 +1,40 @@ +/* + * $Id: $ + * + * Copyright (c) 2011 by Bob Davison + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License (LGPL) as published by the Free Software Foundation. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, copies are available + * at http://www.opensource.org. + */ + +package VASSAL.counters; + +import org.junit.Test; + +import static org.junit.Assert.*; + + +public class DynamicPropertyTest { + + @Test + public void testFormatInitialValueRFE3472(){ + // Initial value of DynamicProperty was not getting evaluated + final String pieceName = "Test Piece"; + final BasicPiece piece = new BasicPiece(BasicPiece.ID + ";;;" + pieceName + ";"); + final DynamicProperty dp = new DynamicProperty(DynamicProperty.ID, piece); + + dp.mySetState("$" + BasicPiece.PIECE_NAME + "$"); + + assertEquals(pieceName, dp.getValue()); + } +} Property changes on: VASSAL-src/branches/bobd-bugfixes3.1/test/VASSAL/counters/DynamicPropertyTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |