+++ /dev/null
-<?php
-
-namespace RedUNIT\Base;
-
-use RedUNIT\Base as Base;
-use RedBeanPHP\Facade as R;
-
-/**
- * Issue 408
- *
- * Tests whether this specific issue on github has been resolved.
- * Tests whether we can use export on beans having arrays in properties.
- *
- * @file RedUNIT/Mysql/Issue408.php
- * @desc Test whether we can export beans with arrays in properties
- * (deserialized/serialized on open/update).
- * @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 Issue408 extends Base
-{
-
- /**
- * In the past it was not possible to export beans
- * like 'feed' (Model_Feed).
- *
- * @return void
- */
- public function testExportIssue()
- {
- R::nuke();
- $feed = R::dispense( 'feed' );
- $feed->post = array(
- 'first',
- 'second'
- );
- R::store( $feed );
- $rows = R::getAll('SELECT * FROM feed');
- asrt( $rows[0]['post'], '["first","second"]' );
- $feed = $feed->fresh();
- asrt( is_array( $feed->post ), TRUE );
- asrt( $feed->post[0], 'first' );
- asrt( $feed->post[1], 'second' );
- R::store( $feed );
- $rows = R::getAll('SELECT * FROM feed');
- asrt( $rows[0]['post'], '["first","second"]' );
- $feed = R::load( 'feed', $feed->id );
- $feed->post[] = 'third';
- R::store( $feed );
- $rows = R::getAll('SELECT * FROM feed');
- asrt( $rows[0]['post'], '["first","second","third"]' );
- $feed = $feed->fresh();
- asrt( is_array( $feed->post ), TRUE );
- asrt( $feed->post[0], 'first' );
- asrt( $feed->post[1], 'second' );
- asrt( $feed->post[2], 'third' );
- //now the catch: can we use export?
- //PHP Fatal error: Call to a member function export() on a non-object
- $feeds = R::exportAll( R::find( 'feed' ) );
- asrt( is_array( $feeds ), TRUE );
- $feed = reset( $feeds );
- asrt( $feed['post'][0], 'first' );
- asrt( $feed['post'][1], 'second' );
- asrt( $feed['post'][2], 'third' );
- //can we also dup()?
- $feedOne = R::findOne( 'feed' );
- R::store( R::dup( $feedOne ) );
- asrt( R::count( 'feed' ), 2 );
- //can we delete?
- R::trash( $feedOne );
- asrt( R::count( 'feed' ), 1 );
- $feedTwo = R::findOne( 'feed' );
- $feed = $feedTwo->export();
- asrt( $feed['post'][0], 'first' );
- asrt( $feed['post'][1], 'second' );
- asrt( $feed['post'][2], 'third' );
- }
-}