File tree Expand file tree Collapse file tree 3 files changed +24
-2
lines changed
Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -74,7 +74,8 @@ class Text {
7474 fontFamily: parser.getString ('fontFamily' , defaults: 'sans-serif' ),
7575 pixelSize: parser.getInt ('pixelSize' , defaults: 16 ),
7676 color: parser.getString ('color' , defaults: '#000000' ),
77- text: parser.getString ('text' , defaults: '' ),
77+ text: parser.getInnerTextOrNull () ??
78+ parser.getString ('text' , defaults: '' ),
7879 hAlign: parser.getHAlign ('hAlign' , defaults: HAlign .left),
7980 vAlign: parser.getVAlign ('vAlign' , defaults: VAlign .top),
8081 bold: parser.getBool ('bold' , defaults: false ),
Original file line number Diff line number Diff line change @@ -11,6 +11,10 @@ class XmlParser extends Parser {
1111 final XmlElement element;
1212 XmlParser (this .element);
1313
14+ @override
15+ String ? getInnerTextOrNull () =>
16+ element.innerText.isEmpty ? null : element.innerText;
17+
1418 @override
1519 String ? getStringOrNull (String name, {String ? defaults}) {
1620 return element.getAttribute (name) ?? defaults;
@@ -46,6 +50,9 @@ class JsonParser extends Parser {
4650 final Map <String , dynamic > json;
4751 JsonParser (this .json);
4852
53+ @override
54+ String ? getInnerTextOrNull () => null ;
55+
4956 @override
5057 String ? getStringOrNull (String name, {String ? defaults}) {
5158 return json[name]? .toString () ?? defaults;
@@ -75,6 +82,8 @@ class JsonParser extends Parser {
7582}
7683
7784abstract class Parser {
85+ String ? getInnerTextOrNull ();
86+
7887 String ? getStringOrNull (String name, {String ? defaults});
7988
8089 List <Parser > getChildren (String name);
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import 'dart:io';
22import 'dart:math' show Rectangle;
33import 'dart:ui' ;
44
5+ import 'package:collection/collection.dart' ;
56import 'package:flutter_test/flutter_test.dart' ;
67import 'package:tiled/tiled.dart' ;
78import 'package:xml/xml.dart' ;
@@ -88,7 +89,9 @@ void main() {
8889 equals ('test_value' ),
8990 );
9091 expect (
91- properties.getValue <String >('multiline string' ),
92+ properties
93+ .getValue <String >('multiline string' )
94+ ? .replaceAll ('\r\n ' , '\n ' ),
9295 equals ('Hello,\n World' ),
9396 );
9497 expect (
@@ -235,6 +238,15 @@ void main() {
235238 test ('has the right class_' , () {
236239 expect (og.class_, equals ('objectLayer1Class' ));
237240 });
241+
242+ test ('has the right text object with ID 5' , () {
243+ final textObject = (og as ObjectGroup )
244+ .objects
245+ .firstWhereOrNull ((element) => element.id == 5 );
246+ final text = textObject? .text;
247+ expect (text? .wrap, equals (true ));
248+ expect (text? .text, equals ('Hello World' ));
249+ });
238250 });
239251 });
240252
You can’t perform that action at this time.
0 commit comments