404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.116.49.38: ~ $
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Component\VarDumper\Tests\Caster;

use PHPUnit\Framework\TestCase;
use Symfony\Component\VarDumper\Test\VarDumperTestTrait;

/**
 * @requires extension intl
 */
class IntlCasterTest extends TestCase
{
    use VarDumperTestTrait;

    public function testMessageFormatter()
    {
        $var = new \MessageFormatter('en', 'Hello {name}');

        $expected = <<<EOTXT
MessageFormatter {
  locale: "en"
  pattern: "Hello {name}"
}
EOTXT;
        $this->assertDumpEquals($expected, $var);
    }

    public function testCastNumberFormatter()
    {
        $var = new \NumberFormatter('en', \NumberFormatter::DECIMAL);

        $expectedLocale = $var->getLocale();
        $expectedPattern = $var->getPattern();

        $expectedAttribute1 = $var->getAttribute(\NumberFormatter::PARSE_INT_ONLY);
        $expectedAttribute2 = $var->getAttribute(\NumberFormatter::GROUPING_USED);
        $expectedAttribute3 = $var->getAttribute(\NumberFormatter::DECIMAL_ALWAYS_SHOWN);
        $expectedAttribute4 = $var->getAttribute(\NumberFormatter::MAX_INTEGER_DIGITS);
        $expectedAttribute5 = $var->getAttribute(\NumberFormatter::MIN_INTEGER_DIGITS);
        $expectedAttribute6 = $var->getAttribute(\NumberFormatter::INTEGER_DIGITS);
        $expectedAttribute7 = $var->getAttribute(\NumberFormatter::MAX_FRACTION_DIGITS);
        $expectedAttribute8 = $var->getAttribute(\NumberFormatter::MIN_FRACTION_DIGITS);
        $expectedAttribute9 = $var->getAttribute(\NumberFormatter::FRACTION_DIGITS);
        $expectedAttribute10 = $var->getAttribute(\NumberFormatter::MULTIPLIER);
        $expectedAttribute11 = $var->getAttribute(\NumberFormatter::GROUPING_SIZE);
        $expectedAttribute12 = $var->getAttribute(\NumberFormatter::ROUNDING_MODE);
        $expectedAttribute13 = number_format($var->getAttribute(\NumberFormatter::ROUNDING_INCREMENT), 1);
        $expectedAttribute14 = $this->getDump($var->getAttribute(\NumberFormatter::FORMAT_WIDTH));
        $expectedAttribute15 = $var->getAttribute(\NumberFormatter::PADDING_POSITION);
        $expectedAttribute16 = $var->getAttribute(\NumberFormatter::SECONDARY_GROUPING_SIZE);
        $expectedAttribute17 = $var->getAttribute(\NumberFormatter::SIGNIFICANT_DIGITS_USED);
        $expectedAttribute18 = $this->getDump($var->getAttribute(\NumberFormatter::MIN_SIGNIFICANT_DIGITS));
        $expectedAttribute19 = $this->getDump($var->getAttribute(\NumberFormatter::MAX_SIGNIFICANT_DIGITS));
        $expectedAttribute20 = $var->getAttribute(\NumberFormatter::LENIENT_PARSE);

        $expectedTextAttribute1 = $var->getTextAttribute(\NumberFormatter::POSITIVE_PREFIX);
        $expectedTextAttribute2 = $var->getTextAttribute(\NumberFormatter::POSITIVE_SUFFIX);
        $expectedTextAttribute3 = $var->getTextAttribute(\NumberFormatter::NEGATIVE_PREFIX);
        $expectedTextAttribute4 = $var->getTextAttribute(\NumberFormatter::NEGATIVE_SUFFIX);
        $expectedTextAttribute5 = $var->getTextAttribute(\NumberFormatter::PADDING_CHARACTER);
        $expectedTextAttribute6 = $var->getTextAttribute(\NumberFormatter::CURRENCY_CODE);
        $expectedTextAttribute7 = $var->getTextAttribute(\NumberFormatter::DEFAULT_RULESET) ? 'true' : 'false';
        $expectedTextAttribute8 = $var->getTextAttribute(\NumberFormatter::PUBLIC_RULESETS) ? 'true' : 'false';

        $expectedSymbol1 = $var->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL);
        $expectedSymbol2 = $var->getSymbol(\NumberFormatter::GROUPING_SEPARATOR_SYMBOL);
        $expectedSymbol3 = $var->getSymbol(\NumberFormatter::PATTERN_SEPARATOR_SYMBOL);
        $expectedSymbol4 = $var->getSymbol(\NumberFormatter::PERCENT_SYMBOL);
        $expectedSymbol5 = $var->getSymbol(\NumberFormatter::ZERO_DIGIT_SYMBOL);
        $expectedSymbol6 = $var->getSymbol(\NumberFormatter::DIGIT_SYMBOL);
        $expectedSymbol7 = $var->getSymbol(\NumberFormatter::MINUS_SIGN_SYMBOL);
        $expectedSymbol8 = $var->getSymbol(\NumberFormatter::PLUS_SIGN_SYMBOL);
        $expectedSymbol9 = $var->getSymbol(\NumberFormatter::CURRENCY_SYMBOL);
        $expectedSymbol10 = $var->getSymbol(\NumberFormatter::INTL_CURRENCY_SYMBOL);
        $expectedSymbol11 = $var->getSymbol(\NumberFormatter::MONETARY_SEPARATOR_SYMBOL);
        $expectedSymbol12 = $var->getSymbol(\NumberFormatter::EXPONENTIAL_SYMBOL);
        $expectedSymbol13 = $var->getSymbol(\NumberFormatter::PERMILL_SYMBOL);
        $expectedSymbol14 = $var->getSymbol(\NumberFormatter::PAD_ESCAPE_SYMBOL);
        $expectedSymbol15 = $var->getSymbol(\NumberFormatter::INFINITY_SYMBOL);
        $expectedSymbol16 = $var->getSymbol(\NumberFormatter::NAN_SYMBOL);
        $expectedSymbol17 = $var->getSymbol(\NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL);
        $expectedSymbol18 = $var->getSymbol(\NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL);

