@@ -76,6 +76,18 @@ void main() {
7676 }, throwsAssertionError);
7777 });
7878
79+ testWidgets ('Test null Host options' , (WidgetTester tester) async {
80+ expect (() {
81+ OfflineBuilder .initialize (
82+ connectivityService: TestConnectivityService (ConnectivityResult .none),
83+ hostToCheck: null ,
84+ checkHost: null ,
85+ connectivityBuilder: (_, __, Widget child) => child,
86+ child: const Text ('child_result' ),
87+ );
88+ }, throwsAssertionError);
89+ });
90+
7991 testWidgets ('Test builder & child param' , (WidgetTester tester) async {
8092 expect (() {
8193 OfflineBuilder .initialize (
@@ -168,6 +180,65 @@ void main() {
168180 });
169181 });
170182
183+ group ("Test Check If Host" , () {
184+ testWidgets ('with default host' , (WidgetTester tester) async {
185+ const debounceDuration = Duration .zero;
186+ await tester.pumpWidget (MaterialApp (
187+ home: OfflineBuilder .initialize (
188+ connectivityService:
189+ TestConnectivityService (ConnectivityResult .mobile),
190+ checkHost: true ,
191+ debounceDuration: debounceDuration,
192+ connectivityBuilder: (_, ConnectivityResult connectivity, __) =>
193+ Text ('$connectivity ' ),
194+ child: const SizedBox (),
195+ ),
196+ ));
197+
198+ await tester.pump (debounceDuration);
199+ expect (find.byType (SizedBox ), findsOneWidget);
200+ });
201+
202+ testWidgets ('with local host' , (WidgetTester tester) async {
203+ const debounceDuration = Duration .zero;
204+ await tester.pumpWidget (MaterialApp (
205+ home: OfflineBuilder .initialize (
206+ connectivityService:
207+ TestConnectivityService (ConnectivityResult .mobile),
208+ checkHost: true ,
209+ hostToCheck: "127.0.0.1" ,
210+ debounceDuration: debounceDuration,
211+ connectivityBuilder: (_, ConnectivityResult connectivity, __) =>
212+ Text ('$connectivity ' ),
213+ child: const SizedBox (),
214+ ),
215+ ));
216+
217+ await tester.pump (debounceDuration);
218+ expect (find.byType (SizedBox ), findsOneWidget);
219+ });
220+
221+ testWidgets ('with bad host' , (WidgetTester tester) async {
222+ const debounceDuration = Duration .zero;
223+ await tester.pumpWidget (MaterialApp (
224+ home: OfflineBuilder .initialize (
225+ connectivityService: TestConnectivityService (ConnectivityResult .none),
226+ checkHost: true ,
227+ hostToCheck: "kkk" ,
228+ debounceDuration: debounceDuration,
229+ connectivityBuilder: (_, ConnectivityResult connectivity, __) {
230+ print (connectivity);
231+ return Text ('$connectivity ' );
232+ },
233+ child: const SizedBox (),
234+ ),
235+ ));
236+
237+ await tester.pump (debounceDuration);
238+ expect (find.byType (SizedBox ), findsOneWidget);
239+ });
240+ });
241+
171242 group ("Test Debounce" , () {
172243 testWidgets ('Test for Debounce: Zero' , (WidgetTester tester) async {
173244 final service = TestConnectivityService (ConnectivityResult .none);
@@ -293,9 +364,7 @@ class TestConnectivityService implements Connectivity {
293364 Stream <ConnectivityResult > get onConnectivityChanged => controller.stream;
294365
295366 @override
296- Future <ConnectivityResult > checkConnectivity () {
297- return Future .delayed (Duration .zero, () => initialConnection);
298- }
367+ Future <ConnectivityResult > checkConnectivity () async => initialConnection;
299368
300369 @override
301370 Future <String > getWifiIP () async => '127.0.0.1' ;
0 commit comments