1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
<?php
declare(strict_types=1);
namespace libphonenumber\Tests\Issues;
use libphonenumber\PhoneNumberUtil;
use libphonenumber\Tests\core\PhoneNumberUtilTest;
use PHPUnit\Framework\TestCase;
/**
* Test calling public static methods without an instance of PhoneNumberUtil being created
*
* @package libphonenumber\Tests\Issues
* @see https://github.com/giggsey/libphonenumber-for-php/issues/135
*/
class Issue135Test extends TestCase
{
public function setUp(): void
{
// Reset instance each time
PhoneNumberUtil::resetInstance();
}
/**
* @see PhoneNumberUtilTest::testConvertAlphaCharactersInNumber()
*/
#[\PHPUnit\Framework\Attributes\RunInSeparateProcess]
public function testConvertAlphaCharactersInNumber(): void
{
$input = '1800-ABC-DEF';
// Alpha chars are converted to digits; everything else is left untouched.
$expectedOutput = '1800-222-333';
self::assertSame($expectedOutput, PhoneNumberUtil::convertAlphaCharactersInNumber($input));
}
/**
* @see PhoneNumberUtilTest::testGetCountryMobileToken()
*/
#[\PHPUnit\Framework\Attributes\RunInSeparateProcess]
public function testGetCountryMobileToken(): void
{
// AR
self::assertSame('9', PhoneNumberUtil::getCountryMobileToken(54));
// Country calling code for Sweden, which has no mobile token.
self::assertSame('', PhoneNumberUtil::getCountryMobileToken(46));
}
/**
* @see PhoneNumberUtilTest::testIsViablePhoneNumber()
*/
#[\PHPUnit\Framework\Attributes\RunInSeparateProcess]
public function testIsViablePhoneNumber(): void
{
self::assertFalse(PhoneNumberUtil::isViablePhoneNumber('1'));
}
/**
* @see PhoneNumberUtilTest::testExtractPossibleNumber()
*/
#[\PHPUnit\Framework\Attributes\RunInSeparateProcess]
public function testExtractPossibleNumber(): void
{
self::assertSame('0800-345-600', PhoneNumberUtil::extractPossibleNumber('Tel:0800-345-600'));
}
/**
* @see PhoneNumberUtilTest::testNormaliseOtherDigits()
*/
#[\PHPUnit\Framework\Attributes\RunInSeparateProcess]
public function testNormaliseReplaceAlphaCharacters(): void
{
$inputNumber = '034-I-am-HUNGRY';
$expectedOutput = '034426486479';
self::assertSame(
$expectedOutput,
PhoneNumberUtil::normalize($inputNumber),
'Conversion did not correctly replace alpha characters'
);
}
/**
* @see PhoneNumberUtilTest::testNormaliseStripNonDiallableCharacters()
*/
#[\PHPUnit\Framework\Attributes\RunInSeparateProcess]
public function testNormalizeDiallableCharsOnly(): void
{
$inputNumber = '03*4-56&+a#234';
$expectedOutput = '03*456+#234';
self::assertSame(
$expectedOutput,
PhoneNumberUtil::normalizeDiallableCharsOnly($inputNumber),
'Conversion did not correctly remove non-diallable characters'
);
}
}
|