Source of file CloudflareLocaleDetectorTest.php
Size: 1,625 Bytes - Last Modified: 2021-12-23T10:53:31+00:00
/var/www/docs.ssmods.com/process/src/tests/php/State/CloudflareLocaleDetectorTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | <?php namespace TractorCow\Fluent\Tests\State; use SilverStripe\Control\HTTPRequest; use SilverStripe\Dev\SapphireTest; use TractorCow\Fluent\Model\Locale; use TractorCow\Fluent\State\CloudflareLocaleDetector; class CloudflareLocaleDetectorTest extends SapphireTest { protected static $fixture_file = 'CloudflareLocaleDetectorTest.yml'; public function testPositives() { $middleware = CloudflareLocaleDetector::create(); $request = new HTTPRequest('GET', 'about-us/'); // NZ $request->addHeader('CF-IPCountry', 'NZ'); $result = $middleware->detectLocale($request); $this->assertInstanceOf(Locale::class, $result); $this->assertEquals('en_NZ', $result->Locale); // US $request->addHeader('CF-IPCountry', 'us'); $result = $middleware->detectLocale($request); $this->assertInstanceOf(Locale::class, $result); $this->assertEquals('es_US', $result->Locale); } public function testNegatives() { $middleware = CloudflareLocaleDetector::create(); $request = new HTTPRequest('GET', 'about-us/'); // AU $request->addHeader('CF-IPCountry', 'AU'); $result = $middleware->detectLocale($request); $this->assertNull($result); // XX (unknown) $request->addHeader('CF-IPCountry', 'XX'); $result = $middleware->detectLocale($request); $this->assertNull($result); // T1 (tor) $request->addHeader('CF-IPCountry', 'T1'); $result = $middleware->detectLocale($request); $this->assertNull($result); } } |