Skip to content

Commit fa0ed3e

Browse files
committed
docs(connectivity_plus_platform_interface): add List<ConnectivityResult>.hasConnectivity
1 parent c64dca1 commit fa0ed3e

4 files changed

Lines changed: 29 additions & 1 deletion

File tree

packages/connectivity_plus/connectivity_plus/lib/connectivity_plus.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import 'package:collection/collection.dart';
99

1010
// Export enums from the platform_interface so plugin users can use them directly.
1111
export 'package:connectivity_plus_platform_interface/connectivity_plus_platform_interface.dart'
12-
show ConnectivityResult;
12+
show ConnectivityResult, ConnectivityResultListX;
1313

1414
export 'src/connectivity_plus_linux.dart'
1515
if (dart.library.js_interop) 'src/connectivity_plus_web.dart';

packages/connectivity_plus/connectivity_plus_platform_interface/lib/src/enums.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,8 @@ enum ConnectivityResult {
3636
/// Other: Device is connected to an unknown network
3737
other
3838
}
39+
40+
extension ConnectivityResultListX on List<ConnectivityResult> {
41+
bool get hasConnectivity =>
42+
!(length == 1 && first == ConnectivityResult.none);
43+
}

packages/connectivity_plus/connectivity_plus_platform_interface/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ dependencies:
1717
dev_dependencies:
1818
flutter_test:
1919
sdk: flutter
20+
test: ^1.31.0
2021
flutter_lints: ">=4.0.0 <6.0.0"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import 'package:connectivity_plus_platform_interface/src/enums.dart';
2+
import 'package:test/test.dart';
3+
4+
void main() {
5+
group('List<$ConnectivityResult>.hasConnectivity', () {
6+
test('returns false when only none is present', () {
7+
final result = [ConnectivityResult.none];
8+
expect(result.hasConnectivity, false, reason: 'list: $result');
9+
});
10+
11+
test('returns true when wifi is present', () {
12+
final result = [ConnectivityResult.wifi];
13+
expect(result.hasConnectivity, true, reason: 'list: $result');
14+
});
15+
16+
test('returns true when multiple connections exist', () {
17+
final result = ConnectivityResult.values.toList()
18+
..removeWhere((e) => e == ConnectivityResult.none);
19+
expect(result.hasConnectivity, true, reason: 'list: $result');
20+
});
21+
});
22+
}

0 commit comments

Comments
 (0)