expectException(ValidationException::class); $url = new Url(['prefix' => $prefix, 'postfix' => $postfix, 'autoscheme' => $autoscheme]); $url->validate($value); } /** * @dataProvider validateSuccessProvider */ public function test_validate_success($value, $prefix, $postfix, $autoscheme) { $url = new Url(['prefix' => $prefix, 'postfix' => $postfix, 'autoscheme' => $autoscheme]); $url->validate($value); $this->assertTrue(true); // we simply check that no exceptions are thrown } /** * @dataProvider generateAutoTitleProvider */ public function test_generateAutoTitle($input, $title) { $url = new Url(['autoshorten' => true]); $result = $this->callInaccessibleMethod($url, 'generateTitle', [$input]); $this->assertSame($title, $result); $url = new Url(['autoshorten' => false]); $result = $this->callInaccessibleMethod($url, 'generateTitle', [$input]); $this->assertSame($input, $result); } public function test_generateFixedTitle() { $input = 'https://www.foobar.com/long'; $title = 'oink'; $url = new Url(['fixedtitle' => $title]); $result = $this->callInaccessibleMethod($url, 'generateTitle', [$input]); $this->assertSame($title, $result); } }