From 60e082bdda60912fb288c23a44641d544f08a42c Mon Sep 17 00:00:00 2001 From: chinpei215 Date: Wed, 26 Jul 2017 23:29:49 +0900 Subject: [PATCH] Add a note and more tests for Validation::isScalar() --- src/Validation/Validation.php | 3 +++ tests/TestCase/Validation/ValidationTest.php | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Validation/Validation.php b/src/Validation/Validation.php index 53b95b4d2da..e6395467041 100644 --- a/src/Validation/Validation.php +++ b/src/Validation/Validation.php @@ -1426,6 +1426,9 @@ public static function isArray($value) /** * Check that the input value is a scalar. * + * This method will accept integers, floats, strings and booleans, but + * not accept arrays, objects, resources and nulls. + * * @param mixed $value The value to check * @return bool */ diff --git a/tests/TestCase/Validation/ValidationTest.php b/tests/TestCase/Validation/ValidationTest.php index 3f0ecfec553..62b4f83fc34 100644 --- a/tests/TestCase/Validation/ValidationTest.php +++ b/tests/TestCase/Validation/ValidationTest.php @@ -2886,8 +2886,13 @@ public function testIsArray() public function testIsScalar() { $this->assertTrue(Validation::isScalar(1)); + $this->assertTrue(Validation::isScalar(0.0)); $this->assertTrue(Validation::isScalar('')); + $this->assertTrue(Validation::isScalar(true)); $this->assertFalse(Validation::isScalar([1])); + $this->assertFalse(Validation::isScalar(new stdClass())); + $this->assertFalse(Validation::isScalar(STDOUT)); + $this->assertFalse(Validation::isScalar(null)); } /** @@ -3009,7 +3014,7 @@ public function testNumElements() }; $this->assertFalse(Validation::numElements(null, '==', 0)); - $this->assertFalse(Validation::numElements(new \stdClass(), '==', 0)); + $this->assertFalse(Validation::numElements(new stdClass(), '==', 0)); $this->assertFalse(Validation::numElements($callable, '==', 0)); $this->assertFalse(Validation::numElements(false, '==', 0)); $this->assertFalse(Validation::numElements(true, '==', 0));