assertInstanceOf(\rcube_base_replacer::class, $object, 'Class constructor'); } /** * Test replace() */ public function test_replace() { $base = 'http://thisshouldntbetheurl.bob.com/'; $html = 'Test URL'; $replacer = new \rcube_base_replacer($base); $response = $replacer->replace($html); $this->assertSame('Test URL', $response); } /** * Test absolute_url() * * @dataProvider provide_absolute_url_cases */ #[DataProvider('provide_absolute_url_cases')] public function test_absolute_url($path, $base, $expected) { $replacer = new \rcube_base_replacer('test'); $result = $replacer->absolute_url($path, $base); $this->assertSame($expected, $result); } /** * Data for absolute_url() test */ public static function provide_absolute_url_cases(): iterable { return [ ['', 'http://test', 'http://test/'], ['http://test', 'http://anything', 'http://test'], ['cid:test', 'http://anything', 'cid:test'], ['/test', 'http://test', 'http://test/test'], ['./test', 'http://test', 'http://test/test'], ['../test1', 'http://test/test2', 'http://test1'], ['../test1', 'http://test/test2/', 'http://test/test1'], ]; } }