| @@ -1,13 +1,13 @@ | |||||
| import 'dart:async'; | import 'dart:async'; | ||||
| import 'package:http/http.dart' as http; | import 'package:http/http.dart' as http; | ||||
| import 'package:webfeedclient/domain/rss_feed.dart'; | |||||
| import 'package:webfeed/domain/rss_feed.dart'; | |||||
| class WebFeedClient { | class WebFeedClient { | ||||
| http.Client client; | http.Client client; | ||||
| WebFeedClient() { | |||||
| client = new http.Client(); | |||||
| WebFeedClient(http.Client httpClient) { | |||||
| client = httpClient; | |||||
| } | } | ||||
| Future<RssFeed> fetch(String url) { | Future<RssFeed> fetch(String url) { | ||||
| @@ -1,7 +1,8 @@ | |||||
| import 'package:webfeedclient/client.dart'; | |||||
| import 'package:http/http.dart' as http; | |||||
| import 'client.dart'; | |||||
| void main() { | void main() { | ||||
| var client = new WebFeedClient(); | |||||
| var client = new WebFeedClient(new http.Client()); | |||||
| client.fetch("https://developer.apple.com/news/releases/rss/releases.rss").then((channel) { | client.fetch("https://developer.apple.com/news/releases/rss/releases.rss").then((channel) { | ||||
| print(channel); | print(channel); | ||||
| }).catchError((error) { | }).catchError((error) { | ||||
| @@ -1,7 +1,6 @@ | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class RssCategory { | class RssCategory { | ||||
| String domain; | String domain; | ||||
| String value; | String value; | ||||
| @@ -21,4 +20,4 @@ class RssCategory { | |||||
| value: $value | value: $value | ||||
| '''; | '''; | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -28,4 +28,4 @@ class RssCloud { | |||||
| protocol: $protocol | protocol: $protocol | ||||
| '''; | '''; | ||||
| } | } | ||||
| } | |||||
| } | |||||
| @@ -1,13 +1,12 @@ | |||||
| import 'dart:core'; | import 'dart:core'; | ||||
| import 'package:webfeedclient/domain/rss_category.dart'; | |||||
| import 'package:webfeedclient/domain/rss_cloud.dart'; | |||||
| import 'package:webfeedclient/domain/rss_item.dart'; | |||||
| import 'package:webfeedclient/util/helpers.dart'; | |||||
| import 'package:webfeed/domain/rss_category.dart'; | |||||
| import 'package:webfeed/domain/rss_cloud.dart'; | |||||
| import 'package:webfeed/domain/rss_image.dart'; | |||||
| import 'package:webfeed/domain/rss_item.dart'; | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| import 'package:webfeedclient/domain/rss_image.dart'; | |||||
| class RssFeed { | class RssFeed { | ||||
| final String title; | final String title; | ||||
| final String description; | final String description; | ||||
| @@ -1,4 +1,4 @@ | |||||
| import 'package:webfeedclient/util/helpers.dart'; | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class RssImage { | class RssImage { | ||||
| @@ -1,6 +1,6 @@ | |||||
| import 'package:webfeedclient/domain/rss_category.dart'; | |||||
| import 'package:webfeedclient/domain/rss_source.dart'; | |||||
| import 'package:webfeedclient/util/helpers.dart'; | |||||
| import 'package:webfeed/domain/rss_category.dart'; | |||||
| import 'package:webfeed/domain/rss_source.dart'; | |||||
| import 'package:webfeed/util/helpers.dart'; | |||||
| import 'package:xml/xml.dart'; | import 'package:xml/xml.dart'; | ||||
| class RssItem { | class RssItem { | ||||
| @@ -1,6 +0,0 @@ | |||||
| import 'package:webfeedclient/client.dart'; | |||||
| void main() { | |||||
| var client = new WebFeedClient(); | |||||
| client.fetch("https://developer.apple.com/news/releases/rss/releases.rss"); | |||||
| } | |||||
| @@ -1,6 +1,6 @@ | |||||
| name: webfeedclient | |||||
| name: webfeed | |||||
| dependencies: | dependencies: | ||||
| xml: "^3.0.0" | xml: "^3.0.0" | ||||
| http: "^0.11.3+16" | |||||
| dev_dependencies: | dev_dependencies: | ||||
| test: ^0.12.0 | |||||
| test: ^0.12.0 | |||||
| http: "^0.11.3+16" | |||||
| @@ -1,8 +1,7 @@ | |||||
| import 'dart:io'; | import 'dart:io'; | ||||
| import 'dart:core'; | import 'dart:core'; | ||||
| import 'package:test/test.dart'; | import 'package:test/test.dart'; | ||||
| import 'package:webfeedclient/domain/rss_feed.dart'; | |||||
| import 'package:xml/xml.dart' as xml; | |||||
| import 'package:webfeed/domain/rss_feed.dart'; | |||||
| void main() { | void main() { | ||||
| test("parsing Invalid.xml", () { | test("parsing Invalid.xml", () { | ||||