|
|
@@ -2566,7 +2566,7 @@ class ValidationTest extends TestCase
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Test is_integer
|
|
|
+ * Test isInteger
|
|
|
*
|
|
|
* @return void
|
|
|
*/
|
|
|
@@ -2584,4 +2584,86 @@ class ValidationTest extends TestCase
|
|
|
$this->assertFalse(Validation::isInteger(new \StdClass));
|
|
|
$this->assertFalse(Validation::isInteger('2 bears'));
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Test ascii
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testAscii()
|
|
|
+ {
|
|
|
+ $this->assertTrue(Validation::ascii('1 big blue bus.'));
|
|
|
+ $this->assertTrue(Validation::ascii(',.<>[]{;/?\)()'));
|
|
|
+
|
|
|
+ $this->assertFalse(Validation::ascii([]));
|
|
|
+ $this->assertFalse(Validation::ascii(1001));
|
|
|
+ $this->assertFalse(Validation::ascii(3.14));
|
|
|
+ $this->assertFalse(Validation::ascii(new \StdClass));
|
|
|
+
|
|
|
+ // Latin-1 supplement
|
|
|
+ $this->assertFalse(Validation::ascii('some' . "\xc2\x82" . 'value'));
|
|
|
+ $this->assertFalse(Validation::ascii('some' . "\xc3\xbf" . 'value'));
|
|
|
+
|
|
|
+ // End of BMP
|
|
|
+ $this->assertFalse(Validation::ascii('some' . "\xef\xbf\xbd" . 'value'));
|
|
|
+
|
|
|
+ // Start of supplementary multilingual plane
|
|
|
+ $this->assertFalse(Validation::ascii('some' . "\xf0\x90\x80\x80" . 'value'));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Test utf8 basic
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testUtf8Basic()
|
|
|
+ {
|
|
|
+ $this->assertFalse(Validation::utf8([]));
|
|
|
+ $this->assertFalse(Validation::utf8(1001));
|
|
|
+ $this->assertFalse(Validation::utf8(3.14));
|
|
|
+ $this->assertFalse(Validation::utf8(new \StdClass));
|
|
|
+ $this->assertTrue(Validation::utf8('1 big blue bus.'));
|
|
|
+ $this->assertTrue(Validation::utf8(',.<>[]{;/?\)()'));
|
|
|
+
|
|
|
+ // Latin-1 supplement
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xc2\x82" . 'value'));
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xc3\xbf" . 'value'));
|
|
|
+
|
|
|
+ // End of BMP
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xef\xbf\xbd" . 'value'));
|
|
|
+
|
|
|
+ // Start of supplementary multilingual plane
|
|
|
+ $this->assertFalse(Validation::utf8('some' . "\xf0\x90\x80\x80" . 'value'));
|
|
|
+
|
|
|
+ // Grinning face
|
|
|
+ $this->assertFalse(Validation::utf8('some' . "\xf0\x9f\x98\x80" . 'value'));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Test utf8 extended
|
|
|
+ *
|
|
|
+ * @return void
|
|
|
+ */
|
|
|
+ public function testUtf8Extended()
|
|
|
+ {
|
|
|
+ $this->assertFalse(Validation::utf8([], ['extended' => true]));
|
|
|
+ $this->assertFalse(Validation::utf8(1001, ['extended' => true]));
|
|
|
+ $this->assertFalse(Validation::utf8(3.14, ['extended' => true]));
|
|
|
+ $this->assertFalse(Validation::utf8(new \StdClass, ['extended' => true]));
|
|
|
+ $this->assertTrue(Validation::utf8('1 big blue bus.', ['extended' => true]));
|
|
|
+ $this->assertTrue(Validation::utf8(',.<>[]{;/?\)()', ['extended' => true]));
|
|
|
+
|
|
|
+ // Latin-1 supplement
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xc2\x82" . 'value', ['extended' => true]));
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xc3\xbf" . 'value', ['extended' => true]));
|
|
|
+
|
|
|
+ // End of BMP
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xef\xbf\xbd" . 'value', ['extended' => true]));
|
|
|
+
|
|
|
+ // Start of supplementary multilingual plane
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xf0\x90\x80\x80" . 'value', ['extended' => true]));
|
|
|
+
|
|
|
+ // Grinning face
|
|
|
+ $this->assertTrue(Validation::utf8('some' . "\xf0\x9f\x98\x80" . 'value', ['extended' => true]));
|
|
|
+ }
|
|
|
}
|