<?php use PHPUnit\Framework\TestCase; use PHPtricks\Logaty\Helpers\Link; class LinkTest extends TestCase { /** @test */ public function link_property_is_instance_of_link_class() { $this->assertInstanceOf(Link::class, logaty()->link); } /** @test */ public function we_can_generate_link() { $link = logaty()->link('uri'); $this->assertMatchesRegularExpression('#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si', $link); } /** @test */ public function we_can_generate_link_to_custom_uri_with_current_language() { $link = logaty()->link('page/we/need'); $this->assertMatchesRegularExpression('#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si', $link); $this->assertStringContainsString( logaty()->options('page/we/need') . '=' . logaty()->defaultLang(), $link ); } /** @test */ public function we_can_generate_link_to_custom_uri_with_specified_language() { $link = logaty()->link('page/we/need', logaty()->defaultLang()); $this->assertMatchesRegularExpression('#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si', $link); $this->assertStringContainsString( logaty()->options('page/we/need') . '=' . logaty()->defaultLang(), $link ); $this->assertStringContainsString( logaty()->options('lang_key') . '=' . logaty()->defaultLang(), $link ); } /** @test */ public function we_can_generate_link_to_current_uri_with_specified_language() { $link = logaty()->link('', logaty()->defaultLang()); $this->assertMatchesRegularExpression('#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si', $link); $this->assertStringContainsString( logaty()->options('lang_key') . '=' . logaty()->defaultLang(), $link ); } /** * this test need (hide_default_language) in config/options.php to be false to pass */ /** @test */ public function we_can_generate_link_to_current_uri_with_current_language() { $link = logaty()->link(); $this->assertMatchesRegularExpression('#[-a-zA-Z0-9@:%_\+.~\#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~\#?&//=]*)?#si', $link); $this->assertStringContainsString('home', $link); } } |