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