public function testEavQueue() { // set up Manufacturer records $field = EavField::getNewInstance('Manufacturer', EavField::DATATYPE_TEXT, EavField::TYPE_TEXT_SIMPLE); $field->save(); $data = array('first', 'second', 'third'); foreach ($data as $value) { $manufacturer = Manufacturer::getNewInstance($value); $manufacturer->getSpecification()->setAttributeValueByLang($field, 'en', $value . ' test'); $manufacturer->save(); } ActiveRecordModel::clearPool(); // fetch them from database $manufacturers = ActiveRecordModel::getRecordSetArray('Manufacturer', new ARSelectFilter()); foreach ($manufacturers as &$entry) { ActiveRecordModel::addToEavQueue('Manufacturer', $entry); } // duplicate $manufacturers = array_merge($manufacturers, $manufacturers); // load EAV data ActiveRecordModel::loadEav(); foreach ($manufacturers as $man) { $this->assertEqual($man['name'] . ' test', $man['attributes'][$field->getID()]['value_en']); } }