function testCustomFunction() { $c1 = ClassBuilder::i()->registerOne("\n class Pants {\n static function gimmeMeta() {\n return new \\Amiss\\Meta(__CLASS__, ['fields'=>['foo'=>true]]);\n }\n }\n "); $lm = new \Amiss\Mapper\Local('gimmeMeta'); $meta = $lm->getMeta($c1); $this->assertInstanceOf(\Amiss\Meta::class, $meta); }
public static function managerNoteModelCustom($classes, $deps = null) { $deps = self::managerNoteDefault($deps); list($ns, $classNames, $deps->classes) = ClassBuilder::i()->register($classes); if ($ns) { $deps->ns = $ns; } TableBuilder::create($deps->connector, $deps->mapper, $classNames); return $deps; }
public function testCanMapUnmapped() { $mapper = new \Amiss\Mapper\Note(); $name = ClassBuilder::i()->registerOne(' class Test {} '); $this->assertFalse($mapper->canMap($name)); }
public function testCanDeleteDisabled() { $c = ClassBuilder::i()->registerOne(' /** :amiss = {"canDelete": false}; */ class Artist { /** :amiss = {"field": { "primary": true, "type": "autoinc" }}; */ public $artistId; } '); $a = new $c(); $a->artistId = 1; $this->setExpectedExceptionRegexp(\Amiss\Exception::class, "/Meta .* prohibits delete/"); $this->manager->delete($a); }