You are here

phone.us.test in Phone Number 6

Testing US & Canada phone numbers.

File

tests/phone.us.test
View source
<?php

/**
 * @file
 * Testing US & Canada phone numbers.
 */

/**
 * Testing is valid US & Canada phone numbers.
 */
class USPhoneNumberTest extends DrupalWebTestcase {

  /**
   * Phone number supposed to be good.
   */
  const PHONENUMBER_INPUT_TYPE_GOOD = 0;

  /**
   * Phone number supposed to have a bad number.
   */
  const PHONENUMBER_INPUT_TYPE_BAD = 1;
  function getInfo() {
    return array(
      'name' => t('Phone number test - US & Canada'),
      'description' => t('Tests various valid and invalid US & Canada phone numbers.'),
      'group' => t('Phone Number'),
    );
  }
  function testPhoneNumber() {
    $test_cases = array(
      array(
        'number' => '8005551212',
        'type' => self::PHONENUMBER_INPUT_TYPE_GOOD,
      ),
      array(
        'number' => '800-555-1212',
        'type' => self::PHONENUMBER_INPUT_TYPE_GOOD,
      ),
      array(
        'number' => '(201)223-4567',
        'type' => self::PHONENUMBER_INPUT_TYPE_GOOD,
      ),
      array(
        'number' => '604 543 9245',
        'type' => self::PHONENUMBER_INPUT_TYPE_GOOD,
      ),
      array(
        'number' => '1-800-555-1212',
        'type' => self::PHONENUMBER_INPUT_TYPE_BAD,
      ),
    );
    foreach ($test_cases as $test) {
      if ($test['type'] == self::PHONENUMBER_INPUT_TYPE_GOOD) {
        $this
          ->assertTrue(us_validate_number($test['number'], '', $dummy), 'Test valid: ' . $test['number']);
      }
      elseif ($test['type'] == self::PHONENUMBER_INPUT_TYPE_BAD) {
        $this
          ->assertFalse(us_validate_number($test['number'], '', $dummy), 'Test invalid: ' . $test['number']);
      }
    }
  }

}

Classes

Namesort descending Description
USPhoneNumberTest Testing is valid US & Canada phone numbers.