File: Issue135Test.php

package info (click to toggle)
php-giggsey-libphonenumber 9.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 22,464 kB
  • sloc: php: 484,879; sh: 107; makefile: 37
file content (97 lines) | stat: -rw-r--r-- 3,056 bytes parent folder | download
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'
        );
    }
}