/** * Constructor. */ public function __construct() { $methods = \Sledgehammer\get_public_methods($this); foreach ($methods as $index => $method) { if (substr($method, 0, 1) == '_') { unset($methods[$index]); // Functies die beginnen met een "_" uit de publicMethods halen } } $this->publicMethods = array_diff($methods, array('execute', 'getPath', 'file', 'folder', 'onFileNotFound', 'onFolderNotFound', 'getDocument')); // Prevent API methods from being called via a public url. }
public function test_AutoCompleteHelper() { $repoBase = new Repository(); $repoBase->registerBackend(new DatabaseRepositoryBackend($this->dbLink)); $filename = \Sledgehammer\TMP_DIR . 'Test_AutoCompleteRepository.php'; $class = 'AutoCompleteTestRepository'; $repoBase->writeAutoCompleteHelper($filename, $class); include $filename; $methods = array_diff(\Sledgehammer\get_public_methods($class), \Sledgehammer\get_public_methods(Repository::class)); sort($methods); $this->assertEquals($methods, array('allCustomers', 'allGroups', 'allOrders', 'createCustomer', 'createGroup', 'createOrder', 'deleteCustomer', 'deleteGroup', 'deleteOrder', 'getCustomer', 'getGroup', 'getOrder', 'oneCustomer', 'oneGroup', 'oneOrder', 'reloadCustomer', 'reloadCustomers', 'reloadGroup', 'reloadGroups', 'reloadOrder', 'reloadOrders', 'saveCustomer', 'saveGroup', 'saveOrder')); $repo = new \AutoCompleteTestRepository(); $repo->registerBackend(new DatabaseRepositoryBackend($this->dbLink)); // @todo? Write serialized backends into AutoGenerated class? $c1 = $repo->getCustomer(1); $this->assertEquals($c1->name, 'Bob Fanger'); $c1->name = 'Charlie Fanger'; $repo->saveCustomer($c1); $this->assertLastQuery("UPDATE customers SET name = 'Charlie Fanger' WHERE id = 1"); $c1->orders = array(); $c1->ratings = array(); $c1->groups = array(); $repo->saveCustomer($c1); $repo->deleteCustomer($c1); $this->assertLastQuery('DELETE FROM customers WHERE id = 1'); }