Passed
Branch dev (33fe06)
by Alan
10:25
created
src/AbstractRuleFactory.php 1 patch
Indentation   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -4,27 +4,27 @@
 block discarded – undo
4 4
 
5 5
 use Closure;
6 6
 use FigTree\Validation\Contracts\{
7
-	RuleInterface,
8
-	RuleFactoryInterface
7
+    RuleInterface,
8
+    RuleFactoryInterface
9 9
 };
10 10
 
11 11
 abstract class AbstractRuleFactory implements RuleFactoryInterface
12 12
 {
13
-	/**
14
-	 * Create a new Rule.
15
-	 *
16
-	 * @param int $filterType The filter type.
17
-	 * @param int $flags Bitewise set of filter flags.
18
-	 * @param array $options Filter options.
19
-	 * @param \Closure|null Callback method.
20
-	 *
21
-	 * @return \FigTree\Validation\Contracts\RuleInterface
22
-	 *
23
-	 * @see https://www.php.net/manual/en/filter.filters.php
24
-	 * @see https://www.php.net/manual/en/filter.filters.flags.php
25
-	 */
26
-	public function create(int $filterType, int $flags = 0, array $options = [], ?Closure $callback = null): RuleInterface
27
-	{
28
-		return new Rule($filterType, $flags, $options, $callback);
29
-	}
13
+    /**
14
+     * Create a new Rule.
15
+     *
16
+     * @param int $filterType The filter type.
17
+     * @param int $flags Bitewise set of filter flags.
18
+     * @param array $options Filter options.
19
+     * @param \Closure|null Callback method.
20
+     *
21
+     * @return \FigTree\Validation\Contracts\RuleInterface
22
+     *
23
+     * @see https://www.php.net/manual/en/filter.filters.php
24
+     * @see https://www.php.net/manual/en/filter.filters.flags.php
25
+     */
26
+    public function create(int $filterType, int $flags = 0, array $options = [], ?Closure $callback = null): RuleInterface
27
+    {
28
+        return new Rule($filterType, $flags, $options, $callback);
29
+    }
30 30
 }
Please login to merge, or discard this patch.
src/FilterFactory.php 1 patch
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -8,28 +8,28 @@
 block discarded – undo
8 8
 
9 9
 class FilterFactory
10 10
 {
11
-	public function __construct(protected RuleFactoryInterface $ruleFactory)
12
-	{
13
-		//
14
-	}
11
+    public function __construct(protected RuleFactoryInterface $ruleFactory)
12
+    {
13
+        //
14
+    }
15 15
 
16
-	public function create(Closure $closure)
17
-	{
18
-		$filter = new Filter($this->createRules($closure));
16
+    public function create(Closure $closure)
17
+    {
18
+        $filter = new Filter($this->createRules($closure));
19 19
 
20
-		$filter->setRuleFactory($this->ruleFactory);
20
+        $filter->setRuleFactory($this->ruleFactory);
21 21
 
22
-		return $filter;
23
-	}
22
+        return $filter;
23
+    }
24 24
 
25
-	protected function createRules(Closure $closure): array
26
-	{
27
-		$rules = $closure($this->ruleFactory);
25
+    protected function createRules(Closure $closure): array
26
+    {
27
+        $rules = $closure($this->ruleFactory);
28 28
 
29
-		if (!is_array($rules)) {
30
-			throw new UnexpectedTypeException($rules, 'array');
31
-		}
29
+        if (!is_array($rules)) {
30
+            throw new UnexpectedTypeException($rules, 'array');
31
+        }
32 32
 
33
-		return $rules;
34
-	}
33
+        return $rules;
34
+    }
35 35
 }
Please login to merge, or discard this patch.
tests/TestPrinter.php 1 patch
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -8,17 +8,17 @@
 block discarded – undo
8 8
 
9 9
 class TestPrinter extends DefaultResultPrinter
10 10
 {
11
-	protected function printDefect(TestFailure $defect, int $count): void
12
-	{
13
-		$this->printDefectHeader($defect, $count);
11
+    protected function printDefect(TestFailure $defect, int $count): void
12
+    {
13
+        $this->printDefectHeader($defect, $count);
14 14
 
15
-		$exception = $defect->thrownException();
15
+        $exception = $defect->thrownException();
16 16
 
17
-		if (!($exception instanceof Exception)) {
18
-			$this->write(sprintf('%s:%u', $exception->getFile(), $exception->getLine()));
19
-			$this->write(PHP_EOL);
20
-		}
17
+        if (!($exception instanceof Exception)) {
18
+            $this->write(sprintf('%s:%u', $exception->getFile(), $exception->getLine()));
19
+            $this->write(PHP_EOL);
20
+        }
21 21
 
22
-		$this->printDefectTrace($defect);
23
-	}
22
+        $this->printDefectTrace($defect);
23
+    }
24 24
 }
