Filter PayPal-supported language codes

This commit is contained in:
dinamiko 2021-05-03 16:25:37 +02:00
parent e13dfad27c
commit 845a83acb4
4 changed files with 105 additions and 2 deletions

View file

@ -0,0 +1,36 @@
<?php
declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\ApiClient\Repository;
use WooCommerce\PayPalCommerce\ApiClient\TestCase;
use WooCommerce\PayPalCommerce\Button\Assets\SmartButton;
use function Brain\Monkey\Functions\when;
class ApplicationContextRepositoryTest extends TestCase
{
/**
* @dataProvider provider
*/
public function test_valid_bcp47_code($input, $output)
{
$testee = $this->getMockBuilder(ApplicationContextRepository::class)
->disableOriginalConstructor()
->getMock();
$method = new \ReflectionMethod($testee, 'valid_bcp47_code');
$method->setAccessible(true);
when('get_user_locale')->justReturn($input);
$this->assertSame($output, $method->invoke($testee));
}
public function provider()
{
return [
'de-DE' => ['de-DE', 'de-DE'],
'de-DE-formal' => ['de-DE-formal', 'de-DE'],
];
}
}

View file

@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace WooCommerce\PayPalCommerce\Button\Assets;
use WooCommerce\PayPalCommerce\TestCase;
use function Brain\Monkey\Functions\when;
class SmartButtonTest extends TestCase
{
/**
* @dataProvider provider
*/
public function test_valid_locale_code($input, $output)
{
$testee = $this->getMockBuilder(SmartButton::class)
->disableOriginalConstructor()
->getMock();
$method = new \ReflectionMethod($testee, 'valid_locale_code');
$method->setAccessible(true);
when('get_user_locale')->justReturn($input);
$this->assertSame($output, $method->invoke($testee));
}
public function provider()
{
return [
'de_DE' => ['de_DE', 'de_DE'],
'de_DE_formal' => ['de_DE_formal', 'de_DE'],
];
}
}