Esempio n. 1
0
 public function testNewScriptFields()
 {
     $script = new Script('1 + 2');
     // addScript
     $scriptFields = new ScriptFields();
     $scriptFields->addScript('test', $script);
     $this->assertEquals($scriptFields->getParam('test'), $script->toArray());
     // setScripts
     $scriptFields = new ScriptFields();
     $scriptFields->setScripts(array('test' => $script));
     $this->assertEquals($scriptFields->getParam('test'), $script->toArray());
     // Constructor
     $scriptFields = new ScriptFields(array('test' => $script));
     $this->assertEquals($scriptFields->getParam('test'), $script->toArray());
 }
Esempio n. 2
0
 /**
  * @group unit
  */
 public function testSetScriptFieldsToArrayCast()
 {
     $query = new Query();
     $scriptFields = new ScriptFields();
     $scriptFields->addScript('script', new Script('script'));
     $query->setScriptFields($scriptFields);
     $scriptFields->addScript('another script', new Script('another script'));
     $anotherQuery = new Query();
     $anotherQuery->setScriptFields($scriptFields);
     $this->assertNotEquals($query->toArray(), $anotherQuery->toArray());
 }
Esempio n. 3
0
 /**
  * Set script fields
  *
  * @param  array|\Elastica\ScriptFields $scriptFields Script fields
  * @return \Elastica\Query              Current object
  * @link http://www.elasticsearch.org/guide/reference/api/search/script-fields.html
  */
 public function setScriptFields($scriptFields)
 {
     if (is_array($scriptFields)) {
         $scriptFields = new ScriptFields($scriptFields);
     }
     return $this->setParam('script_fields', $scriptFields->toArray());
 }