From d727e8e7ba3f765aa69d7b8786e5c993dbff4a0e Mon Sep 17 00:00:00 2001 From: Kirill Bychkov Date: Fri, 15 Apr 2022 18:57:49 +0300 Subject: [PATCH 1/3] fix CDATA reading --- lib/src/gpx_reader.dart | 4 ++++ test/assets/wpt.gpx | 6 +++--- test/assets/wpt_nocdata.gpx | 18 ++++++++++++++++++ test/gpx_writer_test.dart | 4 ++-- 4 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 test/assets/wpt_nocdata.gpx diff --git a/lib/src/gpx_reader.dart b/lib/src/gpx_reader.dart index 670089d..2723ca7 100644 --- a/lib/src/gpx_reader.dart +++ b/lib/src/gpx_reader.dart @@ -363,6 +363,10 @@ class GpxReader { string += val.text; } + if (val is XmlCDATAEvent) { + string += val.text; + } + if (val is XmlEndElementEvent && val.name == tagName) { break; } diff --git a/test/assets/wpt.gpx b/test/assets/wpt.gpx index 20069fe..bbeaf6a 100644 --- a/test/assets/wpt.gpx +++ b/test/assets/wpt.gpx @@ -1,7 +1,7 @@ - world cities + location of some of world cities @@ -13,6 +13,6 @@ 10.2 Xining - China + - \ No newline at end of file + diff --git a/test/assets/wpt_nocdata.gpx b/test/assets/wpt_nocdata.gpx new file mode 100644 index 0000000..43e97bc --- /dev/null +++ b/test/assets/wpt_nocdata.gpx @@ -0,0 +1,18 @@ + + + + world cities + location of some of world cities + + + + 10.2 + Monte Quemado + Argentina + + + 10.2 + Xining + China + + diff --git a/test/gpx_writer_test.dart b/test/gpx_writer_test.dart index 29661ce..f885248 100644 --- a/test/gpx_writer_test.dart +++ b/test/gpx_writer_test.dart @@ -25,14 +25,14 @@ void main() { test('write gpx with multiply points', () async { final gpx = createGPXWithWpt(); - final xml = await File('test/assets/wpt.gpx').readAsString(); + final xml = await File('test/assets/wpt_nocdata.gpx').readAsString(); expectXml(GpxWriter().asString(gpx, pretty: true), xml); }); test('write gpx with multiply points', () async { final gpx = createGPXWithWpt(); - final xml = await File('test/assets/wpt.gpx').readAsString(); + final xml = await File('test/assets/wpt_nocdata.gpx').readAsString(); expectXml(GpxWriter().asString(gpx, pretty: true), xml); }); From 3b1c30de8af67a7e71656bd62e600242a07398bd Mon Sep 17 00:00:00 2001 From: Kirill Bychkov Date: Fri, 15 Apr 2022 19:13:46 +0300 Subject: [PATCH 2/3] remove unused imports --- test/kml_writer_test.dart | 1 - test/utils.dart | 10 ---------- 2 files changed, 11 deletions(-) diff --git a/test/kml_writer_test.dart b/test/kml_writer_test.dart index 00dd075..8002f8a 100644 --- a/test/kml_writer_test.dart +++ b/test/kml_writer_test.dart @@ -3,7 +3,6 @@ library gpx.test.kml_writer_test; import 'dart:io'; import 'package:gpx/gpx.dart'; -import 'package:gpx/src/kml_writer.dart'; import 'package:test/test.dart'; import 'utils.dart'; diff --git a/test/utils.dart b/test/utils.dart index 6dcb46c..69c340e 100644 --- a/test/utils.dart +++ b/test/utils.dart @@ -1,14 +1,4 @@ import 'package:gpx/gpx.dart'; -import 'package:gpx/src/model/copyright.dart'; -import 'package:gpx/src/model/email.dart'; -import 'package:gpx/src/model/gpx.dart'; -import 'package:gpx/src/model/link.dart'; -import 'package:gpx/src/model/metadata.dart'; -import 'package:gpx/src/model/person.dart'; -import 'package:gpx/src/model/rte.dart'; -import 'package:gpx/src/model/trk.dart'; -import 'package:gpx/src/model/trkseg.dart'; -import 'package:gpx/src/model/wpt.dart'; import 'package:test/test.dart'; Gpx createMinimalGPX() { From f9daf615691670bc48b88d841bac48d11b4388af Mon Sep 17 00:00:00 2001 From: Kirill Bychkov Date: Fri, 15 Apr 2022 19:23:53 +0300 Subject: [PATCH 3/3] update lints settings --- analysis_options.yaml | 4 ++-- pubspec.yaml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 4532cbb..894e77a 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,4 +1,4 @@ -include: package:pedantic/analysis_options.yaml +include: package:lints/recommended.yaml linter: rules: @@ -150,4 +150,4 @@ linter: analyzer: strong-mode: - implicit-casts: false \ No newline at end of file + implicit-casts: false diff --git a/pubspec.yaml b/pubspec.yaml index cd5d252..35d5d47 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,4 +12,5 @@ dependencies: xml: '>=5.0.0 <6.0.0' dev_dependencies: + lints: ^1.0.1 test: ^1.16.8