From 8e1dd85ed689b3f6695a6208eba62d5165d09128 Mon Sep 17 00:00:00 2001 From: Wito Chandra Date: Sun, 1 Apr 2018 21:50:41 +0700 Subject: [PATCH] remove xml dependency from client --- lib/client.dart | 4 +--- lib/domain/rss_feed.dart | 3 ++- test/rss_test.dart | 6 ++---- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/client.dart b/lib/client.dart index beba28c..adf1fcc 100644 --- a/lib/client.dart +++ b/lib/client.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'package:http/http.dart' as http; import 'package:webfeedclient/domain/rss_feed.dart'; -import 'package:xml/xml.dart' as xml; class WebFeedClient { http.Client client; @@ -17,8 +16,7 @@ class WebFeedClient { print("Response Body: ${response.body}"); return response.body; }).then((bodyString) { - var document = xml.parse(bodyString); - var channel = new RssFeed.parse(document); + var channel = new RssFeed.parse(bodyString); return channel; }); } diff --git a/lib/domain/rss_feed.dart b/lib/domain/rss_feed.dart index 1632472..7ef1d2b 100644 --- a/lib/domain/rss_feed.dart +++ b/lib/domain/rss_feed.dart @@ -45,7 +45,8 @@ class RssFeed { this.webMaster, this.ttl}); - factory RssFeed.parse(XmlDocument document) { + factory RssFeed.parse(String xmlString) { + XmlDocument document = parse(xmlString); XmlElement channelElement; try { channelElement = document.findAllElements("channel").first; diff --git a/test/rss_test.dart b/test/rss_test.dart index c109e32..2d60441 100644 --- a/test/rss_test.dart +++ b/test/rss_test.dart @@ -7,18 +7,16 @@ import 'package:xml/xml.dart' as xml; void main() { test("parsing Invalid.xml", () { var xmlString = new File("test/xml/Invalid.xml").readAsStringSync(); - var doc = xml.parse(xmlString); try { - new RssFeed.parse(doc); + new RssFeed.parse(xmlString); fail("Should throw Argument Error"); } on ArgumentError {} }); test("parsing RSS.xml", () { var xmlString = new File("test/xml/RSS.xml").readAsStringSync(); - var doc = xml.parse(xmlString); - var feed = new RssFeed.parse(doc); + var feed = new RssFeed.parse(xmlString); expect(feed.title, "News - Foo bar News"); expect(feed.description, "Foo bar News and Updates feed provided by Foo bar, Inc.");