/** * This test is a safeguard to make sure hashes are not changed unintentionally. */ public function testHashStability() { $snak = new PropertyValueSnak(new PropertyId('P1'), new StringValue('a')); $hash = $snak->getHash(); // @codingStandardsIgnoreStart $expected = sha1('C:41:"Wikibase\\DataModel\\Snak\\PropertyValueSnak":53:{a:2:{i:0;i:1;i:1;C:22:"DataValues\\StringValue":1:{a}}}'); // @codingStandardsIgnoreEnd $this->assertSame($expected, $hash); }
public function invalidGuidProvider() { $qualifierSnak = new PropertyValueSnak(722, new StringValue('abc')); $hash = $qualifierSnak->getHash(); return array(array('xyz', $hash), array('x$y$z', $hash)); }
public function validateProvider() { $p11 = new PropertyId('P11'); $q17 = new ItemId('Q17'); $item = new Item($q17); $claimGuid = $this->mockProvider->getGuidGenerator()->newGuid($q17); $oldSnak = new PropertyValueSnak($p11, new StringValue("old qualifier")); $snak = new PropertyNoValueSnak($p11); $qualifiers = new SnakList(array($oldSnak)); $item->getStatements()->addNewStatement($snak, $qualifiers, null, $claimGuid); //NOTE: the mock validator will consider the string "INVALID" to be invalid. $badSnak = new PropertyValueSnak($p11, new StringValue('INVALID')); $brokenSnak = new PropertyValueSnak($p11, new NumberValue(23)); $snakHash = $oldSnak->getHash(); $cases = array(); $cases['invalid snak value'] = array($item, $claimGuid, $badSnak, ''); $cases['invalid snak value type'] = array($item, $claimGuid, $brokenSnak, $snakHash); return $cases; }