[vassalengine-svn] SF.net SVN: vassalengine:[7668] VASSAL-src/branches/3.1
Brought to you by:
rodneykinney,
uckelman
From: <uck...@us...> - 2011-03-20 13:28:19
|
Revision: 7668 http://vassalengine.svn.sourceforge.net/vassalengine/?rev=7668&view=rev Author: uckelman Date: 2011-03-20 13:28:13 +0000 (Sun, 20 Mar 2011) Log Message: ----------- Merged bobd-bugfixes3.1@7658. Fixed Bug 3463: Infinite recursion if $PieceName$ specified as Text Label Modified Paths: -------------- VASSAL-src/branches/3.1/src/VASSAL/counters/Labeler.java Added Paths: ----------- VASSAL-src/branches/3.1/test/VASSAL/counters/ VASSAL-src/branches/3.1/test/VASSAL/counters/LabelerTest.java Removed Paths: ------------- VASSAL-src/branches/3.1/test/VASSAL/counters/LabelerTest.java Property Changed: ---------------- VASSAL-src/branches/3.1/ Property changes on: VASSAL-src/branches/3.1 ___________________________________________________________________ Modified: svn:mergeinfo - /VASSAL-src/branches/3.1:5509,6019 /VASSAL-src/branches/bobd-bugfixes3.1:7659 /VASSAL-src/branches/bsmith:4567-4756 /VASSAL-src/branches/bsmith/3.2-working:5236 /VASSAL-src/branches/bsmith/merge-3:5153 /VASSAL-src/branches/george973:7259-7447 /VASSAL-src/branches/jimcot-3-1:6390 /VASSAL-src/branches/mkiefte:4821-4822 /VASSAL-src/branches/mkiefte-3.1:5424,6019,6530,6777 /VASSAL-src/branches/rk-jabber:5293 /VASSAL-src/branches/swampwallaby-3.1:5134,5150-5151,5155,5165,5199,5257,5279,5294-5295,5303,5307-5308,5311,5319-5320,5329,5332,5352,5370,5425,5465,5468,5528,5547,5568,5648-5649,5672,5717,5725,5762-5765,5788,5801-5802,5807-5810,5822,5825,5847,5851-5852,5857,5876-5877,5890,5903,5907,5922,5935-5938,5947,5958-5959,5983-5984,5986-5988,6038,6062,6085,6243,6258-6260,6276,6285,6353 /VASSAL-src/branches/swampwallaby-work:4776,4806-4807,4819,4823-4825,5067,5093 /VASSAL-src/branches/swampwallaby-work2:4840 /VASSAL-src/branches/swampwallaby-work3:5086 /VASSAL-src/branches/swampwallaby-work5:4713 /VASSAL-src/branches/swampwallaby-work6:4727,4729-4730,4737,4742-4743,4747,4752,4776 /VASSAL-src/branches/uckelman-3.1:5389,5391,5400-5401,5403-5406,5411-5412,5415,5484-5487,5492-5493,5500-5501,5504,5509,5516,5518,5539,5872-5915,6012,6020 /VASSAL-src/branches/uckelman-work:4657-4708,4769-4775,4779,4790,4799,4933,5326 /VASSAL-src/branches/wlk0-3.1:6464 /VASSAL-src/trunk:4885,4887,4929-4930,4934,4936,4949,4954-4955,4966,5033,5048-5049,5117,5144 + /VASSAL-src/branches/3.1:5509,6019 /VASSAL-src/branches/bobd-bugfixes3.1:7658-7659 /VASSAL-src/branches/bsmith:4567-4756 /VASSAL-src/branches/bsmith/3.2-working:5236 /VASSAL-src/branches/bsmith/merge-3:5153 /VASSAL-src/branches/george973:7259-7447 /VASSAL-src/branches/jimcot-3-1:6390 /VASSAL-src/branches/mkiefte:4821-4822 /VASSAL-src/branches/mkiefte-3.1:5424,6019,6530,6777 /VASSAL-src/branches/rk-jabber:5293 /VASSAL-src/branches/swampwallaby-3.1:5134,5150-5151,5155,5165,5199,5257,5279,5294-5295,5303,5307-5308,5311,5319-5320,5329,5332,5352,5370,5425,5465,5468,5528,5547,5568,5648-5649,5672,5717,5725,5762-5765,5788,5801-5802,5807-5810,5822,5825,5847,5851-5852,5857,5876-5877,5890,5903,5907,5922,5935-5938,5947,5958-5959,5983-5984,5986-5988,6038,6062,6085,6243,6258-6260,6276,6285,6353 /VASSAL-src/branches/swampwallaby-work:4776,4806-4807,4819,4823-4825,5067,5093 /VASSAL-src/branches/swampwallaby-work2:4840 /VASSAL-src/branches/swampwallaby-work3:5086 /VASSAL-src/branches/swampwallaby-work5:4713 /VASSAL-src/branches/swampwallaby-work6:4727,4729-4730,4737,4742-4743,4747,4752,4776 /VASSAL-src/branches/uckelman-3.1:5389,5391,5400-5401,5403-5406,5411-5412,5415,5484-5487,5492-5493,5500-5501,5504,5509,5516,5518,5539,5872-5915,6012,6020 /VASSAL-src/branches/uckelman-work:4657-4708,4769-4775,4779,4790,4799,4933,5326 /VASSAL-src/branches/wlk0-3.1:6464 /VASSAL-src/trunk:4885,4887,4929-4930,4934,4936,4949,4954-4955,4966,5033,5048-5049,5117,5144 Modified: VASSAL-src/branches/3.1/src/VASSAL/counters/Labeler.java =================================================================== --- VASSAL-src/branches/3.1/src/VASSAL/counters/Labeler.java 2011-03-20 00:20:57 UTC (rev 7667) +++ VASSAL-src/branches/3.1/src/VASSAL/counters/Labeler.java 2011-03-20 13:28:13 UTC (rev 7668) @@ -373,6 +373,9 @@ index = s.indexOf("$" + propertyName + "$"); } label = s; + // prevent recursive references from this label + // to piece name (which may contain this label) + labelFormat.setProperty(BasicPiece.PIECE_NAME, piece.getName()); labelFormat.setFormat(label); if (getMap() != null && label != null && label.length() > 0) { Deleted: VASSAL-src/branches/3.1/test/VASSAL/counters/LabelerTest.java =================================================================== --- VASSAL-src/branches/bobd-bugfixes3.1/test/VASSAL/counters/LabelerTest.java 2011-03-15 20:53:15 UTC (rev 7658) +++ VASSAL-src/branches/3.1/test/VASSAL/counters/LabelerTest.java 2011-03-20 13:28:13 UTC (rev 7668) @@ -1,41 +0,0 @@ -/* - * $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 LabelerTest { - - @Test - public void testPieceNameInLabelBug3463() { - // Putting piece name in label was causing infinite recursion - // as labeler sets a new name which may be based on the label - final String pieceName = "Test Piece"; - final BasicPiece piece = new BasicPiece(BasicPiece.ID + ";;;" + pieceName + ";"); - final Labeler labeler = new Labeler(Labeler.ID, piece); - - labeler.setLabel("$" + BasicPiece.PIECE_NAME + "$"); - - assertEquals(pieceName, labeler.getLabel()); - } - -} Copied: VASSAL-src/branches/3.1/test/VASSAL/counters/LabelerTest.java (from rev 7658, VASSAL-src/branches/bobd-bugfixes3.1/test/VASSAL/counters/LabelerTest.java) =================================================================== --- VASSAL-src/branches/3.1/test/VASSAL/counters/LabelerTest.java (rev 0) +++ VASSAL-src/branches/3.1/test/VASSAL/counters/LabelerTest.java 2011-03-20 13:28:13 UTC (rev 7668) @@ -0,0 +1,41 @@ +/* + * $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 LabelerTest { + + @Test + public void testPieceNameInLabelBug3463() { + // Putting piece name in label was causing infinite recursion + // as labeler sets a new name which may be based on the label + final String pieceName = "Test Piece"; + final BasicPiece piece = new BasicPiece(BasicPiece.ID + ";;;" + pieceName + ";"); + final Labeler labeler = new Labeler(Labeler.ID, piece); + + labeler.setLabel("$" + BasicPiece.PIECE_NAME + "$"); + + assertEquals(pieceName, labeler.getLabel()); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |