summaryrefslogtreecommitdiff
path: root/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2015-12-17 09:15:42 +0100
committerPierre Schmitz <pierre@archlinux.de>2015-12-17 09:44:51 +0100
commita1789ddde42033f1b05cc4929491214ee6e79383 (patch)
tree63615735c4ddffaaabf2428946bb26f90899f7bf /vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php
parent9e06a62f265e3a2aaabecc598d4bc617e06fa32d (diff)
Update to MediaWiki 1.26.0
Diffstat (limited to 'vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php')
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php93
1 files changed, 93 insertions, 0 deletions
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php
new file mode 100644
index 00000000..5448209d
--- /dev/null
+++ b/vendor/ruflin/elastica/test/lib/Elastica/Test/ScriptFieldsTest.php
@@ -0,0 +1,93 @@
+<?php
+namespace Elastica\Test;
+
+use Elastica\Document;
+use Elastica\Query;
+use Elastica\Script;
+use Elastica\ScriptFields;
+use Elastica\Test\Base as BaseTest;
+
+class ScriptFieldsTest extends BaseTest
+{
+ /**
+ * @group unit
+ */
+ 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());
+ }
+
+ /**
+ * @group unit
+ */
+ public function testSetScriptFields()
+ {
+ $query = new Query();
+ $script = new Script('1 + 2');
+
+ $scriptFields = new ScriptFields(array(
+ 'test' => $script,
+ ));
+ $query->setScriptFields($scriptFields);
+ $this->assertEquals($query->getParam('script_fields'), $scriptFields->toArray());
+
+ $query->setScriptFields(array(
+ 'test' => $script,
+ ));
+ $this->assertEquals($query->getParam('script_fields'), $scriptFields->toArray());
+ }
+
+ /**
+ * @group unit
+ * @expectedException \Elastica\Exception\InvalidException
+ */
+ public function testNameException()
+ {
+ $script = new Script('1 + 2');
+ $scriptFields = new ScriptFields(array($script));
+ }
+
+ /**
+ * @group functional
+ */
+ public function testQuery()
+ {
+ $index = $this->_createIndex();
+ $type = $index->getType('test');
+
+ $doc = new Document(1, array('firstname' => 'guschti', 'lastname' => 'ruflin'));
+ $type->addDocument($doc);
+ $index->refresh();
+
+ $query = new Query();
+ $script = new Script('1 + 2');
+ $scriptFields = new ScriptFields(array(
+ 'test' => $script,
+ ));
+ $query->setScriptFields($scriptFields);
+
+ $resultSet = $type->search($query);
+ $first = $resultSet->current()->getData();
+
+ // 1 + 2
+ $this->assertEquals(3, $first['test'][0]);
+ }
+}