function testHomepageForDomain() { $originalHost = $_SERVER['HTTP_HOST']; // Tests matching an HTTP_HOST value to URLSegment homepage values $tests = array('page.co.nz' => 'page1', 'www.page.co.nz' => 'page1', 'help.com' => 'page1', 'www.help.com' => 'page1', 'something.com' => 'page1', 'www.something.com' => 'page1', 'other.co.nz' => 'page2', 'www.other.co.nz' => 'page2', 'right' => 'page2', 'www. right' => 'page2', 'only.com' => 'page3', 'www.only.com' => 'page3', 'www.somethingelse.com' => 'home', 'somethingelse.com' => 'home', 'alternate.only.com' => 'home', 'www.alternate.only.com' => 'home', 'alternate.something.com' => 'home'); foreach ($tests as $domain => $urlSegment) { $_SERVER['HTTP_HOST'] = $domain; $this->assertEquals($urlSegment, RootURLController::get_homepage_urlsegment(Translatable::default_locale()), "Testing {$domain} matches {$urlSegment}"); } $_SERVER['HTTP_HOST'] = $originalHost; }
function testHomepageForDomain() { $originalHost = $_SERVER['HTTP_HOST']; // Tests matching an HTTP_HOST value to URLSegment homepage values $tests = array( 'page.co.nz' => 'page1', 'www.page.co.nz' => 'page1', 'help.com' => 'page1', 'www.help.com' => 'page1', 'something.com' => 'page1', 'www.something.com' => 'page1', 'other.co.nz' => 'page2', 'www.other.co.nz' => 'page2', 'right' => 'page2', 'www. right' => 'page2', 'only.com' => 'page3', 'www.only.com' => 'page3', 'www.somethingelse.com' => 'home', 'somethingelse.com' => 'home', // Test some potential false matches to page2 and page3 'alternate.only.com' => 'home', 'www.alternate.only.com' => 'home', 'alternate.something.com' => 'home', ); foreach($tests as $domain => $urlSegment) { $_SERVER['HTTP_HOST'] = $domain; $this->assertEquals($urlSegment, RootURLController::get_homepage_urlsegment(), "Testing $domain matches $urlSegment"); } $_SERVER['HTTP_HOST'] = $originalHost; }
function testRootUrlDefaultsToTranslatedUrlSegment() { $origPage = $this->objFromFixture('Page', 'homepage_en'); $origPage->publish('Stage', 'Live'); $translationDe = $origPage->createTranslation('de_DE'); $translationDe->URLSegment = 'heim'; $translationDe->write(); $translationDe->publish('Stage', 'Live'); // test with translatable Translatable::set_current_locale('de_DE'); $this->assertEquals(RootURLController::get_homepage_urlsegment(), 'heim', 'Homepage with different URLSegment in non-default language is found'); // @todo Fix add/remove extension // test with translatable disabled // Object::remove_extension('Page', 'Translatable'); // $_SERVER['HTTP_HOST'] = '/'; // $this->assertEquals( // RootURLController::get_homepage_urlsegment(), // 'home', // 'Homepage is showing in default language if ?lang GET variable is left out' // ); // Object::add_extension('Page', 'Translatable'); // setting back to default Translatable::set_current_locale('en_US'); }