| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Contains FeedsMapperNodeSummaryTestCase.
 
-  */
 
- /**
 
-  * Test case for mapping to node summary.
 
-  */
 
- class FeedsMapperNodeSummaryTestCase extends FeedsMapperTestCase {
 
-   public static function getInfo() {
 
-     return array(
 
-       'name' => 'Mapper: Text with summary',
 
-       'description' => 'Test Feeds Mapper support for text with summary fields.',
 
-       'group' => 'Feeds',
 
-     );
 
-   }
 
-   /**
 
-    * Tests importing CSV files for text fields with summary.
 
-    */
 
-   public function test() {
 
-     // Create and configure importer.
 
-     $this->createImporterWithSummaryMapper();
 
-     // Create a new filter format.
 
-     $format = drupal_strtolower($this->randomName());
 
-     $edit = array(
 
-       'format' => $format,
 
-       'name' => $this->randomName(),
 
-       // Authenticated users.
 
-       'roles[2]' => TRUE,
 
-     );
 
-     $this->drupalPost('admin/config/content/formats/add', $edit, t('Save configuration'));
 
-     // The "update existing" and "skip hash check" are turned on so we can test
 
-     // later if the summaries of the nodes get overwritten with the values from
 
-     // the source.
 
-     $this->setSettings('syndication', 'FeedsNodeProcessor', array(
 
-       'update_existing' => 2,
 
-       'skip_hash_check' => TRUE,
 
-       'input_format' => $format,
 
-     ));
 
-     // Import CSV file.
 
-     $this->importFile('syndication', $this->absolutePath() . '/tests/feeds/node_summary.csv');
 
-     $this->assertText('Created 3 nodes');
 
-     $this->assertNodeSummaryValues();
 
-     // Check that text format is applied correctly.
 
-     $this->drupalGet('node/1/edit');
 
-     $this->assertNodeFieldValue('format', $format);
 
-     // Check the teasers of the three imported nodes, assumed to be all present
 
-     // on the front page.
 
-     $this->assertNodeTeaserValues();
 
-     // Set a summary and a text for each imported node.
 
-     $edit = array(
 
-       'body[und][0][summary]' => 'Nam liber tempor summary',
 
-       'body[und][0][value]' => 'Nam liber tempor body',
 
-     );
 
-     $this->drupalPost('node/1/edit', $edit, t('Save'));
 
-     $this->drupalPost('node/2/edit', $edit, t('Save'));
 
-     $this->drupalPost('node/3/edit', $edit, t('Save'));
 
-     // Import the same CSV file again.
 
-     $this->importFile('syndication', $this->absolutePath() . '/tests/feeds/node_summary.csv');
 
-     $this->assertText('Updated 3 nodes');
 
-     $this->assertNodeSummaryValues();
 
-     $this->assertNodeTeaserValues();
 
-     // The previous texts of the nodes should no longer be visible.
 
-     $this->assertNoText('Nam liber tempor summary');
 
-     $this->assertNoText('Nam liber tempor body');
 
-     // Check that text format is applied correctly.
 
-     $this->drupalGet('node/1/edit');
 
-     $this->assertNodeFieldValue('format', $format);
 
-     $this->drupalGet('node/2/edit');
 
-     $this->assertNodeFieldValue('format', $format);
 
-     $this->drupalGet('node/3/edit');
 
-     $this->assertNodeFieldValue('format', $format);
 
-     // Remove the body mapping to check that the text format doesn't get updated
 
-     // from the summary.
 
-     $this->removeMappings('syndication', array(
 
-       2 => array(
 
-         'source' => 'body',
 
-         'target' => 'body',
 
-       ),
 
-     ));
 
-     // Change the text format and remove the body mapping to ensure that the
 
-     // text format doesn't change.
 
-     $this->setSettings('syndication', 'FeedsNodeProcessor', array(
 
-       'input_format' => 'plain_text',
 
-     ));
 
-     $this->importFile('syndication', $this->absolutePath() . '/tests/feeds/node_summary.csv');
 
-     $this->assertText('Updated 3 nodes');
 
-     // Check that text format remains at its previous value.
 
-     $this->drupalGet('node/1/edit');
 
-     $this->assertNodeFieldValue('format', $format);
 
-     $this->drupalGet('node/2/edit');
 
-     $this->assertNodeFieldValue('format', $format);
 
-     $this->drupalGet('node/3/edit');
 
-     $this->assertNodeFieldValue('format', $format);
 
-   }
 
-   /**
 
-    * Creates an importer with a summary mapper.
 
-    *
 
-    * @param $name
 
-    *   The natural name of the feed.
 
-    * @param $id
 
-    *   The persistent id of the feed.
 
-    *
 
-    * @return void
 
-    */
 
-   protected function createImporterWithSummaryMapper($name = 'Syndication', $id = 'syndication') {
 
-     // Create content type. A field named "body" which is of type "Long text and summary"
 
-     // will be created by default, so we don't need to create a field of that type here.
 
-     $typename = $this->createContentType(array());
 
-     // Create and configure importer.
 
-     $this->createImporterConfiguration($name, $id);
 
-     $this->setSettings('syndication', NULL, array(
 
-       'content_type' => '',
 
-       'import_period' => FEEDS_SCHEDULE_NEVER,
 
-     ));
 
-     $this->setPlugin('syndication', 'FeedsFileFetcher');
 
-     $this->setPlugin('syndication', 'FeedsCSVParser');
 
-     $this->setSettings('syndication', 'FeedsNodeProcessor', array('bundle' => $typename));
 
-     $this->addMappings('syndication', array(
 
-       0 => array(
 
-         'source' => 'title',
 
-         'target' => 'title',
 
-       ),
 
-       1 => array(
 
-         'source' => 'summary',
 
-         'target' => 'body:summary',
 
-       ),
 
-       2 => array(
 
-         'source' => 'body',
 
-         'target' => 'body',
 
-       ),
 
-       3 => array(
 
-         'source' => 'guid',
 
-         'target' => 'guid',
 
-         'unique' => TRUE,
 
-       ),
 
-     ));
 
-   }
 
-   /**
 
-    * Overrides FeedsMapperTestCase::getFormFieldsNames().
 
-    *
 
-    * Returns different form field names for:
 
-    * - body
 
-    *   This field doesn't have the "field_" prefix.
 
-    * - summary
 
-    *   Which is part of the body field.
 
-    * - format
 
-    *   The format of the body field.
 
-    */
 
-   protected function getFormFieldsNames($field_name, $index) {
 
-     switch ($field_name) {
 
-       case 'body':
 
-         return array("body[und][{$index}][value]");
 
-       case 'summary':
 
-         return array("body[und][{$index}][summary]");
 
-       case 'format':
 
-         return array("body[und][{$index}][format]");
 
-     }
 
-     return parent::getFormFieldsNames($field_name, $index);
 
-   }
 
-   /**
 
-    * Checks that the nodes match the imported values.
 
-    */
 
-   protected function assertNodeSummaryValues() {
 
-     // Check the three imported nodes.
 
-     $this->drupalGet('node/1/edit');
 
-     $this->assertNodeFieldValue('summary', 'Lorem ipsum summary');
 
-     $this->assertNodeFieldValue('body', 'Lorem ipsum body');
 
-     $this->drupalGet('node/2/edit');
 
-     $this->assertNodeFieldValue('summary', '');
 
-     $this->assertNodeFieldValue('body', 'Ut wisi enim ad minim veniam body');
 
-     $this->drupalGet('node/3/edit');
 
-     $this->assertNodeFieldValue('summary', '');
 
-     $this->assertNodeFieldValue('body', '');
 
-   }
 
-   /**
 
-    * Checks the frontpage for teaser values.
 
-    */
 
-   protected function assertNodeTeaserValues() {
 
-     $this->drupalGet('');
 
-     $this->assertText('Lorem ipsum summary');
 
-     $this->assertNoText('Lorem ipsum body');
 
-     $this->assertText('Ut wisi enim ad minim veniam body');
 
-   }
 
- }
 
 
  |