public function ArgumentDateTest::testWeekHandler in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/views/src/Tests/Handler/ArgumentDateTest.php \Drupal\views\Tests\Handler\ArgumentDateTest::testWeekHandler()
Tests the Week handler.
See also
\Drupal\node\Plugin\views\argument\CreatedWeek
File
- core/
modules/ views/ src/ Tests/ Handler/ ArgumentDateTest.php, line 149 - Contains \Drupal\views\Tests\Handler\ArgumentDateTest.
Class
- ArgumentDateTest
- Tests the core date argument handlers.
Namespace
Drupal\views\Tests\HandlerCode
public function testWeekHandler() {
$this->container
->get('database')
->update('views_test_data')
->fields(array(
'created' => gmmktime(0, 0, 0, 9, 26, 2008),
))
->condition('id', 1)
->execute();
$this->container
->get('database')
->update('views_test_data')
->fields(array(
'created' => gmmktime(0, 0, 0, 2, 29, 2004),
))
->condition('id', 2)
->execute();
$this->container
->get('database')
->update('views_test_data')
->fields(array(
'created' => gmmktime(0, 0, 0, 1, 1, 2000),
))
->condition('id', 3)
->execute();
$this->container
->get('database')
->update('views_test_data')
->fields(array(
'created' => gmmktime(0, 0, 0, 1, 10, 2000),
))
->condition('id', 4)
->execute();
$this->container
->get('database')
->update('views_test_data')
->fields(array(
'created' => gmmktime(0, 0, 0, 2, 1, 2000),
))
->condition('id', 5)
->execute();
$view = Views::getView('test_argument_date');
$view
->setDisplay('embed_3');
// Check the week calculation for a leap year.
// @see http://en.wikipedia.org/wiki/ISO_week_date#Calculation
$this
->executeView($view, array(
'39',
));
$expected = array();
$expected[] = array(
'id' => 1,
);
$this
->assertIdenticalResultset($view, $expected, $this->columnMap);
$view
->destroy();
$view
->setDisplay('embed_3');
// Check the week calculation for the 29th of February in a leap year.
// @see http://en.wikipedia.org/wiki/ISO_week_date#Calculation
$this
->executeView($view, array(
'09',
));
$expected = array();
$expected[] = array(
'id' => 2,
);
$this
->assertIdenticalResultset($view, $expected, $this->columnMap);
$view
->destroy();
$view
->setDisplay('embed_3');
// The first jan 2000 was still in the last week of the previous year.
$this
->executeView($view, array(
'52',
));
$expected = array();
$expected[] = array(
'id' => 3,
);
$this
->assertIdenticalResultset($view, $expected, $this->columnMap);
$view
->destroy();
$view
->setDisplay('embed_3');
$this
->executeView($view, array(
'02',
));
$expected = array();
$expected[] = array(
'id' => 4,
);
$this
->assertIdenticalResultset($view, $expected, $this->columnMap);
$view
->destroy();
$view
->setDisplay('embed_3');
$this
->executeView($view, array(
'05',
));
$expected = array();
$expected[] = array(
'id' => 5,
);
$this
->assertIdenticalResultset($view, $expected, $this->columnMap);
$view
->destroy();
$view
->setDisplay('embed_3');
$this
->executeView($view, array(
'23',
));
$expected = array();
$this
->assertIdenticalResultset($view, $expected, $this->columnMap);
}