isEmergencyNumber() public method

This method takes into account cases where the number might contain formatting, but doesn't allow additional digits to be appended. Note that {@code isEmergencyNumber(number, region)} implies {@code connectsToEmergencyNumber(number, region)}.

public isEmergencyNumber ( string $number, string $regionCode ) : boolean
$number string the phone number to test
$regionCode string the region where the phone number is being dialled
return boolean whether the number exactly matches an emergency services number in the given region
 public function testOverlappingNANPANumber()
 {
     // 211 is an emergency number in Barbados, while it is a toll-free information line in Canada
     // and the USA.
     $this->assertTrue($this->shortInfo->isEmergencyNumber("211", RegionCode::BB));
     $this->assertEquals(ShortNumberCost::TOLL_FREE, $this->shortInfo->getExpectedCostForRegion($this->parse("211", RegionCode::BB), RegionCode::BB));
     $this->assertFalse($this->shortInfo->isEmergencyNumber("211", RegionCode::US));
     $this->assertEquals(ShortNumberCost::UNKNOWN_COST, $this->shortInfo->getExpectedCostForRegion($this->parse("211", RegionCode::US), RegionCode::US));
     $this->assertFalse($this->shortInfo->isEmergencyNumber("211", RegionCode::CA));
     $this->assertEquals(ShortNumberCost::UNKNOWN_COST, $this->shortInfo->getExpectedCostForRegion($this->parse("211", RegionCode::CA), RegionCode::CA));
 }
 /**
  * @dataProvider shortNumberRegionList
  */
 public function testEmergency($regionCode)
 {
     $desc = $this->shortNumberInfo->getMetadataForRegion($regionCode)->getEmergency();
     if ($desc->hasExampleNumber()) {
         $exampleNumber = $desc->getExampleNumber();
         $possibleNumberPattern = new Matcher($desc->getPossibleNumberPattern(), $exampleNumber);
         if (!$possibleNumberPattern->matches() || !$this->shortNumberInfo->isEmergencyNumber($exampleNumber, $regionCode)) {
             $this->fail("Emergency example number test failed for " . $regionCode);
         } elseif ($this->shortNumberInfo->getExpectedCostForRegion($exampleNumber, $regionCode) !== ShortNumberCost::TOLL_FREE) {
             $this->fail("Emergency example number not toll free for " . $regionCode);
         }
     }
 }
 /**
  * @dataProvider shortNumberRegionList
  */
 public function testEmergency($regionCode)
 {
     $desc = $this->shortNumberInfo->getMetadataForRegion($regionCode)->getEmergency();
     if ($desc->hasExampleNumber()) {
         $exampleNumber = $desc->getExampleNumber();
         $phoneNumber = $this->phoneNumberUtil->parse($exampleNumber, $regionCode);
         if (!$this->shortNumberInfo->isPossibleShortNumberForRegion($phoneNumber, $regionCode) || !$this->shortNumberInfo->isEmergencyNumber($exampleNumber, $regionCode)) {
             $this->fail("Emergency example number test failed for " . $regionCode);
         } elseif ($this->shortNumberInfo->getExpectedCostForRegion($phoneNumber, $regionCode) !== ShortNumberCost::TOLL_FREE) {
             $this->fail("Emergency example number not toll free for " . $regionCode);
         }
     }
 }