<?php declare(strict_types=1); use Nette\Schema\Context; use Nette\Schema\Expect; use Nette\Schema\Processor; use Nette\Schema\Schema; use Tester\Assert; require __DIR__ . '/../bootstrap.php'; class MySchema implements Schema { public function normalize($value, Context $context) { return $value * 2; } public function merge($value, $base) { return $base . $value; } public function complete($value, Context $context) { return "'" . $value . "'"; } public function completeDefault(Context $context) { return 'def'; } } test('', function () { $schema = Expect::arrayOf(new MySchema); $processor = new Processor; Assert::same([], $processor->process($schema, [])); Assert::same(["'2'"], $processor->process($schema, [1])); Assert::same(["'2'", "'4'"], $processor->process($schema, [1, 2])); }); test('', function () { $schema = Expect::arrayOf(new MySchema); $processor = new Processor; Assert::same([], $processor->processMultiple($schema, [])); Assert::same([], $processor->processMultiple($schema, [[]])); Assert::same(["'2'"], $processor->processMultiple($schema, [[1]])); Assert::same(["'2'", "'4'"], $processor->processMultiple($schema, [[1], [2]])); Assert::same(['key' => "'24'"], $processor->processMultiple($schema, [['key' => 1], ['key' => 2]])); });
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
fixtures | Folder | 0755 |
|
|
Expect.anyOf.phpt | File | 8.17 KB | 0644 |
|
Expect.array.phpt | File | 8.14 KB | 0644 |
|
Expect.assert.phpt | File | 1.61 KB | 0644 |
|
Expect.before.phpt | File | 2.26 KB | 0644 |
|
Expect.castTo.phpt | File | 635 B | 0644 |
|
Expect.dynamic.phpt | File | 1.87 KB | 0644 |
|
Expect.from.php74.phpt | File | 906 B | 0644 |
|
Expect.from.php80.phpt | File | 951 B | 0644 |
|
Expect.from.phpt | File | 2.34 KB | 0644 |
|
Expect.list.phpt | File | 3.08 KB | 0644 |
|
Expect.minmax.phpt | File | 3.91 KB | 0644 |
|
Expect.pattern.phpt | File | 722 B | 0644 |
|
Expect.scalars.phpt | File | 2.46 KB | 0644 |
|
Expect.structure.phpt | File | 14.15 KB | 0644 |
|
Helpers.formatValue().phpt | File | 644 B | 0644 |
|
Helpers.getPropertyType.php74.phpt | File | 1.49 KB | 0644 |
|
Helpers.getPropertyType.phpt | File | 974 B | 0644 |
|
Helpers.merge.phpt | File | 2.05 KB | 0644 |
|
Helpers.parseAnnotation().phpt | File | 1.06 KB | 0644 |
|
Processor.context.phpt | File | 828 B | 0644 |
|
heterogenous.phpt | File | 1.34 KB | 0644 |
|