Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1-rc-3
-
None
-
None
Description
GStrings are one of the big groovy features. But there current equals behavior in collections makes them useless for many use cases. Very confusing is also the behavioral difference between lists and other collections.
All tests fail except the first one. (Tests run against rev 9408)
class StringVersusGStringEqualsInCollections extends GroovyTestCase { String string GString gString void setUp() { def g = 'g' string = 'groovy' gString = "${g}roovy" } void testEqualsInList() { assertEquals([string], [gString]) } void testEqualsInSet() { assertEquals([string] as Set, [gString] as Set) } void testKeyEqualsInMap() { String someValue = 'somevalue' Map stringMap = [(string): someValue] Map gStringMap = [(gString): someValue] assertEquals(stringMap, gStringMap) } void testValueEqualsInMap() { String someKey = 'somekey' Map stringMap = [(someKey): string] Map gStringMap = [(someKey): gString] assertEquals(stringMap, gStringMap) } }
Attachments
Issue Links
- is related to
-
GROOVY-951 Accessing Map elements using a GroovyString
- Closed
- relates to
-
GROOVY-2331 Println behavior for collections, strings and gstrings [minor breaking change]
- Closed