Projet

Général

Profil

Révision 41cc1b08

Ajouté par Assos Assos il y a presque 9 ans

Update feeds 7.x-2.0-alpha9 -> 7.x-2.0-beta1

Install lib simplepie 1.3.1

Voir les différences:

drupal7/sites/all/modules/feeds/tests/feeds_mapper_date.test
2 2

  
3 3
/**
4 4
 * @file
5
 * Test case for CCK date field mapper mappers/date.inc.
5
 * Contains FeedsMapperDateTestCase.
6 6
 */
7 7

  
8 8
/**
9
 * Class for testing Feeds <em>content</em> mapper.
9
 * Test case for CCK date field mapper mappers/date.inc.
10 10
 *
11 11
 * @todo: Add test method iCal
12 12
 * @todo: Add test method for end date
13 13
 */
14 14
class FeedsMapperDateTestCase extends FeedsMapperTestCase {
15

  
15 16
  public static function getInfo() {
16 17
    return array(
17 18
      'name' => 'Mapper: Date',
......
118 119
      return parent::getFormFieldsNames($field_name, $index);
119 120
    }
120 121
  }
122

  
123
  /**
124
   * Tests if values are cleared out when an empty value is provided.
125
   */
126
  public function testClearOutValues() {
127
    // Create content type.
128
    $typename = $this->createContentType(array(), array(
129
      'date' => 'date',
130
      'datestamp' => 'datestamp',
131
      'datetime' => 'datetime',
132
    ));
133

  
134
    // Hack to get date fields to not round to every 15 minutes.
135
    foreach (array('date', 'datestamp', 'datetime') as $field) {
136
      $field = 'field_' . $field;
137
      $edit = array(
138
        'widget_type' => 'date_select',
139
      );
140
      $this->drupalPost('admin/structure/types/manage/' . $typename . '/fields/' . $field . '/widget-type', $edit, 'Continue');
141
      $edit = array(
142
        'instance[widget][settings][increment]' => 1,
143
        'field[settings][enddate_get]' => 1,
144
      );
145
      $this->drupalPost('admin/structure/types/manage/' . $typename . '/fields/' . $field, $edit, 'Save settings');
146
      $edit = array(
147
        'widget_type' => 'date_text',
148
      );
149
      $this->drupalPost('admin/structure/types/manage/' . $typename . '/fields/' . $field . '/widget-type', $edit, 'Continue');
150
    }
151

  
152
    // Create and configure importer.
153
    $this->createImporterConfiguration('Content CSV', 'csv');
154
    $this->setSettings('csv', NULL, array(
155
      'content_type' => '',
156
      'import_period' => FEEDS_SCHEDULE_NEVER,
157
    ));
158
    $this->setPlugin('csv', 'FeedsFileFetcher');
159
    $this->setPlugin('csv', 'FeedsCSVParser');
160
    $this->setSettings('csv', 'FeedsNodeProcessor', array(
161
      'bundle' => $typename,
162
      'update_existing' => 1,
163
    ));
164
    $this->addMappings('csv', array(
165
      0 => array(
166
        'source' => 'title',
167
        'target' => 'title',
168
        'unique' => TRUE,
169
      ),
170
      1 => array(
171
        'source' => 'created',
172
        'target' => 'field_date:start',
173
      ),
174
      2 => array(
175
        'source' => 'end',
176
        'target' => 'field_date:end',
177
      ),
178
      3 => array(
179
        'source' => 'created',
180
        'target' => 'field_datestamp:start',
181
      ),
182
      4 => array(
183
        'source' => 'end',
184
        'target' => 'field_datestamp:end',
185
      ),
186
      5 => array(
187
        'source' => 'created',
188
        'target' => 'field_datetime:start',
189
      ),
190
      6 => array(
191
        'source' => 'end',
192
        'target' => 'field_datetime:end',
193
      ),
194
    ));
195

  
196
    // Import CSV file.
197
    $this->importFile('csv', $this->absolutePath() . '/tests/feeds/content_date.csv');
198
    $this->assertText('Created 2 nodes');
199

  
200
    // Check the imported nodes.
201
    $date_values = array(
202
      1 => array(
203
        'created' => '09/03/2009 - 00:12',
204
        'end' => '11/03/2012 - 09:58',
205
      ),
206
      2 => array(
207
        'created' => '09/02/2009 - 22:59',
208
        'end' => '11/03/2012 - 08:46',
209
      ),
210
    );
211
    for ($i = 1; $i <= 2; $i++) {
212
      $this->drupalGet("node/$i/edit");
213
      $this->assertNodeFieldValue('date', $date_values[$i]['created']);
214
      $this->assertFieldByName('field_date[und][0][value2][date]', $date_values[$i]['end']);
215
      $this->assertNodeFieldValue('datestamp', $date_values[$i]['created']);
216
      $this->assertFieldByName('field_datestamp[und][0][value2][date]', $date_values[$i]['end']);
217
      $this->assertNodeFieldValue('datetime', $date_values[$i]['created']);
218
      $this->assertFieldByName('field_datetime[und][0][value2][date]', $date_values[$i]['end']);
219
    }
220

  
221
    // Import CSV file with empty values.
222
    $this->importFile('csv', $this->absolutePath() . '/tests/feeds/content_empty.csv');
223
    $this->assertText('Updated 2 nodes');
224

  
225
    // Check if all values were cleared out for both nodes.
226
    for ($i = 1; $i <= 2; $i++) {
227
      $this->drupalGet("node/$i/edit");
228
      $this->assertNoNodeFieldValue('date', $date_values[$i]['created']);
229
      $this->assertNoFieldByName('field_date[und][0][value2][date]', $date_values[$i]['end']);
230
      $this->assertNoNodeFieldValue('datestamp', $date_values[$i]['created']);
231
      $this->assertNoFieldByName('field_datestamp[und][0][value2][date]', $date_values[$i]['end']);
232
      $this->assertNoNodeFieldValue('datetime', $date_values[$i]['created']);
233
      $this->assertNoFieldByName('field_datetime[und][0][value2][date]', $date_values[$i]['end']);
234
      $this->drupalGet("node/$i");
235
      $this->assertNoText('date_label');
236
      $this->assertNoText('datestamp_label');
237
      $this->assertNoText('datetime_label');
238
    }
239

  
240
    // Re-import the first file again and check if the values returned.
241
    $this->importFile('csv', $this->absolutePath() . '/tests/feeds/content_date.csv');
242
    $this->assertText('Updated 2 nodes');
243
    for ($i = 1; $i <= 2; $i++) {
244
      $this->drupalGet("node/$i/edit");
245
      $this->assertNodeFieldValue('date', $date_values[$i]['created']);
246
      $this->assertFieldByName('field_date[und][0][value2][date]', $date_values[$i]['end']);
247
      $this->assertNodeFieldValue('datestamp', $date_values[$i]['created']);
248
      $this->assertFieldByName('field_datestamp[und][0][value2][date]', $date_values[$i]['end']);
249
      $this->assertNodeFieldValue('datetime', $date_values[$i]['created']);
250
      $this->assertFieldByName('field_datetime[und][0][value2][date]', $date_values[$i]['end']);
251
    }
252

  
253
    // Import CSV file with non-existent values.
254
    $this->importFile('csv', $this->absolutePath() . '/tests/feeds/content_non_existent.csv');
255
    $this->assertText('Updated 2 nodes');
256

  
257
    // Check if all values were cleared out for node 1.
258
    $this->drupalGet('node/1/edit');
259
    $this->assertNoNodeFieldValue('date', $date_values[1]['created']);
260
    $this->assertNoFieldByName('field_date[und][0][value2][date]', $date_values[1]['end']);
261
    $this->assertNoNodeFieldValue('datestamp', $date_values[1]['created']);
262
    $this->assertNoFieldByName('field_datestamp[und][0][value2][date]', $date_values[1]['end']);
263
    $this->assertNoNodeFieldValue('datetime', $date_values[1]['created']);
264
    $this->assertNoFieldByName('field_datetime[und][0][value2][date]', $date_values[1]['end']);
265
    // Check if labels for fields that should be cleared out are not shown.
266
    $this->drupalGet('node/1');
267
    $this->assertNoText('date_label');
268
    $this->assertNoText('datestamp_label');
269
    $this->assertNoText('datetime_label');
270
  }
271

  
121 272
}

Formats disponibles : Unified diff