You are here

function BiblioWebTestCase::assertBiblioFields in Bibliography Module 6.2

Same name and namespace in other branches
  1. 7 tests/BiblioWebTestCase.test \BiblioWebTestCase::assertBiblioFields()
  2. 7.2 tests/biblio.test \BiblioWebTestCase::assertBiblioFields()
3 calls to BiblioWebTestCase::assertBiblioFields()
BiblioImportExportUnitTest::testBiblioBibtexFileImport in tests/import.export.test
BiblioImportExportUnitTest::testBiblioTaggedFileImport in tests/import.export.test
BiblioImportExportUnitTest::testBiblioXMLFileImport in tests/import.export.test

File

tests/biblio.test, line 79

Class

BiblioWebTestCase

Code

function assertBiblioFields($node1, $node2, $fields = array()) {
  $count = 0;
  $cat = 0;
  foreach ($fields as $field) {
    if ($field == 'biblio_contributors') {
      foreach ($node1->{$field} as $cat => $authors) {
        foreach ($authors as $rank => $author) {
          if ($node1->biblio_contributors[$cat][$rank]['name'] != $node2->biblio_contributors[$cat][$rank]['name']) {
            $this
              ->assertEqual($node1->biblio_contributors[$cat][$rank]['name'], $node2->biblio_contributors[$cat][$rank]['name']);
            $count++;
          }
        }
      }
    }
    else {
      if (isset($node1->{$field}) && isset($node2->{$field}) && $node1->{$field} != $node2->{$field}) {
        $this
          ->assertEqual($node1->{$field}, $node2->{$field});
        $count++;
      }
    }
  }
  $this
    ->assertEqual($count, 0, "There were {$count} differences between the two nodes");
}