You are here

public function TimestampTest::withConfigProvider in Feeds 8.3

Data provider for ::testWithConfig().

File

tests/src/Kernel/Feeds/Target/TimestampTest.php, line 111

Class

TimestampTest
@coversDefaultClass \Drupal\feeds\Feeds\Target\Timestamp @group feeds

Namespace

Drupal\Tests\feeds\Kernel\Feeds\Target

Code

public function withConfigProvider() {
  $return = [];

  // When the source is already a timestamp, the timezone should not matter.
  $return['ignore-timezone'] = [
    'expected' => [
      1 => 1251936720,
      2 => 1251932360,
      3 => 1190835120,
    ],
    'source' => 'created',
    'settings' => [
      'timezone' => 'Europe/Amsterdam',
    ],
  ];

  // A 4-digit number should be considered to represent a year (assuming this
  // application becomes obsolete in less than 8000 years).
  $return['year'] = [
    'expected' => [
      1 => -473385600,
      2 => 1420070400,
      3 => 1514764800,
    ],
    'source' => 'year',
    'settings' => [
      'timezone' => 'UTC',
    ],
  ];

  // Test year value with timezone.
  $return['year-with-timezone'] = [
    'expected' => [
      1 => -473356800,
      2 => 1420099200,
      3 => 1514793600,
    ],
    'source' => 'year',
    'settings' => [
      'timezone' => 'America/Los_Angeles',
    ],
  ];

  // Los Angeles == UTC-08:00.
  $return['los-angeles'] = [
    'expected' => [
      1 => -446702400,
      2 => 1445495340,
      3 => 1518134400,
    ],
    'source' => 'datetime_start',
    'settings' => [
      'timezone' => 'America/Los_Angeles',
    ],
  ];

  // Amsterdam == UTC+01:00.
  $return['amsterdam'] = [
    'expected' => [
      1 => -446734800,
      2 => 1445462940,
      3 => 1518134400,
    ],
    'source' => 'datetime_start',
    'settings' => [
      'timezone' => 'Europe/Amsterdam',
    ],
  ];

  // Sydney == UTC+10:00.
  $return['sydney'] = [
    'expected' => [
      1 => -446767200,
      2 => 1445430540,
      3 => 1518134400,
    ],
    'source' => 'datetime_start',
    'settings' => [
      'timezone' => 'Australia/Sydney',
    ],
  ];
  return $return;
}