Showing
3 changed files
with
101 additions
and
43 deletions
@@ -70,14 +70,13 @@ class GetUtils { | @@ -70,14 +70,13 @@ class GetUtils { | ||
70 | return true; | 70 | return true; |
71 | } | 71 | } |
72 | 72 | ||
73 | - /// FIXME: null checking here is.. pointless (? see isNull above) | ||
74 | if(value is String) { | 73 | if(value is String) { |
75 | - return value.toString() == 'null' || value.toString().trim().isEmpty; | 74 | + return value.toString().trim().isEmpty; |
76 | } | 75 | } |
77 | 76 | ||
78 | // Pretty sure that isNullOrBlank should't be validating | 77 | // Pretty sure that isNullOrBlank should't be validating |
79 | // iterables... but I'm going to keep this for compatibility. | 78 | // iterables... but I'm going to keep this for compatibility. |
80 | - return _hasIsEmpty(value) ? value.isEmpty as bool : true; | 79 | + return _hasIsEmpty(value) ? value.isEmpty as bool : false; |
81 | } | 80 | } |
82 | 81 | ||
83 | /// Checks if string is int or double. | 82 | /// Checks if string is int or double. |
@@ -8,60 +8,63 @@ class TestClass { | @@ -8,60 +8,63 @@ class TestClass { | ||
8 | class EmptyClass {} | 8 | class EmptyClass {} |
9 | 9 | ||
10 | void main() { | 10 | void main() { |
11 | - group('dynamic extensions', () { | ||
12 | - test('var.isNullOrBlank on a string ', () { | ||
13 | - var string = ''; | ||
14 | - expect('foo'.isNullOrBlank, equals(false)); | ||
15 | - expect(string.isNullOrBlank, equals(true)); | ||
16 | - }); | ||
17 | - test('var.isNullOrBlank on a int ', () { | ||
18 | - expect(5.isNullOrBlank, equals(false)); | ||
19 | - expect(0.isNullOrBlank, equals(false)); | 11 | + group('isNullOrBlank on dynamic', () { |
12 | + // Identity util to convert to iterables | ||
13 | + dynamic _id(dynamic e) => e; | ||
14 | + | ||
15 | + test('null isNullOrBlank should be true for null', () { | ||
16 | + expect((null).isNullOrBlank, true); | ||
20 | }); | 17 | }); |
21 | 18 | ||
22 | - test('var.isNullOrBlank on a double ', () { | 19 | + test('isNullOrBlank should be false for unsupported types', () { |
20 | + expect(5.isNullOrBlank, false); | ||
21 | + expect(0.isNullOrBlank, false); | ||
22 | + | ||
23 | expect(5.0.isNullOrBlank, equals(false)); | 23 | expect(5.0.isNullOrBlank, equals(false)); |
24 | expect(0.0.isNullOrBlank, equals(false)); | 24 | expect(0.0.isNullOrBlank, equals(false)); |
25 | - }); | ||
26 | 25 | ||
27 | - test('var.isNullOrBlank on a list ', () { | ||
28 | - var list = ['foo']; | ||
29 | - expect([].isNullOrBlank, equals(true)); | ||
30 | - expect(['oi', 'foo'].isNullOrBlank, equals(false)); | ||
31 | - expect([{}, {}].isNullOrBlank, equals(false)); | ||
32 | - expect(list[0].isNullOrBlank, equals(false)); | 26 | + TestClass testClass; |
27 | + expect(testClass.isNullOrBlank, equals(true)); | ||
28 | + expect(TestClass().isNullOrBlank, equals(false)); | ||
29 | + expect(EmptyClass().isNullOrBlank, equals(false)); | ||
33 | }); | 30 | }); |
34 | 31 | ||
35 | - test('var.isNullOrBlank on a set ', () { | ||
36 | - var halogens = {'fluorine', 'chlorine', 'bromine', 'iodine', 'astatine'}; | ||
37 | - expect(<String>{}.isNullOrBlank, equals(true)); | ||
38 | - expect({'foo', 'bar'}.isNullOrBlank, equals(false)); | ||
39 | - expect(halogens.isNullOrBlank, equals(false)); | 32 | + test('isNullOrBlank should validate strings', () { |
33 | + expect("".isNullOrBlank, true); | ||
34 | + expect(" ".isNullOrBlank, true); | ||
35 | + | ||
36 | + expect("foo".isNullOrBlank, false); | ||
37 | + expect(" foo ".isNullOrBlank, false); | ||
38 | + | ||
39 | + expect("null".isNullOrBlank, false); | ||
40 | }); | 40 | }); |
41 | 41 | ||
42 | - test('var.isNullOrBlank on a map ', () { | ||
43 | - var map = {"foo": 'bar', "one": "um"}; | ||
44 | - expect({}.isNullOrBlank, equals(true)); | ||
45 | - expect({"other": "thing"}.isNullOrBlank, equals(false)); | ||
46 | - expect({'first': [], 'second': []}.isNullOrBlank, equals(false)); | ||
47 | - expect(map["foo"].isNullOrBlank, equals(false)); | ||
48 | - expect(map["other"].isNullOrBlank, equals(true)); | 42 | + test('isNullOrBlank should validate iterables', () { |
43 | + expect([].map(_id).isNullOrBlank, true); | ||
44 | + expect([1].map(_id).isNullOrBlank, false); | ||
49 | }); | 45 | }); |
50 | 46 | ||
51 | - test('var.isNullOrBlank on a function ', () { | ||
52 | - someFunction({String string, int integer}) { | ||
53 | - expect(string.isNullOrBlank, equals(false)); | ||
54 | - expect(integer.isNullOrBlank, equals(true)); | ||
55 | - } | 47 | + test('isNullOrBlank should validate lists', () { |
48 | + expect([].isNullOrBlank, true); | ||
49 | + expect(['oi', 'foo'].isNullOrBlank, false); | ||
50 | + expect([{}, {}].isNullOrBlank, false); | ||
51 | + expect(['foo'][0].isNullOrBlank, false); | ||
52 | + }); | ||
56 | 53 | ||
57 | - someFunction(string: 'some value'); | 54 | + test('isNullOrBlank should validate sets', () { |
55 | + expect((<dynamic>{}).isNullOrBlank, true); | ||
56 | + expect(({1}).isNullOrBlank, false); | ||
57 | + expect({'fluorine', 'chlorine', 'bromine'}.isNullOrBlank, false); | ||
58 | }); | 58 | }); |
59 | 59 | ||
60 | - test('var.isNullOrBlank on a class ', () { | ||
61 | - TestClass testClass; | ||
62 | - expect(TestClass().isNullOrBlank, equals(false)); | ||
63 | - expect(testClass.isNullOrBlank, equals(true)); | ||
64 | - expect(EmptyClass().isNullOrBlank, equals(false)); | 60 | + test('isNullOrBlank should validate maps', () { |
61 | + expect(({}).isNullOrBlank, true); | ||
62 | + expect(({1: 1}).isNullOrBlank, false); | ||
63 | + expect({"other": "thing"}.isNullOrBlank, false); | ||
64 | + | ||
65 | + final map = {"foo": 'bar', "one": "um"}; | ||
66 | + expect(map["foo"].isNullOrBlank, false); | ||
67 | + expect(map["other"].isNullOrBlank, true); | ||
65 | }); | 68 | }); |
66 | }); | 69 | }); |
67 | 70 |
test/src/utils/get_utils_test.dart
0 → 100644
1 | +import 'package:flutter_test/flutter_test.dart'; | ||
2 | +import 'package:get/get.dart'; | ||
3 | + | ||
4 | +// Identity util to convert to iterables | ||
5 | +dynamic _id(dynamic e) => e; | ||
6 | + | ||
7 | +void main() { | ||
8 | + // Tests for GetUtils.isNullOrBlank are located at dynamic extensions | ||
9 | + group('GetUtils.isLength* functions', () { | ||
10 | + test('isLengthEqualTo should validate iterable lengths', () { | ||
11 | + // iterables should cover list and set | ||
12 | + expect(GetUtils.isLengthEqualTo([].map(_id), 0), true); | ||
13 | + expect(GetUtils.isLengthEqualTo([1, 2].map(_id), 2), true); | ||
14 | + | ||
15 | + expect(GetUtils.isLengthEqualTo({}, 0), true); | ||
16 | + expect(GetUtils.isLengthEqualTo({1: 1, 2: 1}, 2), true); | ||
17 | + expect(GetUtils.isLengthEqualTo({}, 2), false); | ||
18 | + | ||
19 | + expect(GetUtils.isLengthEqualTo("", 0), true); | ||
20 | + expect(GetUtils.isLengthEqualTo("a", 0), false); | ||
21 | + expect(GetUtils.isLengthEqualTo("a", 1), true); | ||
22 | + }); | ||
23 | + | ||
24 | + test('isLengthGreaterOrEqual should validate lengths', () { | ||
25 | + // iterables should cover list and set | ||
26 | + expect(GetUtils.isLengthGreaterOrEqual([].map(_id), 0), true); | ||
27 | + expect(GetUtils.isLengthGreaterOrEqual([1, 2].map(_id), 2), true); | ||
28 | + expect(GetUtils.isLengthGreaterOrEqual([1, 2].map(_id), 1), true); | ||
29 | + | ||
30 | + expect(GetUtils.isLengthGreaterOrEqual({}, 0), true); | ||
31 | + expect(GetUtils.isLengthGreaterOrEqual({1: 1, 2: 1}, 1), true); | ||
32 | + expect(GetUtils.isLengthGreaterOrEqual({1: 1, 2: 1}, 2), true); | ||
33 | + expect(GetUtils.isLengthGreaterOrEqual({}, 2), false); | ||
34 | + | ||
35 | + expect(GetUtils.isLengthGreaterOrEqual("", 0), true); | ||
36 | + expect(GetUtils.isLengthGreaterOrEqual("a", 0), true); | ||
37 | + expect(GetUtils.isLengthGreaterOrEqual("", 1), false); | ||
38 | + }); | ||
39 | + | ||
40 | + test('isLengthLessOrEqual should validate lengths', () { | ||
41 | + // iterables should cover list and set | ||
42 | + expect(GetUtils.isLengthLessOrEqual([].map(_id), 0), true); | ||
43 | + expect(GetUtils.isLengthLessOrEqual([1, 2].map(_id), 2), true); | ||
44 | + expect(GetUtils.isLengthLessOrEqual([1, 2].map(_id), 1), false); | ||
45 | + | ||
46 | + expect(GetUtils.isLengthLessOrEqual({}, 0), true); | ||
47 | + expect(GetUtils.isLengthLessOrEqual({1: 1, 2: 1}, 1), false); | ||
48 | + expect(GetUtils.isLengthLessOrEqual({1: 1, 2: 1}, 3), true); | ||
49 | + expect(GetUtils.isLengthLessOrEqual({}, 2), true); | ||
50 | + | ||
51 | + expect(GetUtils.isLengthLessOrEqual("", 0), true); | ||
52 | + expect(GetUtils.isLengthLessOrEqual("a", 2), true); | ||
53 | + expect(GetUtils.isLengthLessOrEqual("a", 0), false); | ||
54 | + }); | ||
55 | + }); | ||
56 | +} |
-
Please register or login to post a comment