You are here

function DecimalFormatterTest::testPatternValidation in Currency 7.2

Tests number pattern validation.

File

currency/vendor/bartfeenstra/cldr/src/BartFeenstra/Tests/CLDR/DecimalFormatterTest.php, line 36
Contains class \BartFeenstra\Tests\CLDR\DecimalFormatterTest.

Class

DecimalFormatterTest
Tests \BartFeenstra\CLDR\DecimalFormatter

Namespace

BartFeenstra\Tests\CLDR

Code

function testPatternValidation() {

  // Test validating valid number patterns.
  $patterns_valid = array(
    'foo.00;bar.00',
  );
  foreach ($patterns_valid as $pattern) {
    try {
      new DecimalFormatter($pattern);
      $valid = TRUE;
    } catch (\Exception $e) {
      $valid = FALSE;
    }
    $this
      ->assertTrue($valid, 'BartFeenstra\\CLDR\\DecimalFormatter::__construct() does not throw an exception for valid pattern ' . $pattern . '.');
  }

  // Test validating invalid number patterns.
  $patterns_invalid = array(
    // An empty pattern.
    '',
    // No decimal separator.
    'foo',
    'foo:bar',
    // Empty negative pattern.
    'foo.00;',
    // Empty positive pattern.
    ';bar.00',
  );
  foreach ($patterns_invalid as $pattern) {
    try {
      new DecimalFormatter($pattern);
      $valid = TRUE;
    } catch (\Exception $e) {
      $valid = FALSE;
    }
    $this
      ->assertFalse($valid, 'BartFeenstra\\CLDR\\DecimalFormatter::__construct() throws an exception for invalid pattern ' . $pattern . '.');
  }
}