class FeedsTamperCSVTestCase in Feeds Tamper 7
Same name and namespace in other branches
- 6 tests/feeds_tamper.test \FeedsTamperCSVTestCase
Tests the special case that is FeedsCSVParser.
Hierarchy
- class \FeedsTamperWebTestHelper extends \FeedsWebTestCase
- class \FeedsTamperCSVTestCase
Expanded class hierarchy of FeedsTamperCSVTestCase
File
- tests/
feeds_tamper.test, line 238 - Tests for feeds_tamper.module.
View source
class FeedsTamperCSVTestCase extends FeedsTamperWebTestHelper {
public static function getInfo() {
return array(
'name' => 'Special case: CSV parser',
'description' => 'Tests the special case that is FeedsCSVParser. See <a href="http://drupal.org/node/1133724" target="_blank">#1133724</a>.',
'group' => 'Feeds Tamper',
);
}
public function test() {
$importer_name = $this
->randomName();
$importer_id = drupal_strtolower($importer_name);
// Set up an importer.
$this
->createImporterConfiguration($importer_name, $importer_id);
// Set and configure plugins and mappings.
$this
->setPlugin($importer_id, 'FeedsCSVParser');
// We have a space in the source cause that was a problem at one point.
$mappings = array(
0 => array(
'source' => 'a /T~!@#$%^&*()_+`<>;:itle✈',
'target' => 'title',
),
1 => array(
'source' => 'a Body.',
'target' => 'body',
),
2 => array(
'source' => 'a GUID',
'target' => 'guid',
'unique' => TRUE,
),
3 => array(
'source' => 'Blank source 1',
'target' => 'uid',
),
);
$this
->addMappings($importer_id, $mappings);
// Set update existing.
$this
->setSettings($importer_id, 'FeedsNodeProcessor', array(
'update_existing' => 1,
));
// Test basic plugin adding.
$settings = array(
'mode' => 0,
);
$id = $this
->addTamperPlugin($importer_id, 'a /T~!@#$%^&*()_+`<>;:itle✈', 'convert_case', $settings);
$id2 = $this
->addTamperPlugin($importer_id, 'a Body.', 'convert_case', $settings);
// Verify that Blank source works for CSV parser.
$this
->addTamperPlugin($importer_id, 'Blank source 1', 'default_value', array(
'default_value' => $this->admin_user->uid,
));
$path = $GLOBALS['base_url'] . '/' . drupal_get_path('module', 'feeds_tamper') . '/tests/feeds_tamper/';
$nid = $this
->createFeedNode($importer_id, $path . 'csv_test.csv', 'Testing CSV Parser');
$this
->assertText('Basic page Testing CSV Parser has been created.');
$this
->assertText('Created 2 nodes.');
$this
->drupalGet('node');
$this
->assertText('HELLO WORLD');
$this
->assertText('THIS IS A GREAT BODY.');
$this
->assertText('WORLD DOES NOT RESPOND');
$this
->assertText('THIS IS A SAD BODY.');
$this
->disableTamperPlugin($id);
$this
->disableTamperPlugin($id2);
$this
->drupalPost('node/' . $nid . '/import', array(), 'Import');
$this
->assertText('Updated 2 nodes.');
$this
->drupalGet('node');
$this
->assertText('Hello world');
$this
->assertText('This is a great body.');
$this
->assertText('World does not respond');
$this
->assertText('This is a sad body.');
$this
->drupalGet('node/2/edit');
$this
->assertFieldByName('name', $this->admin_user->name);
}
public function testRewrite() {
$importer_name = $this
->randomName();
$importer_id = drupal_strtolower($importer_name);
// Set up an importer.
$this
->createImporterConfiguration($importer_name, $importer_id);
// Set and configure plugins and mappings.
$this
->setPlugin($importer_id, 'FeedsCSVParser');
// We have a space in the source cause that was a problem at one point.
$mappings = array(
0 => array(
'source' => 'a /T~!@#$%^&*()_+`<>;:itle✈',
'target' => 'title',
),
1 => array(
'source' => 'a Body.',
'target' => 'Temporary target 1',
),
2 => array(
'source' => 'Blank source 1',
'target' => 'body',
),
);
$this
->addMappings($importer_id, $mappings);
// Copy the field to the node's body field.
$this
->addTamperPlugin($importer_id, 'Blank source 1', 'rewrite', array(
'text' => '[a body.]',
));
$path = $GLOBALS['base_url'] . '/' . drupal_get_path('module', 'feeds_tamper') . '/tests/feeds_tamper/';
$nid = $this
->createFeedNode($importer_id, $path . 'csv_test.csv', 'Testing CSV Parser');
$this
->assertText('Basic page Testing CSV Parser has been created.');
$this
->assertText('Created 2 nodes.');
$this
->drupalGet('node');
$this
->assertText('Hello world');
$this
->assertText('This is a great body.');
$this
->assertText('World does not respond');
$this
->assertText('This is a sad body.');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
FeedsTamperCSVTestCase:: |
public static | function | ||
FeedsTamperCSVTestCase:: |
public | function | ||
FeedsTamperCSVTestCase:: |
public | function | ||
FeedsTamperWebTestHelper:: |
protected | function | 1 | |
FeedsTamperWebTestHelper:: |
protected | function | ||
FeedsTamperWebTestHelper:: |
protected | function | ||
FeedsTamperWebTestHelper:: |
protected | function | ||
FeedsTamperWebTestHelper:: |
protected | function | 1 | |
FeedsTamperWebTestHelper:: |
protected | function | ||
FeedsTamperWebTestHelper:: |
protected | function | 1 | |
FeedsTamperWebTestHelper:: |
public | function | 3 |