Please login to merge, or discard this patch.
tests/ValidationTest.php 2 patches
Indentation   +268 added lines, -268 removed lines patch added patch discarded remove patch
@@ -4,278 +4,278 @@
 block discarded – undo
4 4
 
5 5
 use Closure;
6 6
 use FigTree\Validation\{
7
-	Contracts\FilterInterface,
8
-	Contracts\RuleInterface,
9
-	Filter,
10
-	FilterFactory,
11
-	Rule,
12
-	RuleFactory,
7
+    Contracts\FilterInterface,
8
+    Contracts\RuleInterface,
9
+    Filter,
10
+    FilterFactory,
11
+    Rule,
12
+    RuleFactory,
13 13
 };
14 14
 use FigTree\Validation\Tests\{
15
-	AbstractTestCase,
16
-	Dummies\DummyFilter,
15
+    AbstractTestCase,
16
+    Dummies\DummyFilter,
17 17
 };
18 18
 
19 19
 class ValidationTest extends AbstractTestCase
20 20
 {
21
-	/**
22
-	 * @small
23
-	 *
24
-	 * @return void
25
-	 */
26
-	public function testFilterFactory()
27
-	{
28
-		$ruleFactory = new RuleFactory();
29
-
30
-		$filterFactory = new FilterFactory($ruleFactory);
31
-
32
-		$filter = $filterFactory->create(Closure::fromCallable(function (RuleFactory $rules) {
33
-			$rules = [
34
-				'int' => $rules->validInt(0, 10),
35
-			];
36
-
37
-			return $rules;
38
-		}));
39
-
40
-		$this->assertInstanceOf(Filter::class, $filter);
41
-	}
42
-
43
-	/**
44
-	 * @small
45
-	 *
46
-	 * @return void
47
-	 */
48
-	public function testFilter()
49
-	{
50
-		$filter = new DummyFilter();
51
-
52
-		$filter->setRuleFactory(new RuleFactory());
53
-
54
-		$this->assertInstanceOf(FilterInterface::class, $filter);
55
-
56
-		$rules = $filter->getRules();
57
-
58
-		$this->assertIsArray($rules);
59
-
60
-		foreach ($rules as $field => $rule) {
61
-			$this->assertIsString($field);
62
-			$this->assertInstanceOf(RuleInterface::class, $rule);
63
-
64
-			$definition = $rule->toArray();
65
-
66
-			$this->assertIsArray($definition);
67
-		}
68
-	}
69
-
70
-	/**
71
-	 * @medium
72
-	 */
73
-	public function testFilterRules()
74
-	{
75
-		$filter = new DummyFilter();
76
-
77
-		$filter->setRuleFactory(new RuleFactory());
78
-
79
-		$rules = $filter->getRules();
80
-
81
-		$expected = [
82
-			'filter' => FILTER_VALIDATE_BOOL,
83
-			'flags' => FILTER_NULL_ON_FAILURE,
84
-		];
85
-
86
-		$this->assertEquals(new Rule(FILTER_VALIDATE_BOOL, FILTER_NULL_ON_FAILURE), $rules['test_valid_bool']);
87
-		$this->assertEquals($expected, $rules['test_valid_bool']->toArray());
88
-
89
-		$expected = [
90
-			'filter' => FILTER_VALIDATE_DOMAIN,
91
-		];
92
-
93
-		$this->assertEquals(new Rule(FILTER_VALIDATE_DOMAIN), $rules['test_valid_domain']);
94
-		$this->assertEquals($expected, $rules['test_valid_domain']->toArray());
95
-
96
-		$expected = [
97
-			'filter' => FILTER_VALIDATE_EMAIL,
98
-		];
99
-
100
-		$this->assertEquals(new Rule(FILTER_VALIDATE_EMAIL), $rules['test_valid_email']);
101
-		$this->assertEquals($expected, $rules['test_valid_email']->toArray());
102
-
103
-		$expected = [
104
-			'filter' => FILTER_VALIDATE_FLOAT,
105
-			'options' => [
106
-				'min_range' => -100,
107
-				'max_range' => 100,
108
-				'decimal' => 2,
109
-			]
110
-		];
111
-
112
-		$this->assertEquals(
113
-			new Rule(FILTER_VALIDATE_FLOAT, 0, ['min_range' => -100, 'max_range' => 100, 'decimal' => 2]),
114
-			$rules['test_valid_float']
115
-		);
116
-		$this->assertEquals($expected, $rules['test_valid_float']->toArray());
117
-
118
-		$expected = [
119
-			'filter' => FILTER_VALIDATE_INT,
120
-			'options' => [
121
-				'min_range' => -100,
122
-				'max_range' => 100,
123
-			]
124
-		];
125
-
126
-		$this->assertEquals(
127
-			new Rule(FILTER_VALIDATE_INT, 0, ['min_range' => -100, 'max_range' => 100]),
128
-			$rules['test_valid_int']
129
-		);
130
-		$this->assertEquals($expected, $rules['test_valid_int']->toArray());
131
-
132
-		$expected = [
133
-			'filter' => FILTER_VALIDATE_IP,
134
-		];
135
-
136
-		$this->assertEquals(new Rule(FILTER_VALIDATE_IP), $rules['test_valid_ip_address']);
137
-		$this->assertEquals($expected, $rules['test_valid_ip_address']->toArray());
138
-
139
-		$expected = [
140
-			'filter' => FILTER_VALIDATE_MAC,
141
-		];
142
-
143
-		$this->assertEquals(new Rule(FILTER_VALIDATE_MAC), $rules['test_valid_mac_address']);
144
-		$this->assertEquals($expected, $rules['test_valid_mac_address']->toArray());
145
-
146
-		$expected = [
147
-			'filter' => FILTER_VALIDATE_REGEXP,
148
-			'options' => [
149
-				'regexp' => '/^valid value$/i',
150
-			]
151
-		];
152
-
153
-		$this->assertEquals(
154
-			new Rule(FILTER_VALIDATE_REGEXP, 0, ['regexp' => '/^valid value$/i']),
155
-			$rules['test_valid_regexp']
156
-		);
157
-		$this->assertEquals($expected, $rules['test_valid_regexp']->toArray());
158
-
159
-		$expected = [
160
-			'filter' => FILTER_SANITIZE_ADD_SLASHES,
161
-		];
162
-
163
-		$this->assertEquals(
164
-			new Rule(FILTER_SANITIZE_ADD_SLASHES),
165
-			$rules['test_add_slashes']
166
-		);
167
-		$this->assertEquals($expected, $rules['test_add_slashes']->toArray());
168
-
169
-		$expected = [
170
-			'filter' => FILTER_SANITIZE_EMAIL,
171
-		];
172
-
173
-		$this->assertEquals(
174
-			new Rule(FILTER_SANITIZE_EMAIL),
175
-			$rules['test_clean_email']
176
-		);
177
-		$this->assertEquals($expected, $rules['test_clean_email']->toArray());
178
-
179
-		$expected = [
180
-			'filter' => FILTER_SANITIZE_ENCODED,
181
-		];
182
-
183
-		$this->assertEquals(
184
-			new Rule(FILTER_SANITIZE_ENCODED),
185
-			$rules['test_clean_encoded']
186
-		);
187
-		$this->assertEquals($expected, $rules['test_clean_encoded']->toArray());
188
-
189
-		$expected = [
190
-			'filter' => FILTER_SANITIZE_NUMBER_FLOAT,
191
-		];
192
-
193
-		$this->assertEquals(
194
-			new Rule(FILTER_SANITIZE_NUMBER_FLOAT),
195
-			$rules['test_clean_float']
196
-		);
197
-		$this->assertEquals($expected, $rules['test_clean_float']->toArray());
198
-
199
-		$expected = [
200
-			'filter' => FILTER_SANITIZE_FULL_SPECIAL_CHARS,
201
-		];
202
-
203
-		$this->assertEquals(
204
-			new Rule(FILTER_SANITIZE_FULL_SPECIAL_CHARS),
205
-			$rules['test_clean_full_special_chars']
206
-		);
207
-		$this->assertEquals($expected, $rules['test_clean_full_special_chars']->toArray());
208
-
209
-		$expected = [
210
-			'filter' => FILTER_SANITIZE_NUMBER_INT,
211
-		];
212
-
213
-		$this->assertEquals(
214
-			new Rule(FILTER_SANITIZE_NUMBER_INT),
215
-			$rules['test_clean_int']
216
-		);
217
-		$this->assertEquals($expected, $rules['test_clean_int']->toArray());
218
-
219
-		$expected = [
220
-			'filter' => FILTER_SANITIZE_SPECIAL_CHARS,
221
-		];
222
-
223
-		$this->assertEquals(
224
-			new Rule(FILTER_SANITIZE_SPECIAL_CHARS),
225
-			$rules['test_clean_special_chars']
226
-		);
227
-		$this->assertEquals($expected, $rules['test_clean_special_chars']->toArray());
228
-
229
-		$expected = [
230
-			'filter' => FILTER_SANITIZE_STRING,
231
-		];
232
-
233
-		$this->assertEquals(
234
-			new Rule(FILTER_SANITIZE_STRING),
235
-			$rules['test_clean_string']
236
-		);
237
-		$this->assertEquals($expected, $rules['test_clean_string']->toArray());
238
-
239
-		$expected = [
240
-			'filter' => FILTER_UNSAFE_RAW,
241
-		];
242
-
243
-		$this->assertEquals(
244
-			new Rule(FILTER_UNSAFE_RAW),
245
-			$rules['test_clean_unsafe']
246
-		);
247
-		$this->assertEquals($expected, $rules['test_clean_unsafe']->toArray());
248
-
249
-		$expected = [
250
-			'filter' => FILTER_SANITIZE_URL,
251
-		];
252
-
253
-		$this->assertEquals(
254
-			new Rule(FILTER_SANITIZE_URL),
255
-			$rules['test_clean_url']
256
-		);
257
-		$this->assertEquals($expected, $rules['test_clean_url']->toArray());
258
-
259
-		$expected = [
260
-			'filter' => FILTER_CALLBACK,
261
-			'options' => Closure::fromCallable('trim'),
262
-		];
263
-
264
-		$this->assertEquals(
265
-			(new Rule(FILTER_CALLBACK))->setCallback(Closure::fromCallable('trim')),
266
-			$rules['test_callable']
267
-		);
268
-		$this->assertEquals($expected, $rules['test_callable']->toArray());
269
-
270
-		$expected = [
271
-			'filter' => FILTER_CALLBACK,
272
-			'options' => $filter->mult(2),
273
-		];
274
-
275
-		$this->assertEquals(
276
-			(new Rule(FILTER_CALLBACK))->setCallback($filter->mult(2)),
277
-			$rules['test_closure']
278
-		);
279
-		$this->assertEquals($expected, $rules['test_closure']->toArray());
280
-	}
21
+    /**
22
+     * @small
23
+     *
24
+     * @return void
25
+     */
26
+    public function testFilterFactory()
27
+    {
28
+        $ruleFactory = new RuleFactory();
29
+
30
+        $filterFactory = new FilterFactory($ruleFactory);
31
+
32
+        $filter = $filterFactory->create(Closure::fromCallable(function (RuleFactory $rules) {
33
+            $rules = [
34
+                'int' => $rules->validInt(0, 10),
35
+            ];
36
+
37
+            return $rules;
38
+        }));
39
+
40
+        $this->assertInstanceOf(Filter::class, $filter);
41
+    }
42
+
43
+    /**
44
+     * @small
45
+     *
46
+     * @return void
47
+     */
48
+    public function testFilter()
49
+    {
50
+        $filter = new DummyFilter();
51
+
52
+        $filter->setRuleFactory(new RuleFactory());
53
+
54
+        $this->assertInstanceOf(FilterInterface::class, $filter);
55
+
56
+        $rules = $filter->getRules();
57
+
58
+        $this->assertIsArray($rules);
59
+
60
+        foreach ($rules as $field => $rule) {
61
+            $this->assertIsString($field);
62
+            $this->assertInstanceOf(RuleInterface::class, $rule);
63
+
64
+            $definition = $rule->toArray();
65
+
66
+            $this->assertIsArray($definition);
67
+        }
68
+    }
69
+
70
+    /**
71
+     * @medium
72
+     */
73
+    public function testFilterRules()
74
+    {
75
+        $filter = new DummyFilter();
76
+
77
+        $filter->setRuleFactory(new RuleFactory());
78
+
79
+        $rules = $filter->getRules();
80
+
81
+        $expected = [
82
+            'filter' => FILTER_VALIDATE_BOOL,
83
+            'flags' => FILTER_NULL_ON_FAILURE,
84
+        ];
85
+
86
+        $this->assertEquals(new Rule(FILTER_VALIDATE_BOOL, FILTER_NULL_ON_FAILURE), $rules['test_valid_bool']);
87
+        $this->assertEquals($expected, $rules['test_valid_bool']->toArray());
88
+
89
+        $expected = [
90
+            'filter' => FILTER_VALIDATE_DOMAIN,
91
+        ];
92
+
93
+        $this->assertEquals(new Rule(FILTER_VALIDATE_DOMAIN), $rules['test_valid_domain']);
94
+        $this->assertEquals($expected, $rules['test_valid_domain']->toArray());
95
+
96
+        $expected = [
97
+            'filter' => FILTER_VALIDATE_EMAIL,
98
+        ];
99
+
100
+        $this->assertEquals(new Rule(FILTER_VALIDATE_EMAIL), $rules['test_valid_email']);
101
+        $this->assertEquals($expected, $rules['test_valid_email']->toArray());
102
+
103
+        $expected = [
104
+            'filter' => FILTER_VALIDATE_FLOAT,
105
+            'options' => [
106
+                'min_range' => -100,
107
+                'max_range' => 100,
108
+                'decimal' => 2,
109
+            ]
110
+        ];
111
+
112
+        $this->assertEquals(
113
+            new Rule(FILTER_VALIDATE_FLOAT, 0, ['min_range' => -100, 'max_range' => 100, 'decimal' => 2]),
114
+            $rules['test_valid_float']
115
+        );
116
+        $this->assertEquals($expected, $rules['test_valid_float']->toArray());
117
+
118
+        $expected = [
119
+            'filter' => FILTER_VALIDATE_INT,
120
+            'options' => [
121
+                'min_range' => -100,
122
+                'max_range' => 100,
123
+            ]
124
+        ];
125
+
126
+        $this->assertEquals(
127
+            new Rule(FILTER_VALIDATE_INT, 0, ['min_range' => -100, 'max_range' => 100]),
128
+            $rules['test_valid_int']
129
+        );
130
+        $this->assertEquals($expected, $rules['test_valid_int']->toArray());
131
+
132
+        $expected = [
133
+            'filter' => FILTER_VALIDATE_IP,
134
+        ];
135
+
136
+        $this->assertEquals(new Rule(FILTER_VALIDATE_IP), $rules['test_valid_ip_address']);
137
+        $this->assertEquals($expected, $rules['test_valid_ip_address']->toArray());
138
+
139
+        $expected = [
140
+            'filter' => FILTER_VALIDATE_MAC,
141
+        ];
142
+
143
+        $this->assertEquals(new Rule(FILTER_VALIDATE_MAC), $rules['test_valid_mac_address']);
144
+        $this->assertEquals($expected, $rules['test_valid_mac_address']->toArray());
145
+
146
+        $expected = [
147
+            'filter' => FILTER_VALIDATE_REGEXP,
148
+            'options' => [
149
+                'regexp' => '/^valid value$/i',
150
+            ]
151
+        ];
152
+
153
+        $this->assertEquals(
154
+            new Rule(FILTER_VALIDATE_REGEXP, 0, ['regexp' => '/^valid value$/i']),
155
+            $rules['test_valid_regexp']
156
+        );
157
+        $this->assertEquals($expected, $rules['test_valid_regexp']->toArray());
158
+
159
+        $expected = [
160
+            'filter' => FILTER_SANITIZE_ADD_SLASHES,
161
+        ];
162
+
163
+        $this->assertEquals(
164
+            new Rule(FILTER_SANITIZE_ADD_SLASHES),
165
+            $rules['test_add_slashes']
166
+        );
167
+        $this->assertEquals($expected, $rules['test_add_slashes']->toArray());
168
+
169
+        $expected = [
170
+            'filter' => FILTER_SANITIZE_EMAIL,
171
+        ];
172
+
173
+        $this->assertEquals(
174
+            new Rule(FILTER_SANITIZE_EMAIL),
175
+            $rules['test_clean_email']
176
+        );
177
+        $this->assertEquals($expected, $rules['test_clean_email']->toArray());
178
+
179
+        $expected = [
180
+            'filter' => FILTER_SANITIZE_ENCODED,
181
+        ];
182
+
183
+        $this->assertEquals(
184
+            new Rule(FILTER_SANITIZE_ENCODED),
185
+            $rules['test_clean_encoded']
186
+        );
187
+        $this->assertEquals($expected, $rules['test_clean_encoded']->toArray());
188
+
189
+        $expected = [
190
+            'filter' => FILTER_SANITIZE_NUMBER_FLOAT,
191
+        ];
192
+
193
+        $this->assertEquals(
194
+            new Rule(FILTER_SANITIZE_NUMBER_FLOAT),
195
+            $rules['test_clean_float']
196
+        );
197
+        $this->assertEquals($expected, $rules['test_clean_float']->toArray());
198
+
199
+        $expected = [
200
+            'filter' => FILTER_SANITIZE_FULL_SPECIAL_CHARS,
201
+        ];
202
+
203
+        $this->assertEquals(
204
+            new Rule(FILTER_SANITIZE_FULL_SPECIAL_CHARS),
205
+            $rules['test_clean_full_special_chars']
206
+        );
207
+        $this->assertEquals($expected, $rules['test_clean_full_special_chars']->toArray());
208
+
209
+        $expected = [
210
+            'filter' => FILTER_SANITIZE_NUMBER_INT,
211
+        ];
212
+
213
+        $this->assertEquals(
214
+            new Rule(FILTER_SANITIZE_NUMBER_INT),
215
+            $rules['test_clean_int']
216
+        );
217
+        $this->assertEquals($expected, $rules['test_clean_int']->toArray());
218
+
219
+        $expected = [
220
+            'filter' => FILTER_SANITIZE_SPECIAL_CHARS,
221
+        ];
222
+
223
+        $this->assertEquals(
224
+            new Rule(FILTER_SANITIZE_SPECIAL_CHARS),
225
+            $rules['test_clean_special_chars']
226
+        );
227
+        $this->assertEquals($expected, $rules['test_clean_special_chars']->toArray());
228
+
229
+        $expected = [
230
+            'filter' => FILTER_SANITIZE_STRING,
231
+        ];
232
+
233
+        $this->assertEquals(
234
+            new Rule(FILTER_SANITIZE_STRING),
235
+            $rules['test_clean_string']
236
+        );
237
+        $this->assertEquals($expected, $rules['test_clean_string']->toArray());
238
+
239
+        $expected = [
240
+            'filter' => FILTER_UNSAFE_RAW,
241
+        ];
242
+
243
+        $this->assertEquals(
244
+            new Rule(FILTER_UNSAFE_RAW),
245
+            $rules['test_clean_unsafe']
246
+        );
247
+        $this->assertEquals($expected, $rules['test_clean_unsafe']->toArray());
248
+
249
+        $expected = [
250
+            'filter' => FILTER_SANITIZE_URL,
251
+        ];
252
+
253
+        $this->assertEquals(
254
+            new Rule(FILTER_SANITIZE_URL),
255
+            $rules['test_clean_url']
256
+        );
257
+        $this->assertEquals($expected, $rules['test_clean_url']->toArray());
258
+
259
+        $expected = [
260
+            'filter' => FILTER_CALLBACK,
261
+            'options' => Closure::fromCallable('trim'),
262
+        ];
263
+
264
+        $this->assertEquals(
265
+            (new Rule(FILTER_CALLBACK))->setCallback(Closure::fromCallable('trim')),
266
+            $rules['test_callable']
267
+        );
268
+        $this->assertEquals($expected, $rules['test_callable']->toArray());
269
+
270
+        $expected = [
271
+            'filter' => FILTER_CALLBACK,
272
+            'options' => $filter->mult(2),
273
+        ];
274
+
275
+        $this->assertEquals(
276
+            (new Rule(FILTER_CALLBACK))->setCallback($filter->mult(2)),
277
+            $rules['test_closure']
278
+        );
279
+        $this->assertEquals($expected, $rules['test_closure']->toArray());
280
+    }
281 281
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@
 block discarded – undo
29 29
 
30 30
 		$filterFactory = new FilterFactory($ruleFactory);
31 31
 
32
-		$filter = $filterFactory->create(Closure::fromCallable(function (RuleFactory $rules) {
32
+		$filter = $filterFactory->create(Closure::fromCallable(function(RuleFactory $rules) {
33 33
 			$rules = [
34 34
 				'int' => $rules->validInt(0, 10),
35 35
 			];
Please login to merge, or discard this patch.
tests/AbstractTestCase.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -6,5 +6,5 @@
 block discarded – undo
6 6
 
7 7
 abstract class AbstractTestCase extends TestCase
8 8
 {
9
-	//
9
+    //
10 10
 }
Please login to merge, or discard this patch.
tests/Dummies/DummyFilter.php 2 patches
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -6,41 +6,41 @@
 block discarded – undo
6 6
 
7 7
 class DummyFilter extends AbstractFilter
8 8
 {
9
-	public function getRules(): array
10
-	{
11
-		/**
12
-		 * @var \FigTree\Validation\RuleFactory
13
-		 */
14
-		$rules = $this->ruleFactory;
9
+    public function getRules(): array
10
+    {
11
+        /**
12
+         * @var \FigTree\Validation\RuleFactory
13
+         */
14
+        $rules = $this->ruleFactory;
15 15
 
16
-		return [
17
-			'test_valid_bool' => $rules->validBool(),
18
-			'test_valid_domain' => $rules->validDomain(),
19
-			'test_valid_email' => $rules->validEmail(),
20
-			'test_valid_float' => $rules->validFloat(-100, 100, 2),
21
-			'test_valid_int' => $rules->validInt(-100, 100),
22
-			'test_valid_ip_address' => $rules->validIpAddress(),
23
-			'test_valid_mac_address' => $rules->validMacAddress(),
24
-			'test_valid_regexp' => $rules->validRegExp('/^valid value$/i'),
16
+        return [
17
+            'test_valid_bool' => $rules->validBool(),
18
+            'test_valid_domain' => $rules->validDomain(),
19
+            'test_valid_email' => $rules->validEmail(),
20
+            'test_valid_float' => $rules->validFloat(-100, 100, 2),
21
+            'test_valid_int' => $rules->validInt(-100, 100),
22
+            'test_valid_ip_address' => $rules->validIpAddress(),
23
+            'test_valid_mac_address' => $rules->validMacAddress(),
24
+            'test_valid_regexp' => $rules->validRegExp('/^valid value$/i'),
25 25
 
26
-			'test_add_slashes' => $rules->addSlashes(),
27
-			'test_clean_email' => $rules->cleanEmail(),
28
-			'test_clean_encoded' => $rules->cleanEncodedString(),
29
-			'test_clean_float' => $rules->cleanFloat(),
30
-			'test_clean_full_special_chars' => $rules->cleanFullSpecialChars(),
31
-			'test_clean_int' => $rules->cleanInt(),
32
-			'test_clean_special_chars' => $rules->cleanSpecialChars(),
33
-			'test_clean_string' => $rules->cleanString(),
34
-			'test_clean_unsafe' => $rules->cleanUnsafe(),
35
-			'test_clean_url' => $rules->cleanUrl(),
26
+            'test_add_slashes' => $rules->addSlashes(),
27
+            'test_clean_email' => $rules->cleanEmail(),
28
+            'test_clean_encoded' => $rules->cleanEncodedString(),
29
+            'test_clean_float' => $rules->cleanFloat(),
30
+            'test_clean_full_special_chars' => $rules->cleanFullSpecialChars(),
31
+            'test_clean_int' => $rules->cleanInt(),
32
+            'test_clean_special_chars' => $rules->cleanSpecialChars(),
33
+            'test_clean_string' => $rules->cleanString(),
34
+            'test_clean_unsafe' => $rules->cleanUnsafe(),
35
+            'test_clean_url' => $rules->cleanUrl(),
36 36
 
37
-			'test_callable' => $rules->withCallable('trim'),
38
-			'test_closure' => $rules->withClosure($this->mult(2)),
39
-		];
40
-	}
37
+            'test_callable' => $rules->withCallable('trim'),
38
+            'test_closure' => $rules->withClosure($this->mult(2)),
39
+        ];
40
+    }
41 41
 
42
-	public function mult(int $factor)
43
-	{
44
-		return fn ($value) => intval($value) * $factor;
45
-	}
42
+    public function mult(int $factor)
43
+    {
44
+        return fn ($value) => intval($value) * $factor;
45
+    }
46 46
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -41,6 +41,6 @@
 block discarded – undo
41 41
 
42 42
 	public function mult(int $factor)
43 43
 	{
44
-		return fn ($value) => intval($value) * $factor;
44
+		return fn($value) => intval($value) * $factor;
45 45
 	}
46 46
 }
Please login to merge, or discard this patch.