验证器.是否为正确的时区

Testing Is Documentation

tests/Validate/Validator/TimezoneTest.php验证器.是否为正确的时区 - 图1

Uses

  1. <?php
  2. use Leevel\Validate\Validator;

验证通过的数据

以下是通过的校验数据示例。

  1. # Tests\Validate\Validator\TimezoneTest::baseUseProvider
  2. public function baseUseProvider(): array
  3. {
  4. return [
  5. ['-0400'],
  6. ['EDT'],
  7. ['Asia/Shanghai'], // 上海
  8. ['Asia/Hong_Kong'], // 香港
  9. ['Asia/Chongqing'], // 重庆
  10. ['Asia/Urumqi'], // 乌鲁木齐
  11. ['Asia/Macao'], // 澳门
  12. ['Asia/Taipei'], // 台北
  13. ['Asia/Singapore'], // 新加坡
  14. ['PRC'], // 设置中国时区
  15. ['Etc/GMT'], // 格林威治标准时间
  16. ['Etc/GMT+8'], // 比林威治标准时间慢 8 小时
  17. ['Etc/GMT-8'], // 比林威治标准时间快 8 小时
  18. ];
  19. }

上面的数据是测试的数据提供者。

  1. public function testBaseUse($value): void
  2. {
  3. $validate = new Validator(
  4. [
  5. 'name' => $value,
  6. ],
  7. [
  8. 'name' => 'timezone',
  9. ]
  10. );
  11. $this->assertTrue($validate->success());
  12. }

未验证通过的数据

以下是未通过的校验数据示例。

  1. # Tests\Validate\Validator\TimezoneTest::badProvider
  2. public function badProvider(): array
  3. {
  4. return [
  5. ['Asia/foo'],
  6. ['Asia/bar'],
  7. ['foo'],
  8. ['bar'],
  9. ['2018'],
  10. ['2018-44-22'],
  11. ['2018-12-42'],
  12. [''],
  13. [[1, 2]],
  14. ];
  15. }

上面的数据是测试的数据提供者。

  1. public function testBad($value): void
  2. {
  3. $validate = new Validator(
  4. [
  5. 'name' => $value,
  6. ],
  7. [
  8. 'name' => 'timezone',
  9. ]
  10. );
  11. $this->assertFalse($validate->success());
  12. }