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 {
74
74
fontFamily: parser.getString ('fontFamily' , defaults: 'sans-serif' ),
75
75
pixelSize: parser.getInt ('pixelSize' , defaults: 16 ),
76
76
color: parser.getString ('color' , defaults: '#000000' ),
77
- text: parser.getString ('text' , defaults: '' ),
77
+ text: parser.getInnerTextOrNull () ??
78
+ parser.getString ('text' , defaults: '' ),
78
79
hAlign: parser.getHAlign ('hAlign' , defaults: HAlign .left),
79
80
vAlign: parser.getVAlign ('vAlign' , defaults: VAlign .top),
80
81
bold: parser.getBool ('bold' , defaults: false ),
Original file line number Diff line number Diff line change @@ -11,6 +11,10 @@ class XmlParser extends Parser {
11
11
final XmlElement element;
12
12
XmlParser (this .element);
13
13
14
+ @override
15
+ String ? getInnerTextOrNull () =>
16
+ element.innerText.isEmpty ? null : element.innerText;
17
+
14
18
@override
15
19
String ? getStringOrNull (String name, {String ? defaults}) {
16
20
return element.getAttribute (name) ?? defaults;
@@ -46,6 +50,9 @@ class JsonParser extends Parser {
46
50
final Map <String , dynamic > json;
47
51
JsonParser (this .json);
48
52
53
+ @override
54
+ String ? getInnerTextOrNull () => null ;
55
+
49
56
@override
50
57
String ? getStringOrNull (String name, {String ? defaults}) {
51
58
return json[name]? .toString () ?? defaults;
@@ -75,6 +82,8 @@ class JsonParser extends Parser {
75
82
}
76
83
77
84
abstract class Parser {
85
+ String ? getInnerTextOrNull ();
86
+
78
87
String ? getStringOrNull (String name, {String ? defaults});
79
88
80
89
List <Parser > getChildren (String name);
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import 'dart:io';
2
2
import 'dart:math' show Rectangle;
3
3
import 'dart:ui' ;
4
4
5
+ import 'package:collection/collection.dart' ;
5
6
import 'package:flutter_test/flutter_test.dart' ;
6
7
import 'package:tiled/tiled.dart' ;
7
8
import 'package:xml/xml.dart' ;
@@ -88,7 +89,9 @@ void main() {
88
89
equals ('test_value' ),
89
90
);
90
91
expect (
91
- properties.getValue <String >('multiline string' ),
92
+ properties
93
+ .getValue <String >('multiline string' )
94
+ ? .replaceAll ('\r\n ' , '\n ' ),
92
95
equals ('Hello,\n World' ),
93
96
);
94
97
expect (
@@ -235,6 +238,15 @@ void main() {
235
238
test ('has the right class_' , () {
236
239
expect (og.class_, equals ('objectLayer1Class' ));
237
240
});
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
+ });
238
250
});
239
251
});
240
252
You can’t perform that action at this time.
0 commit comments