function testCanonical() { $d = 'http://www.cmsx.ru'; $p = new Page(); $this->assertFalse($p->getCanonical($d), 'Адрес не указан'); $this->assertEmpty($p->renderCanonical($d), 'Тег не рендерится'); $page = '/page.html'; $exp = $d . $page; $p->setCanonical($page); $this->assertEquals($page, $p->getCanonical(), 'Значение установлено'); $this->assertEquals($exp, $p->getCanonical($d), 'Путь вместе с доменом'); $this->assertEquals($exp, $p->getCanonical($d . '/'), 'Путь вместе с доменом и слешом'); $exp = '<link href="http://www.cmsx.ru/page.html" rel="canonical" />' . "\n"; $this->assertEquals($exp, $p->renderCanonical($d), 'Адрес указан'); $this->assertEquals($exp, $p->renderCanonical($d . '/'), 'Домен с слешом на конце'); $this->assertEmpty($p->renderCanonical(), 'Без домена ссылка не отображается'); $p->setDomain($d); $this->assertEquals($exp, $p->renderCanonical(), 'Адрес использует адрес из объекта'); }