public function testCompare()
{
$backup = error_reporting();
error_reporting(E_ALL);
$this->assertTrue(String::compare('Foo', 'Foo'));
$this->assertFalse(String::compare('Foo', 'foo'));
$this->assertFalse(String::compare('Foo', 'Bar'));
$this->assertTrue(String::compare('', ''));
$this->assertFalse(String::compare('', '0'));
$this->assertFalse(String::compare('0', ''));
$this->assertException('/to be (a )?string/', function () {
String::compare(null, null);
});
$this->assertException('/to be (a )?string/', function () {
String::compare(null, '');
});
$this->assertException('/to be (a )?string/', function () {
String::compare('', null);
});
$this->assertTrue(String::compare('1', '1'));
$this->assertException('/to be (a )?string/', function () {
String::compare('1', 1);
});
$this->assertException('/to be (a )?string/', function () {
String::compare(1, '1');
});
error_reporting($backup);
}