コード例 #1
0
 public function testFormatOutOfCountryKeepingAlphaChars()
 {
     $alphaNumericNumber = new PhoneNumber();
     $alphaNumericNumber->setCountryCode(1)->setNationalNumber(8007493524)->setRawInput("1800 six-flag");
     $this->assertEquals("0011 1 800 SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AU));
     $alphaNumericNumber->setRawInput("1-800-SIX-flag");
     $this->assertEquals("0011 1 800-SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AU));
     $alphaNumericNumber->setRawInput("Call us from UK: 00 1 800 SIX-flag");
     $this->assertEquals("0011 1 800 SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AU));
     $alphaNumericNumber->setRawInput("800 SIX-flag");
     $this->assertEquals("0011 1 800 SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AU));
     // Formatting from within the NANPA region.
     $this->assertEquals("1 800 SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::US));
     $this->assertEquals("1 800 SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::BS));
     // Testing that if the raw input doesn't exist, it is formatted using
     // formatOutOfCountryCallingNumber.
     $alphaNumericNumber->clearRawInput();
     $this->assertEquals("00 1 800 749 3524", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::DE));
     // Testing AU alpha number formatted from Australia.
     $alphaNumericNumber->setCountryCode(61)->setNationalNumber(827493524)->setRawInput("+61 82749-FLAG");
     // This number should have the national prefix fixed.
     $this->assertEquals("082749-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AU));
     $alphaNumericNumber->setRawInput("082749-FLAG");
     $this->assertEquals("082749-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AU));
     $alphaNumericNumber->setNationalNumber(18007493524)->setRawInput("1-800-SIX-flag");
     // This number should not have the national prefix prefixed, in accordance with the override for
     // this specific formatting rule.
     $this->assertEquals("1-800-SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AU));
     // The metadata should not be permanently changed, since we copied it before modifying patterns.
     // Here we check this.
     $alphaNumericNumber->setNationalNumber(1800749352);
     $this->assertEquals("1800 749 352", $this->phoneUtil->formatOutOfCountryCallingNumber($alphaNumericNumber, RegionCode::AU));
     // Testing a region with multiple international prefixes.
     $this->assertEquals("+61 1-800-SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::SG));
     // Testing the case of calling from a non-supported region.
     $this->assertEquals("+61 1-800-SIX-FLAG", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AQ));
     // Testing the case with an invalid country calling code.
     $alphaNumericNumber->setCountryCode(0)->setNationalNumber(18007493524)->setRawInput("1-800-SIX-flag");
     // Uses the raw input only.
     $this->assertEquals("1-800-SIX-flag", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::DE));
     // Testing the case of an invalid alpha number.
     $alphaNumericNumber->setCountryCode(1)->setNationalNumber(80749)->setRawInput("180-SIX");
     // No country-code stripping can be done.
     $this->assertEquals("00 1 180-SIX", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::DE));
     // Testing the case of calling from a non-supported region.
     $alphaNumericNumber->setCountryCode(1)->setNationalNumber(80749)->setRawInput("180-SIX");
     // No country-code stripping can be done since the number is invalid.
     $this->assertEquals("+1 180-SIX", $this->phoneUtil->formatOutOfCountryKeepingAlphaChars($alphaNumericNumber, RegionCode::AQ));
 }