source: sipes/modules_contrib/feeds/tests/feeds_parser_sitemap.test @ 92213c1

stableversion-3.0
Last change on this file since 92213c1 was 177a560, checked in by José Gregorio Puentes <jpuentes@…>, 8 años ago

se agrego el directorio de modulos contribuidos de drupal

  • Propiedad mode establecida a 100755
File size: 4.9 KB
Línea 
1<?php
2module_load_include('test', 'feeds', 'tests/feeds');
3
4/**
5 * @file
6 * Tests for plugins/FeedsSitemapParser.inc
7 */
8
9/**
10 * Test Sitemap parser.
11 */
12class FeedsSitemapParserTestCase extends FeedsWebTestCase {
13  public static function getInfo() {
14    return array(
15      'name' => 'Sitemap parser',
16      'description' => 'Regression tests for Sitemap XML format parser.',
17      'group' => 'Feeds',
18    );
19  }
20
21  /**
22   * Run tests.
23   */
24  public function test() {
25    $this->createImporterConfiguration('Sitemap', 'sitemap');
26    $this->setPlugin('sitemap', 'FeedsSitemapParser');
27
28    $this->addMappings('sitemap',
29      array(
30        array(
31          'source' => 'changefreq',
32          'target' => 'title',
33          'unique' => FALSE,
34        ),
35        array(
36          'source' => 'priority',
37          'target' => 'body',
38          'unique' => FALSE,
39        ),
40        array(
41          'source' => 'lastmod',
42          'target' => 'created',
43          'unique' => FALSE,
44        ),
45        array(
46          'source' => 'url',
47          'target' => 'url',
48          'unique' => TRUE,
49        ),
50         array(
51          'source' => 'url',
52          'target' => 'guid',
53          'unique' => TRUE,
54        ),
55      )
56    );
57
58
59    $path = $GLOBALS['base_url'] .'/'. drupal_get_path('module', 'feeds') .'/tests/feeds/';
60    $nid = $this->createFeedNode('sitemap', $path .'sitemap-example.xml', 'Testing Sitemap Parser');
61    $this->assertText('Created 5 Story nodes.');
62
63    // Assert DB status.
64    $count = db_result(db_query("SELECT COUNT(*) FROM {feeds_node_item}"));
65    $this->assertEqual($count, 5, 'Accurate number of items in database.');
66
67    // Check items against known content of feed.
68    $result = db_query('SELECT * FROM {feeds_node_item} WHERE feed_nid = %d ORDER BY nid', $nid);
69
70    // Check first item.
71    date_default_timezone_set('GMT');
72    $item = db_fetch_object($result);
73    $node = node_load($item->nid);
74    $this->assertEqual($node->title, 'monthly', 'Feed item 1 changefreq is correct.');
75    $this->assertEqual($node->body, '0.8', 'Feed item 1 priority is correct.');
76    $this->assertEqual($node->created, strtotime('2005-01-01'), 'Feed item 1 lastmod is correct.');
77    $this->assertEqual($node->feeds_node_item->url, 'http://www.example.com/', 'Feed item 1 url is correct.');
78    $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 1 guid is correct.');
79
80    // Check second item.
81    $item = db_fetch_object($result);
82    $node = node_load($item->nid);
83    $this->assertEqual($node->title, 'weekly', 'Feed item 2 changefreq is correct.');
84    $this->assertEqual($node->body, '', 'Feed item 2 priority is correct.');
85    // $node->created is... recently
86    $this->assertEqual($node->feeds_node_item->url, 'http://www.example.com/catalog?item=12&desc=vacation_hawaii', 'Feed item 2 url is correct.');
87    $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 2 guid is correct.');
88
89    // Check third item.
90    $item = db_fetch_object($result);
91    $node = node_load($item->nid);
92    $this->assertEqual($node->title, 'weekly', 'Feed item 3 changefreq is correct.');
93    $this->assertEqual($node->body, '', 'Feed item 3 priority is correct.');
94    $this->assertEqual($node->created, strtotime('2004-12-23'), 'Feed item 3 lastmod is correct.');
95    $this->assertEqual($node->feeds_node_item->url, 'http://www.example.com/catalog?item=73&desc=vacation_new_zealand', 'Feed item 3 url is correct.');
96    $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 3 guid is correct.');
97
98    // Check fourth item.
99    $item = db_fetch_object($result);
100    $node = node_load($item->nid);
101    $this->assertEqual($node->title, '', 'Feed item 4 changefreq is correct.');
102    $this->assertEqual($node->body, '0.3', 'Feed item 4 priority is correct.');
103    $this->assertEqual($node->created, strtotime('2004-12-23T18:00:15+00:00'), 'Feed item 4 lastmod is correct.');
104    $this->assertEqual($node->feeds_node_item->url, 'http://www.example.com/catalog?item=74&desc=vacation_newfoundland', 'Feed item 4 url is correct.');
105    $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 1 guid is correct.');
106
107    // Check fifth item.
108    $item = db_fetch_object($result);
109    $node = node_load($item->nid);
110    $this->assertEqual($node->title, '', 'Feed item 5 changefreq is correct.');
111    $this->assertEqual($node->body, '', 'Feed item 5 priority is correct.');
112    $this->assertEqual($node->created, strtotime('2004-11-23'), 'Feed item 5 lastmod is correct.');
113    $this->assertEqual($node->feeds_node_item->url, 'http://www.example.com/catalog?item=83&desc=vacation_usa', 'Feed item 5 url is correct.');
114    $this->assertEqual($node->feeds_node_item->url, $node->feeds_node_item->guid, 'Feed item 5 guid is correct.');
115
116    // Check for more items.
117    $item = db_fetch_object($result);
118    $this->assertFalse($item, 'Correct number of feed items recorded.');
119  }
120}
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.