assertEquals('CyAAJw', smallHash('http://test.io')); $this->assertEquals(6, strlen(smallHash('https://github.com'))); } /** * Look for a substring at the beginning of a string */ public function testStartsWithCaseInsensitive() { $this->assertTrue(startsWith('Lorem ipsum', 'lorem', false)); $this->assertTrue(startsWith('Lorem ipsum', 'LoReM i', false)); } /** * Look for a substring at the beginning of a string (case-sensitive) */ public function testStartsWithCaseSensitive() { $this->assertTrue(startsWith('Lorem ipsum', 'Lorem', true)); $this->assertFalse(startsWith('Lorem ipsum', 'lorem', true)); $this->assertFalse(startsWith('Lorem ipsum', 'LoReM i', true)); } /** * Look for a substring at the beginning of a string (Unicode) */ public function testStartsWithSpecialChars() { $this->assertTrue(startsWith('å!ùµ', 'å!', false)); $this->assertTrue(startsWith('µ$åù', 'µ$', true)); } /** * Look for a substring at the end of a string */ public function testEndsWithCaseInsensitive() { $this->assertTrue(endsWith('Lorem ipsum', 'ipsum', false)); $this->assertTrue(endsWith('Lorem ipsum', 'm IpsUM', false)); } /** * Look for a substring at the end of a string (case-sensitive) */ public function testEndsWithCaseSensitive() { $this->assertTrue(endsWith('lorem Ipsum', 'Ipsum', true)); $this->assertFalse(endsWith('lorem Ipsum', 'ipsum', true)); $this->assertFalse(endsWith('lorem Ipsum', 'M IPsuM', true)); } /** * Look for a substring at the end of a string (Unicode) */ public function testEndsWithSpecialChars() { $this->assertTrue(endsWith('å!ùµ', 'ùµ', false)); $this->assertTrue(endsWith('µ$åù', 'åù', true)); } /** * Check valid date strings, according to a DateTime format */ public function testCheckValidDateFormat() { $this->assertTrue(checkDateFormat('Ymd', '20150627')); $this->assertTrue(checkDateFormat('Y-m-d', '2015-06-27')); } /** * Check erroneous date strings, according to a DateTime format */ public function testCheckInvalidDateFormat() { $this->assertFalse(checkDateFormat('Ymd', '2015')); $this->assertFalse(checkDateFormat('Y-m-d', '2015-06')); $this->assertFalse(checkDateFormat('Ymd', 'DeLorean')); } /** * Test generate location with valid data. */ public function testGenerateLocation() { $ref = 'http://localhost/?test'; $this->assertEquals($ref, generateLocation($ref, 'localhost')); $ref = 'http://localhost:8080/?test'; $this->assertEquals($ref, generateLocation($ref, 'localhost:8080')); } /** * Test generate location - anti loop. */ public function testGenerateLocationLoop() { $ref = 'http://localhost/?test'; $this->assertEquals('?', generateLocation($ref, 'localhost', ['test'])); } /** * Test generate location - from other domain. */ public function testGenerateLocationOut() { $ref = 'http://somewebsite.com/?test'; $this->assertEquals('?', generateLocation($ref, 'localhost')); } }