/**
  * Tests for xmlsitemap_get_chunk_count().
  */
 public function testGetChunkCount()
 {
     // Set a low chunk size for testing.
     $this->config->set('chunk_size', 4)->save();
     // Make the total number of links just equal to the chunk size.
     $count = db_query("SELECT COUNT(id) FROM {xmlsitemap}")->fetchField();
     for ($i = $count; $i < 4; $i++) {
         $this->addSitemapLink();
         $this->assertEqual(xmlsitemap_get_chunk_count(TRUE), 1);
     }
     $this->assertEqual(db_query("SELECT COUNT(id) FROM {xmlsitemap}")->fetchField(), 4);
     // Add a disabled link, should not change the chunk count.
     $this->addSitemapLink(array('status' => FALSE));
     $this->assertEqual(xmlsitemap_get_chunk_count(TRUE), 1);
     // Add a visible link, should finally bump up the chunk count.
     $this->addSitemapLink();
     $this->assertEqual(xmlsitemap_get_chunk_count(TRUE), 2);
     // Change all links to disabled. The chunk count should be 1 not 0.
     db_query("UPDATE {xmlsitemap} SET status = 0");
     $this->assertEqual(xmlsitemap_get_chunk_count(TRUE), 1);
     $this->assertEqual(xmlsitemap_get_link_count(), 0);
     // Delete all links. The chunk count should be 1 not 0.
     db_query("DELETE FROM {xmlsitemap}");
     $this->assertEqual(db_query("SELECT COUNT(id) FROM {xmlsitemap}")->fetchField(), 0);
     $this->assertEqual(xmlsitemap_get_chunk_count(TRUE), 1);
 }
 /**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     // Check that the chunk size will not create more than 1000 chunks.
     $chunk_size = $form_state->getValue('chunk_size');
     if ($chunk_size != 'auto' && $chunk_size != 50000 && xmlsitemap_get_link_count() / $chunk_size > 1000) {
         $form_state->setErrorByName('chunk_size', t('The sitemap page link count of @size will create more than 1,000 sitemap pages. Please increase the link count.', array('@size' => $chunk_size)));
     }
     $base_url = $form_state->getValue('xmlsitemap_base_url');
     $base_url = rtrim($base_url, '/');
     $form_state->setValue('xmlsitemap_base_url', $base_url);
     if ($base_url != '' && !UrlHelper::isValid($base_url, TRUE)) {
         $form_state->setErrorByName('xmlsitemap_base_url', t('Invalid base URL.'));
     }
     parent::validateForm($form, $form_state);
 }