Completed
Pull Request — master (#238)
by Joshua
44:16 queued 24:12
created

Issue135Test   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 78
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

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