jenkins-bot has submitted this change and it was merged.

Change subject: Make Lexeme implement FingerprintProvider
......................................................................


Make Lexeme implement FingerprintProvider

It's needed for using in Special:NewLexeme

Change-Id: I6b4afbb0f1119962486373958f6d4dec56df772f
---
M src/DataModel/Lexeme.php
M tests/phpunit/composer/DataModel/LexemeTest.php
2 files changed, 39 insertions(+), 1 deletion(-)

Approvals:
  Thiemo Mättig (WMDE): Looks good to me, approved
  jenkins-bot: Verified



diff --git a/src/DataModel/Lexeme.php b/src/DataModel/Lexeme.php
index f25fd2a..047c503 100644
--- a/src/DataModel/Lexeme.php
+++ b/src/DataModel/Lexeme.php
@@ -7,12 +7,14 @@
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Statement\StatementList;
 use Wikibase\DataModel\Statement\StatementListProvider;
+use Wikibase\DataModel\Term\Fingerprint;
+use Wikibase\DataModel\Term\FingerprintProvider;
 use Wikimedia\Assert\Assert;
 
 /**
  * @license GPL-2.0+
  */
-class Lexeme implements EntityDocument, StatementListProvider {
+class Lexeme implements EntityDocument, StatementListProvider, 
FingerprintProvider {
 
        const ENTITY_TYPE = 'lexeme';
 
@@ -27,6 +29,11 @@
        private $statements;
 
        /**
+        * @var Fingerprint
+        */
+       private $fingerprint;
+
+       /**
         * @param LexemeId|null $id
         * @param StatementList|null $statements
         */
@@ -37,6 +44,8 @@
                // TODO: add lemma, language and lexical category
                $this->id = $id;
                $this->statements = $statements ?: new StatementList();
+               // TODO: Remove this once Wikibase can work without fingerprint
+               $this->fingerprint = new Fingerprint();
        }
 
        /**
@@ -61,6 +70,20 @@
        }
 
        /**
+        * @return Fingerprint
+        */
+       public function getFingerprint() {
+               return $this->fingerprint;
+       }
+
+       /**
+        * @param Fingerprint $fingerprint
+        */
+       public function setFingerprint( Fingerprint $fingerprint ) {
+               $this->fingerprint = $fingerprint;
+       }
+
+       /**
         * @param EntityId $id
         *
         * @throws InvalidArgumentException
diff --git a/tests/phpunit/composer/DataModel/LexemeTest.php 
b/tests/phpunit/composer/DataModel/LexemeTest.php
index e9100e2..0e68f77 100644
--- a/tests/phpunit/composer/DataModel/LexemeTest.php
+++ b/tests/phpunit/composer/DataModel/LexemeTest.php
@@ -8,6 +8,9 @@
 use Wikibase\DataModel\Snak\PropertyNoValueSnak;
 use Wikibase\DataModel\Statement\Statement;
 use Wikibase\DataModel\Statement\StatementList;
+use Wikibase\DataModel\Term\Fingerprint;
+use Wikibase\DataModel\Term\Term;
+use Wikibase\DataModel\Term\TermList;
 use Wikibase\Lexeme\DataModel\Lexeme;
 use Wikibase\Lexeme\DataModel\LexemeId;
 use InvalidArgumentException;
@@ -212,4 +215,16 @@
                );
        }
 
+       public function testGetFingerprintSetFingerprint() {
+               $lexeme = new Lexeme( new LexemeId( 'L1' ) );
+
+               $fingerprint = new Fingerprint( new TermList( [ new Term( 'en', 
'English label' ) ] ) );
+
+               $this->assertTrue( $lexeme->getFingerprint()->isEmpty() );
+
+               $lexeme->setFingerprint( $fingerprint );
+
+               $this->assertSame( $fingerprint, $lexeme->getFingerprint() );
+       }
+
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/319658
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6b4afbb0f1119962486373958f6d4dec56df772f
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/WikibaseLexeme
Gerrit-Branch: master
Gerrit-Owner: Ladsgroup <ladsgr...@gmail.com>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>
Gerrit-Reviewer: Hoo man <h...@online.de>
Gerrit-Reviewer: Jakob <jakob.warkot...@wikimedia.de>
Gerrit-Reviewer: Ladsgroup <ladsgr...@gmail.com>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: WMDE-leszek <leszek.mani...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to