/**
  * Check if custom urls are functional.
  */
 public function testCustomURL()
 {
     $edit = array('custom_urls' => 'an-invalid-url');
     $this->drupalPostForm('admin/config/search/xmlsitemap/engines', $edit, t('Save configuration'));
     $this->assertText('Invalid URL an-invalid-url.');
     $this->assertNoText('The configuration options have been saved.');
     $url = Url::fromUri('base://ping', array('absolute' => TRUE));
     $edit = array('custom_urls' => $url);
     $this->drupalPostForm('admin/config/search/xmlsitemap/engines', $edit, t('Save configuration'));
     $this->assertText(t('The configuration options have been saved.'));
     $edit = array('custom_urls' => $this->submit_url);
     $this->drupalPostForm('admin/config/search/xmlsitemap/engines', $edit, t('Save configuration'));
     $this->assertText(t('The configuration options have been saved.'));
     $this->submitEngines();
     $url = xmlsitemap_engines_prepare_url($this->submit_url, Url::fromRoute('xmlsitemap.sitemap_xml', [], array('absolute' => TRUE)));
     $this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Submitted the sitemap to %url and received response @code.', 'variables' => array('%url' => $url, '@code' => '200')));
     $this->assertWatchdogMessage(array('type' => 'xmlsitemap', 'message' => 'Recieved ping for @sitemap.', 'variables' => array('@sitemap' => Url::fromRoute('xmlsitemap.sitemap_xml', [], array('absolute' => TRUE)))));
 }
 /**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     $custom_urls = $form_state->getValue('custom_urls');
     $custom_urls = preg_split('/[\\r\\n]+/', $custom_urls, -1, PREG_SPLIT_NO_EMPTY);
     foreach ($custom_urls as $custom_url) {
         $url = xmlsitemap_engines_prepare_url($custom_url, '');
         if (!UrlHelper::isValid($url, TRUE)) {
             $form_state->setErrorByName($custom_url, t('Invalid URL %url.', array('%url' => $custom_url)));
         }
     }
     $custom_urls = implode("\n", $custom_urls);
     $form_state->setValue('custom_urls', $custom_ruls);
     parent::validateForm($form, $form_state);
 }