diff --git a/core/modules/node/node.views.inc b/core/modules/node/node.views.inc index 80eb565..46b312e 100644 --- a/core/modules/node/node.views.inc +++ b/core/modules/node/node.views.inc @@ -278,7 +278,7 @@ function node_views_data() { ), ); - $data['node_field_data']['date_year_month'] = array( + $data['node_field_data']['created_year_month'] = array( 'title' => t('Created year + month'), 'help' => t('Date in the form of YYYYMM.'), 'argument' => array( diff --git a/core/modules/views/config/views.view.archive.yml b/core/modules/views/config/views.view.archive.yml index abd2944..8b7d8e4 100644 --- a/core/modules/views/config/views.view.archive.yml +++ b/core/modules/views/config/views.view.archive.yml @@ -85,7 +85,7 @@ display: override: '1' items_per_page: '30' specify_validation: '1' - plugin_id: node_created_year_month + plugin_id: date_year_month filters: status: id: status diff --git a/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php b/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php index d5b51d8..31f332a 100644 --- a/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php +++ b/core/modules/views/lib/Drupal/views/Tests/DefaultViewsTest.php @@ -14,7 +14,7 @@ /** * Tests for views default views. */ -class DefaultViewsTest extends WebTestBase { +class DefaultViewsTest extends ViewTestBase { /** * Modules to enable. @@ -160,4 +160,55 @@ function createTerm($vocabulary) { return $term; } + /** + * Tests the archive view. + */ + public function testArchiveView() { + // Create additional nodes compared to the one in the setup method. + // Create two nodes in the same month, and one in each following month. + $node = array( + 'created' => 280299600, // Sun, 19 Nov 1978 05:00:00 GMT + ); + $this->drupalCreateNode($node); + $this->drupalCreateNode($node); + $node = array( + 'created' => 282891600, // Tue, 19 Dec 1978 05:00:00 GMT + ); + $this->drupalCreateNode($node); + $node = array( + 'created' => 285570000, // Fri, 19 Jan 1979 05:00:00 GMT + ); + $this->drupalCreateNode($node); + + $view = views_get_view('archive'); + $view->setDisplay('page_1'); + $this->executeView($view); + $column_map = drupal_map_assoc(array('nid', 'created_year_month', 'num_records')); + // Create time of additional nodes created in the setup method. + $created_year_month = date('Yd', time() - 3600); + $expected_result = array( + array( + 'nid' => 1, + 'created_year_month' => $created_year_month, + 'num_records' => 11, + ), + array( + 'nid' => 15, + 'created_year_month' => 197901, + 'num_records' => 1, + ), + array( + 'nid' => 14, + 'created_year_month' => 197812, + 'num_records' => 1, + ), + array( + 'nid' => 12, + 'created_year_month' => 197811, + 'num_records' => 2, + ), + ); + $this->assertIdenticalResultset($view, $expected_result, $column_map); + } + }