@@ -74,6 +74,18 @@ void main() {
7474 }, throwsAssertionError);
7575 });
7676
77+ testWidgets ('Test null Host options' , (WidgetTester tester) async {
78+ expect (() {
79+ OfflineBuilder .initialize (
80+ connectivityService: TestConnectivityService (ConnectivityResult .none),
81+ hostToCheck: null ,
82+ checkHost: null ,
83+ connectivityBuilder: (_, __, Widget child) => child,
84+ child: const Text ('child_result' ),
85+ );
86+ }, throwsAssertionError);
87+ });
88+
7789 testWidgets ('Test builder & child param' , (WidgetTester tester) async {
7890 expect (() {
7991 OfflineBuilder .initialize (
@@ -159,6 +171,65 @@ void main() {
159171 });
160172 });
161173
174+ group ("Test Check If Host" , () {
175+ testWidgets ('with default host' , (WidgetTester tester) async {
176+ const debounceDuration = Duration .zero;
177+ await tester.pumpWidget (MaterialApp (
178+ home: OfflineBuilder .initialize (
179+ connectivityService:
180+ TestConnectivityService (ConnectivityResult .mobile),
181+ checkHost: true ,
182+ debounceDuration: debounceDuration,
183+ connectivityBuilder: (_, ConnectivityResult connectivity, __) =>
184+ Text ('$connectivity ' ),
185+ child: const SizedBox (),
186+ ),
187+ ));
188+
189+ await tester.pump (debounceDuration);
190+ expect (find.byType (SizedBox ), findsOneWidget);
191+ });
192+
193+ testWidgets ('with local host' , (WidgetTester tester) async {
194+ const debounceDuration = Duration .zero;
195+ await tester.pumpWidget (MaterialApp (
196+ home: OfflineBuilder .initialize (
197+ connectivityService:
198+ TestConnectivityService (ConnectivityResult .mobile),
199+ checkHost: true ,
200+ hostToCheck: "127.0.0.1" ,
201+ debounceDuration: debounceDuration,
202+ connectivityBuilder: (_, ConnectivityResult connectivity, __) =>
203+ Text ('$connectivity ' ),
204+ child: const SizedBox (),
205+ ),
206+ ));
207+
208+ await tester.pump (debounceDuration);
209+ expect (find.byType (SizedBox ), findsOneWidget);
210+ });
211+
212+ testWidgets ('with bad host' , (WidgetTester tester) async {
213+ const debounceDuration = Duration .zero;
214+ await tester.pumpWidget (MaterialApp (
215+ home: OfflineBuilder .initialize (
216+ connectivityService: TestConnectivityService (ConnectivityResult .none),
217+ checkHost: true ,
218+ hostToCheck: "kkk" ,
219+ debounceDuration: debounceDuration,
220+ connectivityBuilder: (_, ConnectivityResult connectivity, __) {
221+ print (connectivity);
222+ return Text ('$connectivity ' );
223+ },
224+ child: const SizedBox (),
225+ ),
226+ ));
227+
228+ await tester.pump (debounceDuration);
229+ expect (find.byType (SizedBox ), findsOneWidget);
230+ });
231+ });
232+
162233 group ("Test Debounce" , () {
163234 testWidgets ('Test for Debounce: Zero' , (WidgetTester tester) async {
164235 final service = TestConnectivityService (ConnectivityResult .none);
@@ -280,9 +351,7 @@ class TestConnectivityService implements Connectivity {
280351 Stream <ConnectivityResult > get onConnectivityChanged => controller.stream;
281352
282353 @override
283- Future <ConnectivityResult > checkConnectivity () {
284- return Future .delayed (Duration .zero, () => initialConnection);
285- }
354+ Future <ConnectivityResult > checkConnectivity () async => initialConnection;
286355
287356 @override
288357 Future <String > getWifiIP () async => '127.0.0.1' ;
0 commit comments