/** * Data driven tests of extractCountryCodeFromBrowserLanguage */ public function test_extractCountryCodeFromBrowserLanguage_Infer() { $a1 = array(array("fr,en-us", array("us" => 'amn', "ca" => 'amn'), "us", "fr"), array("fr,en-us", array("fr" => 'eur', "us" => 'amn', "ca" => 'amn'), "us", "fr"), array("fr,fr-fr,en-us", array("fr" => 'eur', "us" => 'amn', "ca" => 'amn'), "fr", "fr"), array("fr-fr,fr,en-us", array("fr" => 'eur', "us" => 'amn', "ca" => 'amn'), "fr", "fr")); // do not infer country from language foreach ($a1 as $testdata) { $this->assertEqual($testdata[2], Piwik_Common::extractCountryCodeFromBrowserLanguage($testdata[0], $testdata[1], $enableLanguageToCountryGuess = false)); } // infer country from language foreach ($a1 as $testdata) { $this->assertEqual($testdata[3], Piwik_Common::extractCountryCodeFromBrowserLanguage($testdata[0], $testdata[1], $enableLanguageToCountryGuess = true)); } }
/** * @dataProvider getCountryCodeTestDataInfer * @group Core * @group Common * @group extractCountryCodeFromBrowserLanguage */ public function testExtractCountryCodeFromBrowserLanguageInfer($browserLanguage, $validCountries, $expected, $expectedInfer) { include "DataFiles/LanguageToCountry.php"; // do not infer country from language $this->assertEquals($expected, Piwik_Common::extractCountryCodeFromBrowserLanguage($browserLanguage, $validCountries, $enableLanguageToCountryGuess = false)); // infer country from language $this->assertEquals($expectedInfer, Piwik_Common::extractCountryCodeFromBrowserLanguage($browserLanguage, $validCountries, $enableLanguageToCountryGuess = true)); }