Пример #1
0
 public function testGeoPointType()
 {
     $message = NestedMessage::create();
     $geoJson = '{"type":"Point","coordinates":[102.0,0.5]}';
     $point = GeoPoint::fromArray(json_decode($geoJson, true));
     $message->set('location', $point);
     $this->assertSame($message->get('location')->getLatitude(), 0.5);
     $this->assertSame($message->get('location')->getLongitude(), 102.0);
     $this->assertSame($message->toArray()['location'], $point->toArray());
 }
Пример #2
0
<?php

error_reporting(-1);
date_default_timezone_set('UTC');
// Ensure that composer has installed all dependencies
if (!file_exists(dirname(__DIR__) . '/composer.lock')) {
    die("Dependencies must be installed using composer:\n\nphp composer.phar install\n\n" . "See http://getcomposer.org for help with installing composer\n");
}
// Include the composer autoloader
$loader = (require dirname(__DIR__) . '/vendor/autoload.php');
// auto registers the schema with the MessageResolver
// only done for tests or dynamic messages.
\Gdbots\Tests\Pbj\Fixtures\EmailMessage::schema();
\Gdbots\Tests\Pbj\Fixtures\NestedMessage::schema();
\Gdbots\Tests\Pbj\Fixtures\MapsMessage::schema();
Пример #3
0
 public function testCloneIsMutableAfterOriginalIsFrozen()
 {
     $message = $this->createEmailMessage();
     $nestedMessage = NestedMessage::create();
     $message->set('nested', $nestedMessage);
     $nestedMessage->set('test1', 'original');
     $message->freeze();
     $message2 = clone $message;
     $message2->set('from_name', 'marge')->get('nested')->set('test1', 'clone');
     try {
         $message->set('from_name', 'homer')->get('nested')->set('test1', 'original');
         $this->fail('Original message should still be immutable.');
     } catch (FrozenMessageIsImmutable $e) {
     }
 }
Пример #4
0
 protected function getTypeValues()
 {
     return ['BigInt' => [new BigNumber(0), new BigNumber('18446744073709551615')], 'Binary' => 'aG9tZXIgc2ltcHNvbg==', 'Blob' => 'aG9tZXIgc2ltcHNvbg==', 'Boolean' => [false, true], 'Date' => new \DateTime(), 'DateTime' => new \DateTime(), 'Decimal' => 3.14, 'DynamicField' => DynamicField::createIntVal('int_val', 1), 'Float' => 13213.032468, 'GeoPoint' => new GeoPoint(0.5, 102.0), 'IntEnum' => IntEnum::UNKNOWN(), 'Int' => [0, 4294967295], 'MediumInt' => [0, 16777215], 'MediumBlob' => 'aG9tZXIgc2ltcHNvbg==', 'MediumText' => 'medium text', 'Message' => NestedMessage::create(), 'MessageRef' => new MessageRef(NestedMessage::schema()->getCurie(), UuidIdentifier::generate()), 'Microtime' => Microtime::create(), 'SignedBigInt' => [new BigNumber('-9223372036854775808'), new BigNumber('9223372036854775807')], 'SignedMediumInt' => [-8388608, 8388607], 'SignedSmallInt' => [-32768, 32767], 'SignedTinyInt' => [-128, 127], 'SmallInt' => [0, 65535], 'StringEnum' => StringEnum::UNKNOWN(), 'String' => 'string', 'Text' => 'text', 'TimeUuid' => TimeUuidIdentifier::generate(), 'Timestamp' => time(), 'TinyInt' => [0, 255], 'Uuid' => UuidIdentifier::generate()];
 }