public function FeedsExJmesPathUnitTests::testBatchParsing in Feeds extensible parsers 7.2
Tests batch parsing.
File
- src/Tests/ FeedsExJmesPath.test, line 104 
- Contains tests for FeedsExJmesPath.
Class
- FeedsExJmesPathUnitTests
- Unit tests for FeedsExJmesPath.
Code
public function testBatchParsing() {
  // Set batch limit.
  $this
    ->variableSet('feeds_process_limit', 1);
  $parser = FeedsConfigurable::instance('FeedsExJmesPath', 'test_parser');
  $fetcher_result = new FeedsFetcherResult(file_get_contents($this->moduleDir . '/tests/resources/test.json'));
  $parser
    ->setConfig(array(
    'context' => array(
      'value' => 'items',
    ),
    'sources' => array(
      'title' => array(
        'name' => 'Title',
        'value' => 'title',
      ),
      'description' => array(
        'name' => 'Title',
        'value' => 'description',
      ),
    ),
  ));
  $result = $parser
    ->parse($this->source, $fetcher_result);
  $this
    ->assertEqual(count($result->items), 1, format_string('@count items parsed.', array(
    '@count' => count($result->items),
  )));
  $this
    ->assertEqual('I am a title0', $result->items[0]['title']);
  $this
    ->assertEqual('I am a description0', $result->items[0]['description']);
  $result = $parser
    ->parse($this->source, $fetcher_result);
  $this
    ->assertEqual(count($result->items), 1, format_string('@count items parsed.', array(
    '@count' => count($result->items),
  )));
  $this
    ->assertEqual('I am a title1', $result->items[0]['title']);
  $this
    ->assertEqual('I am a description1', $result->items[0]['description']);
  $result = $parser
    ->parse($this->source, $fetcher_result);
  $this
    ->assertEqual(count($result->items), 1, format_string('@count items parsed.', array(
    '@count' => count($result->items),
  )));
  $this
    ->assertEqual('I am a title2', $result->items[0]['title']);
  $this
    ->assertEqual('I am a description2', $result->items[0]['description']);
  // We should be out of items.
  $result = $parser
    ->parse($this->source, $fetcher_result);
  $this
    ->assertEqual(count($result->items), 0, format_string('@count items parsed.', array(
    '@count' => count($result->items),
  )));
}