        $expected = <<<EOTXT
NumberFormatter {
  locale: "$expectedLocale"
  pattern: "$expectedPattern"
  attributes: {
    PARSE_INT_ONLY: $expectedAttribute1
    GROUPING_USED: $expectedAttribute2
    DECIMAL_ALWAYS_SHOWN: $expectedAttribute3
    MAX_INTEGER_DIGITS: $expectedAttribute4
    MIN_INTEGER_DIGITS: $expectedAttribute5
    INTEGER_DIGITS: $expectedAttribute6
    MAX_FRACTION_DIGITS: $expectedAttribute7
    MIN_FRACTION_DIGITS: $expectedAttribute8
    FRACTION_DIGITS: $expectedAttribute9
    MULTIPLIER: $expectedAttribute10
    GROUPING_SIZE: $expectedAttribute11
    ROUNDING_MODE: $expectedAttribute12
    ROUNDING_INCREMENT: $expectedAttribute13
    FORMAT_WIDTH: $expectedAttribute14
    PADDING_POSITION: $expectedAttribute15
    SECONDARY_GROUPING_SIZE: $expectedAttribute16
    SIGNIFICANT_DIGITS_USED: $expectedAttribute17
    MIN_SIGNIFICANT_DIGITS: $expectedAttribute18
    MAX_SIGNIFICANT_DIGITS: $expectedAttribute19
    LENIENT_PARSE: $expectedAttribute20
  }
  text_attributes: {
    POSITIVE_PREFIX: "$expectedTextAttribute1"
    POSITIVE_SUFFIX: "$expectedTextAttribute2"
    NEGATIVE_PREFIX: "$expectedTextAttribute3"
    NEGATIVE_SUFFIX: "$expectedTextAttribute4"
    PADDING_CHARACTER: "$expectedTextAttribute5"
    CURRENCY_CODE: "$expectedTextAttribute6"
    DEFAULT_RULESET: $expectedTextAttribute7
    PUBLIC_RULESETS: $expectedTextAttribute8
  }
  symbols: {
    DECIMAL_SEPARATOR_SYMBOL: "$expectedSymbol1"
    GROUPING_SEPARATOR_SYMBOL: "$expectedSymbol2"
    PATTERN_SEPARATOR_SYMBOL: "$expectedSymbol3"
    PERCENT_SYMBOL: "$expectedSymbol4"
    ZERO_DIGIT_SYMBOL: "$expectedSymbol5"
    DIGIT_SYMBOL: "$expectedSymbol6"
    MINUS_SIGN_SYMBOL: "$expectedSymbol7"
    PLUS_SIGN_SYMBOL: "$expectedSymbol8"
    CURRENCY_SYMBOL: "$expectedSymbol9"
    INTL_CURRENCY_SYMBOL: "$expectedSymbol10"
    MONETARY_SEPARATOR_SYMBOL: "$expectedSymbol11"
    EXPONENTIAL_SYMBOL: "$expectedSymbol12"
    PERMILL_SYMBOL: "$expectedSymbol13"
    PAD_ESCAPE_SYMBOL: "$expectedSymbol14"
    INFINITY_SYMBOL: "$expectedSymbol15"
    NAN_SYMBOL: "$expectedSymbol16"
    SIGNIFICANT_DIGIT_SYMBOL: "$expectedSymbol17"
    MONETARY_GROUPING_SEPARATOR_SYMBOL: "$expectedSymbol18"
  }
}
EOTXT;
        $this->assertDumpEquals($expected, $var);
    }

    public function testCastIntlTimeZoneWithDST()
    {
        $var = \IntlTimeZone::createTimeZone('America/Los_Angeles');

        $expectedDisplayName = $var->getDisplayName();
        $expectedDSTSavings = $var->getDSTSavings();
        $expectedID = $var->getID();
        $expectedRawOffset = $var->getRawOffset();

        $expected = <<<EOTXT
IntlTimeZone {
  display_name: "$expectedDisplayName"
  id: "$expectedID"
  raw_offset: $expectedRawOffset
  dst_savings: $expectedDSTSavings
}
EOTXT;
        $this->assertDumpEquals($expected, $var);
    }

    public function testCastIntlTimeZoneWithoutDST()
    {
        $var = \IntlTimeZone::createTimeZone('Asia/Bangkok');

        $expectedDisplayName = $var->getDisplayName();
        $expectedID = $var->getID();
        $expectedRawOffset = $var->getRawOffset();

        $expected = <<<EOTXT
IntlTimeZone {
  display_name: "$expectedDisplayName"
  id: "$expectedID"
  raw_offset: $expectedRawOffset
}
EOTXT;
        $this->assertDumpEquals($expected, $var);
    }

    public function testCastIntlCalendar()
    {
        $var = \IntlCalendar::createInstance('America/Los_Angeles', 'en');

        $expectedType = $var->getType();
        $expectedFirstDayOfWeek = $var->getFirstDayOfWeek();
        $expectedMinimalDaysInFirstWeek = $var->getMinimalDaysInFirstWeek();
        $expectedRepeatedWallTimeOption = $var->getRepeatedWallTimeOption();
        $expectedSkippedWallTimeOption = $var->getSkippedWallTimeOption();
        $expectedTime = $var->getTime().'.0';
        $expectedInDaylightTime = $var->inDaylightTime() ? 'true' : 'false';
        $expectedIsLenient = $var->isLenient() ? 'true' : 'false';

        $expectedTimeZone = $var->getTimeZone();
        $expectedTimeZoneDisplayName = $expectedTimeZone->getDisplayName();
        $expectedTimeZoneID = $expectedTimeZone->getID();
        $expectedTimeZoneRawOffset = $expectedTimeZone->getRawOffset();
        $expectedTimeZoneDSTSavings = $expectedTimeZone->getDSTSavings();

        $expected = <<<EOTXT
IntlGregorianCalendar {
  type: "$expectedType"
  first_day_of_week: $expectedFirstDayOfWeek
  minimal_days_in_first_week: $expectedMinimalDaysInFirstWeek
  repeated_wall_time_option: $expectedRepeatedWallTimeOption
  skipped_wall_time_option: $expectedSkippedWallTimeOption
  time: $expectedTime
  in_daylight_time: $expectedInDaylightTime
  is_lenient: $expectedIsLenient
  time_zone: IntlTimeZone {
    display_name: "$expectedTimeZoneDisplayName"
    id: "$expectedTimeZoneID"
    raw_offset: $expectedTimeZoneRawOffset
    dst_savings: $expectedTimeZoneDSTSavings
  }
}
EOTXT;
        $this->assertDumpEquals($expected, $var);
    }

    public function testCastDateFormatter()
    {
        $var = new \IntlDateFormatter('en', \IntlDateFormatter::TRADITIONAL, \IntlDateFormatter::TRADITIONAL);

        $expectedLocale = $var->getLocale();
        $expectedPattern = $var->getPattern();
        $expectedCalendar = $var->getCalendar();
        $expectedTimeZoneId = $var->getTimeZoneId();
        $expectedTimeType = $var->getTimeType();
        $expectedDateType = $var->getDateType();

        $expectedTimeZone = $var->getTimeZone();
        $expectedTimeZoneDisplayName = $expectedTimeZone->getDisplayName();
        $expectedTimeZoneID = $expectedTimeZone->getID();
        $expectedTimeZoneRawOffset = $expectedTimeZone->getRawOffset();
        $expectedTimeZoneDSTSavings = $expectedTimeZone->useDaylightTime() ? "\n    dst_savings: ".$expectedTimeZone->getDSTSavings() : '';

        $expectedCalendarObject = $var->getCalendarObject();
        $expectedCalendarObjectType = $expectedCalendarObject->getType();
        $expectedCalendarObjectFirstDayOfWeek = $expectedCalendarObject->getFirstDayOfWeek();
        $expectedCalendarObjectMinimalDaysInFirstWeek = $expectedCalendarObject->getMinimalDaysInFirstWeek();
        $expectedCalendarObjectRepeatedWallTimeOption = $expectedCalendarObject->getRepeatedWallTimeOption();
        $expectedCalendarObjectSkippedWallTimeOption = $expectedCalendarObject->getSkippedWallTimeOption();
        $expectedCalendarObjectTime = $expectedCalendarObject->getTime().'.0';
        $expectedCalendarObjectInDaylightTime = $expectedCalendarObject->inDaylightTime() ? 'true' : 'false';
        $expectedCalendarObjectIsLenient = $expectedCalendarObject->isLenient() ? 'true' : 'false';

        $expectedCalendarObjectTimeZone = $expectedCalendarObject->getTimeZone();
        $expectedCalendarObjectTimeZoneDisplayName = $expectedCalendarObjectTimeZone->getDisplayName();
        $expectedCalendarObjectTimeZoneID = $expectedCalendarObjectTimeZone->getID();
        $expectedCalendarObjectTimeZoneRawOffset = $expectedCalendarObjectTimeZone->getRawOffset();
        $expectedCalendarObjectTimeZoneDSTSavings = $expectedTimeZone->useDaylightTime() ? "\n      dst_savings: ".$expectedCalendarObjectTimeZone->getDSTSavings() : '';

        $expected = <<<EOTXT
IntlDateFormatter {
  locale: "$expectedLocale"
  pattern: "$expectedPattern"
  calendar: $expectedCalendar
  time_zone_id: "$expectedTimeZoneId"
  time_type: $expectedTimeType
  date_type: $expectedDateType
  calendar_object: IntlGregorianCalendar {
    type: "$expectedCalendarObjectType"
    first_day_of_week: $expectedCalendarObjectFirstDayOfWeek
    minimal_days_in_first_week: $expectedCalendarObjectMinimalDaysInFirstWeek
    repeated_wall_time_option: $expectedCalendarObjectRepeatedWallTimeOption
    skipped_wall_time_option: $expectedCalendarObjectSkippedWallTimeOption
    time: $expectedCalendarObjectTime
    in_daylight_time: $expectedCalendarObjectInDaylightTime
    is_lenient: $expectedCalendarObjectIsLenient
    time_zone: IntlTimeZone {
      display_name: "$expectedCalendarObjectTimeZoneDisplayName"
      id: "$expectedCalendarObjectTimeZoneID"
      raw_offset: $expectedCalendarObjectTimeZoneRawOffset$expectedCalendarObjectTimeZoneDSTSavings
    }
  }
  time_zone: IntlTimeZone {
    display_name: "$expectedTimeZoneDisplayName"
    id: "$expectedTimeZoneID"
    raw_offset: $expectedTimeZoneRawOffset$expectedTimeZoneDSTSavings
  }
}
EOTXT;
        $this->assertDumpEquals($expected, $var);
    }
}

Filemanager

Name Type Size Permission Actions
CasterTest.php File 5.17 KB 0644
DateCasterTest.php File 13.91 KB 0644
ExceptionCasterTest.php File 7.79 KB 0644
FFICasterTest.php File 13.63 KB 0644
GmpCasterTest.php File 1.29 KB 0644
IntlCasterTest.php File 13.48 KB 0644
MemcachedCasterTest.php File 2.25 KB 0644
MysqliCasterTest.php File 834 B 0644
PdoCasterTest.php File 1.91 KB 0644
RdKafkaCasterTest.php File 5.39 KB 0644
RedisCasterTest.php File 1.52 KB 0644
ReflectionCasterTest.php File 15.66 KB 0644
SplCasterTest.php File 5.31 KB 0644
StubCasterTest.php File 6.98 KB 0644
SymfonyCasterTest.php File 2.29 KB 0644
XmlReaderCasterTest.php File 4.74 KB 0644