+++ /dev/null
-<?php
-
-namespace RedUNIT\Base;
-
-use RedUNIT\Base as Base;
-use RedBeanPHP\Facade as R;
-use RedBeanPHP\OODBBean as OODBBean;
-
-/**
- * Keywords
- *
- * Tests whether we can use keywords as bean types and
- * property names without running into security or stablity issues.
- * RedBeanPHP should properly escape all bean types and properties
- * so we may use whatever string we want.
- *
- * @file RedUNIT/Base/Keywords.php
- * @desc Tests for possible keyword clashes.
- * @author Gabor de Mooij and the RedBeanPHP Community
- * @license New BSD/GPLv2
- *
- * (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community.
- * This source file is subject to the New BSD/GPLv2 License that is bundled
- * with this source code in the file license.txt.
- */
-class Keywords extends Base
-{
- /**
- * What drivers should be loaded for this test pack?
- *
- * CUBRID has inescapable keywords :/
- *
- * @return array
- */
- public function getTargetDrivers()
- {
- return array( 'mysql', 'pgsql', 'sqlite' ); // CUBRID excluded for now.
- }
-
- /**
- * Test if RedBeanPHP can properly handle keywords.
- *
- * @return void
- */
- public function testKeywords()
- {
- $keywords = array(
- 'anokeyword', 'znokeyword', 'group', 'drop',
- 'inner', 'join', 'select', 'table',
- 'int', 'cascade', 'float', 'call',
- 'in', 'status', 'order', 'limit',
- 'having', 'else', 'if', 'while',
- 'distinct', 'like'
- );
- foreach ( $keywords as $k ) {
- R::nuke();
- $bean = R::dispense( $k );
- $bean->$k = $k;
- $id = R::store( $bean );
- $bean = R::load( $k, $id );
- $bean2 = R::dispense( 'other' );
- $bean2->name = $k;
- $bean->bean = $bean2;
- $bean->ownBean[] = $bean2;
- $bean->sharedBean[] = $bean2;
- $id = R::store( $bean );
- R::trash( $bean );
- pass();
- }
- }
-}