/** * Test Multiple Select Validation * * @return void */ public function testMultiple() { $this->assertTrue(Validation::multiple([0, 1, 2, 3])); $this->assertTrue(Validation::multiple([50, 32, 22, 0])); $this->assertTrue(Validation::multiple(['str', 'var', 'enum', 0])); $this->assertFalse(Validation::multiple('')); $this->assertFalse(Validation::multiple(null)); $this->assertFalse(Validation::multiple([])); $this->assertTrue(Validation::multiple([0])); $this->assertTrue(Validation::multiple(['0'])); $this->assertTrue(Validation::multiple([0, 3, 4, 5], ['in' => range(0, 10)])); $this->assertFalse(Validation::multiple([0, 15, 20, 5], ['in' => range(0, 10)])); $this->assertFalse(Validation::multiple([0, 5, 10, 11], ['in' => range(0, 10)])); $this->assertFalse(Validation::multiple(['boo', 'foo', 'bar'], ['in' => ['foo', 'bar', 'baz']])); $this->assertFalse(Validation::multiple(['foo', '1bar'], ['in' => range(0, 10)])); $this->assertFalse(Validation::multiple([1, 5, 10, 11], ['max' => 3])); $this->assertTrue(Validation::multiple([0, 5, 10, 11], ['max' => 4])); $this->assertFalse(Validation::multiple([0, 5, 10, 11, 55], ['max' => 4])); $this->assertTrue(Validation::multiple(['foo', 'bar', 'baz'], ['max' => 3])); $this->assertFalse(Validation::multiple(['foo', 'bar', 'baz', 'squirrel'], ['max' => 3])); $this->assertTrue(Validation::multiple([0, 5, 10, 11], ['min' => 3])); $this->assertTrue(Validation::multiple([0, 5, 10, 11, 55], ['min' => 3])); $this->assertFalse(Validation::multiple(['foo', 'bar', 'baz'], ['min' => 5])); $this->assertFalse(Validation::multiple(['foo', 'bar', 'baz', 'squirrel'], ['min' => 10])); $this->assertTrue(Validation::multiple([0, 5, 9], ['in' => range(0, 10), 'max' => 5])); $this->assertTrue(Validation::multiple(['0', '5', '9'], ['in' => range(0, 10), 'max' => 5])); $this->assertFalse(Validation::multiple([0, 5, 9, 8, 6, 2, 1], ['in' => range(0, 10), 'max' => 5])); $this->assertFalse(Validation::multiple([0, 5, 9, 8, 11], ['in' => range(0, 10), 'max' => 5])); $this->assertTrue(Validation::multiple([0, 5, 9], ['in' => range(0, 10), 'max' => 5, 'min' => 3])); $this->assertFalse(Validation::multiple(['', '5', '9'], ['max' => 5, 'min' => 3])); $this->assertFalse(Validation::multiple([0, 5, 9, 8, 6, 2, 1], ['in' => range(0, 10), 'max' => 5, 'min' => 2])); $this->assertFalse(Validation::multiple([0, 5, 9, 8, 11], ['in' => range(0, 10), 'max' => 5, 'min' => 2])); $this->assertFalse(Validation::multiple(['2x', '3x'], ['in' => [1, 2, 3, 4, 5]])); $this->assertFalse(Validation::multiple([2, 3], ['in' => ['1x', '2x', '3x', '4x']])); $this->assertFalse(Validation::multiple(['one'], ['in' => ['One', 'Two']])); $this->assertFalse(Validation::multiple(['Two'], ['in' => ['one', 'two']])); // case insensitive $this->assertTrue(Validation::multiple(['one'], ['in' => ['One', 'Two']], true)); $this->assertTrue(Validation::multiple(['Two'], ['in' => ['one', 'two']], true)); $this->assertFalse(Validation::multiple(['three'], ['in' => ['one', 'two']], true)); }
/** * Test Multiple Select Validation * * @return void */ public function testMultiple() { $this->assertTrue(Validation::multiple(array(0, 1, 2, 3))); $this->assertTrue(Validation::multiple(array(50, 32, 22, 0))); $this->assertTrue(Validation::multiple(array('str', 'var', 'enum', 0))); $this->assertFalse(Validation::multiple('')); $this->assertFalse(Validation::multiple(null)); $this->assertFalse(Validation::multiple(array())); $this->assertFalse(Validation::multiple(array(0))); $this->assertFalse(Validation::multiple(array('0'))); $this->assertTrue(Validation::multiple(array(0, 3, 4, 5), array('in' => range(0, 10)))); $this->assertFalse(Validation::multiple(array(0, 15, 20, 5), array('in' => range(0, 10)))); $this->assertFalse(Validation::multiple(array(0, 5, 10, 11), array('in' => range(0, 10)))); $this->assertFalse(Validation::multiple(array('boo', 'foo', 'bar'), array('in' => array('foo', 'bar', 'baz')))); $this->assertFalse(Validation::multiple(array('foo', '1bar'), array('in' => range(0, 10)))); $this->assertTrue(Validation::multiple(array(0, 5, 10, 11), array('max' => 3))); $this->assertFalse(Validation::multiple(array(0, 5, 10, 11, 55), array('max' => 3))); $this->assertTrue(Validation::multiple(array('foo', 'bar', 'baz'), array('max' => 3))); $this->assertFalse(Validation::multiple(array('foo', 'bar', 'baz', 'squirrel'), array('max' => 3))); $this->assertTrue(Validation::multiple(array(0, 5, 10, 11), array('min' => 3))); $this->assertTrue(Validation::multiple(array(0, 5, 10, 11, 55), array('min' => 3))); $this->assertFalse(Validation::multiple(array('foo', 'bar', 'baz'), array('min' => 5))); $this->assertFalse(Validation::multiple(array('foo', 'bar', 'baz', 'squirrel'), array('min' => 10))); $this->assertTrue(Validation::multiple(array(0, 5, 9), array('in' => range(0, 10), 'max' => 5))); $this->assertTrue(Validation::multiple(array('0', '5', '9'), array('in' => range(0, 10), 'max' => 5))); $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 6, 2, 1), array('in' => range(0, 10), 'max' => 5))); $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 11), array('in' => range(0, 10), 'max' => 5))); $this->assertFalse(Validation::multiple(array(0, 5, 9), array('in' => range(0, 10), 'max' => 5, 'min' => 3))); $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 6, 2, 1), array('in' => range(0, 10), 'max' => 5, 'min' => 2))); $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 11), array('in' => range(0, 10), 'max' => 5, 'min' => 2))); $this->assertFalse(Validation::multiple(array('2x', '3x'), array('in' => array(1, 2, 3, 4, 5)))); $this->assertFalse(Validation::multiple(array(2, 3), array('in' => array('1x', '2x', '3x', '4x')))); $this->assertFalse(Validation::multiple(array('one'), array('in' => array('One', 'Two')))); $this->assertFalse(Validation::multiple(array('Two'), array('in' => array('one', 'two')))); // case insensitive $this->assertTrue(Validation::multiple(array('one'), array('in' => array('One', 'Two')), true)); $this->assertTrue(Validation::multiple(array('Two'), array('in' => array('one', 'two')), true)); $this->assertFalse(Validation::multiple(array('three'), array('in' => array('one', 'two')), true)); }