📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-04 00:25:08
📂
/ (Root)
/
home
/
orkouolp
/
web
/
testing.orkobd
/
laravel
/
vendor
/
nette
/
schema
/
tests
/
Schema
📍 /home/orkouolp/web/testing.orkobd/laravel/vendor/nette/schema/tests/Schema
🔄 Refresh
✏️
Editing: Expect.minmax.phpt
Writable
<?php declare(strict_types=1); use Nette\Schema\Expect; use Nette\Schema\Processor; use Tester\Assert; require __DIR__ . '/../bootstrap.php'; test('int & min', function () { $schema = Expect::int()->min(10); Assert::same(10, (new Processor)->process($schema, 10)); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 9); }, ['The item expects to be in range 10.., 9 given.']); }); test('int & max', function () { $schema = Expect::int()->max(20); Assert::same(20, (new Processor)->process($schema, 20)); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 21); }, ['The item expects to be in range ..20, 21 given.']); }); test('int & min & max', function () { $schema = Expect::int()->min(10)->max(20); Assert::same(10, (new Processor)->process($schema, 10)); Assert::same(20, (new Processor)->process($schema, 20)); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 9); }, ['The item expects to be in range 10..20, 9 given.']); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 21); }, ['The item expects to be in range 10..20, 21 given.']); }); test('nullable int & min & max', function () { $schema = Expect::int()->min(10)->max(20)->nullable(); Assert::same(null, (new Processor)->process($schema, null)); Assert::same(15, (new Processor)->process($schema, 15)); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 9); }, ['The item expects to be in range 10..20, 9 given.']); }); test('string', function () { $schema = Expect::string()->min(1)->max(5); Assert::same('hello', (new Processor)->process($schema, 'hello')); Assert::same('x', (new Processor)->process($schema, 'x')); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, ''); }, ['The length of item expects to be in range 1..5, 0 bytes given.']); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 'foobar'); }, ['The length of item expects to be in range 1..5, 6 bytes given.']); }); test('unicode', function () { $schema = Expect::unicode()->min(2)->max(4); Assert::same('žšáé', (new Processor)->process($schema, 'žšáé')); Assert::same('žš', (new Processor)->process($schema, 'žš')); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 'ž'); }, ['The length of item expects to be in range 2..4, 1 characters given.']); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, 'žšáéx'); }, ['The length of item expects to be in range 2..4, 5 characters given.']); }); test('array', function () { $schema = Expect::array()->min(1)->max(3); Assert::same([1], (new Processor)->process($schema, [1])); Assert::same([1, 2, 3], (new Processor)->process($schema, [1, 2, 3])); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, []); }, ['The length of item expects to be in range 1..3, 0 items given.']); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, [1, 2, 3, 4]); }, ['The length of item expects to be in range 1..3, 4 items given.']); }); test('structure', function () { $schema = Expect::structure([])->otherItems('int')->min(1)->max(3); Assert::equal((object) [1], (new Processor)->process($schema, [1])); Assert::equal((object) [1, 2, 3], (new Processor)->process($schema, [1, 2, 3])); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, []); }, ['The length of item expects to be in range 1..3, 0 items given.']); checkValidationErrors(function () use ($schema) { (new Processor)->process($schema, [1, 2, 3, 4]); }, ['The length of item expects to be in range 1..3, 4 items given.']); });
💾 Save Changes
❌ Cancel