<?php $app = "frontend"; include dirname(__FILE__) . '/../../../../test/bootstrap/functional.php'; include $configuration->getSymfonyLibDir() . '/vendor/lime/lime.php'; $folderProvider = new sfAssetsFolderProvider(); $assetProvider = new sfAssetsProvider(); $databaseManager = new sfDatabaseManager($configuration); $con = Propel::getConnection(); $con->beginTransaction(); try { // prepare test environment $folderProvider->doDeleteAll(); $assetProvider->doDeleteAll(); sfConfig::set('app_sfAssetsLibrary_upload_dir', 'medias'); $root = new sfAssetFolder(); $root->setName(sfConfig::get('app_sfAssetsLibrary_upload_dir')); $folderProvider->createRoot($root); $root->save(); $rootId = $root->getId(); // run the test $t = new lime_test(10, new lime_output_color()); $t->diag('sfAssetFolder::getName()'); # $sfAssetFolder is /root/Test_Directory $sfAssetFolder = new sfAssetFolder(); $sfAssetFolder->setName('Test_Directory'); $sfAssetFolder->insertAsFirstChildOf($root); $sfAssetFolder->save(); $t->is($sfAssetFolder->getName(), 'Test_Directory', 'getName() returns the folder name'); $t->diag('sfAssetFolder::getRelativePath()'); $t->is($sfAssetFolder->getRelativePath(), $root->getRelativePath() . '/' . $sfAssetFolder->getName(), 'getRelativePath() returns the folder relative path, including its own name');
<?php $app = "frontend"; include dirname(__FILE__) . '/../../../../test/bootstrap/functional.php'; include $configuration->getSymfonyLibDir() . '/vendor/lime/lime.php'; $folderProvider = new sfAssetsFolderProvider(); $assetProvider = new sfAssetsProvider(); $databaseManager = new sfDatabaseManager($configuration); $con = Propel::getConnection(); $con->beginTransaction(); try { // prepare test environment $folderProvider->doDeleteAll(); $assetProvider->doDeleteAll(); sfConfig::set('app_sfAssetsLibrary_upload_dir', 'medias'); $root = new sfAssetFolder(); $root->setName(sfConfig::get('app_sfAssetsLibrary_upload_dir')); $folderProvider->createRoot($root); $root->save(); // run the tests $t = new lime_test(23, new lime_output_color()); $t->diag('sfAsset'); $sfAsset = new sfAsset(); $sfAsset->setsfAssetFolder($root); $t->isa_ok($sfAsset->getsfAssetFolder(), 'sfAssetFolder', 'sfAsset can have root as folder'); $sfAsset->setFilename('filename.jpg'); $t->diag('sfAsset::getRelativePath()'); $t->is($sfAsset->getRelativePath(), sfConfig::get('app_sfAssetsLibrary_upload_dir') . DIRECTORY_SEPARATOR . 'filename.jpg', 'getRelativePath() returns the path relative to the media directory'); $t->diag('sfAsset::getFullPath()'); $t->is($sfAsset->getFullPath(), sfConfig::get('sf_web_dir') . DIRECTORY_SEPARATOR . sfConfig::get('app_sfAssetsLibrary_upload_dir') . DIRECTORY_SEPARATOR . 'filename.jpg', 'getFullPath() returns the complete asset path on the disk'); $t->is($sfAsset->getFullPath('small'), sfConfig::get('sf_web_dir') . DIRECTORY_SEPARATOR . sfConfig::get('app_sfAssetsLibrary_upload_dir') . DIRECTORY_SEPARATOR . 'thumbnail/small_filename.jpg', 'getFullPath(\'small\') returns the complete small thumbnail path on the disk');
<?php $app = "frontend"; include dirname(__FILE__) . '/../../../../test/bootstrap/functional.php'; include $configuration->getSymfonyLibDir() . '/vendor/lime/lime.php'; $folderProvider = new sfAssetsFolderProvider(); $assetProvider = new sfAssetsProvider(); $databaseManager = new sfDatabaseManager($configuration); $con = Propel::getConnection(); $con->beginTransaction(); try { // prepare test environment $folderProvider->doDeleteAll(); $assetProvider->doDeleteAll(); sfConfig::set('app_sfAssetsLibrary_upload_dir', 'medias'); $f = new sfAssetFolder(); $f->setName(sfConfig::get('app_sfAssetsLibrary_upload_dir')); $folderProvider->createRoot($f); $f->save(); // run the test $t = new lime_test(13, new lime_output_color()); $t->diag('sfAssetFolderPeer'); $sfAssetFolder = $folderProvider->retrieveByPath(sfConfig::get('app_sfAssetsLibrary_upload_dir', 'media')); $t->ok($sfAssetFolder->isRoot(), 'retrieveByPath() retrieves root from app_sfAssetsLibrary_upload_dir string'); $sfAssetFolder = $folderProvider->retrieveByPath(); $t->ok($sfAssetFolder->isRoot(), 'retrieveByPath() retrieves root from empty string'); $sfAssetFolder = $folderProvider->createFromPath(sfConfig::get('app_sfAssetsLibrary_upload_dir', 'media') . '/simple'); $t->isa_ok($sfAssetFolder, 'sfAssetFolder', 'createFromPath() creates a sfAssetFolder from simple string'); $t->isa_ok($sfAssetFolder->retrieveParent(), 'sfAssetFolder', 'createFromPath() from simple string has a parent'); $t->ok($sfAssetFolder->retrieveParent()->isRoot(), 'createFromPath() creates a root child from simple string'); $sfAssetFolder2 = $folderProvider->createFromPath(sfConfig::get('app_sfAssetsLibrary_upload_dir', 'media') . '/simple/subfolder');
<?php include dirname(__FILE__) . '/../bootstrap/functional.php'; $folderProvider = new sfAssetsFolderProvider(); $assetProvider = new sfAssetsProvider(); $subdir1 = $folderProvider->retrieveByPath('TESTsubdir1'); $subdir2 = $folderProvider->retrieveByPath('TESTsubdir2'); $browser = new sfTestFunctional(new sfBrowser()); $browser->setTester('propel', 'sfTesterPropel'); $browser->info('assets list')->get('/sfAsset/dir/media')->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'list')->end()->with('response')->begin()->isStatusCode(200)->checkElement('div#sf_asset_bar p:first-child', '/media/')->checkElement('div#sf_asset_bar p:nth-child(2)', '/2 subfolders/')->checkElement('div#sf_asset_bar p:nth-child(3)', '/3 files, 3 KiB/')->checkElement('div#sf_asset_container div.assetImage', 5)->checkElement('div#sf_asset_container div.assetImage img[src$="folder.png"]', 2)->checkElement('div#sf_asset_container div.assetImage img[src$="asset1.png"]', 1)->checkElement('div#sf_asset_container div.assetImage:nth-child(4)', '/asset1/')->checkElement('div#sf_asset_container div.assetImage:nth-child(5)', '/asset2/')->checkElement('div#sf_asset_container div.assetImage:nth-child(6)', '/asset3/')->end()->info('sorting options')->click('Sort by date')->with('response')->begin()->checkElement('div#sf_asset_container div.assetImage:nth-child(4)', '/asset3/')->checkElement('div#sf_asset_container div.assetImage:nth-child(5)', '/asset2/')->checkElement('div#sf_asset_container div.assetImage:nth-child(6)', '/asset1/')->end()->click('Sort by name')->with('response')->begin()->checkElement('div#sf_asset_container div.assetImage:nth-child(4)', '/asset1/')->checkElement('div#sf_asset_container div.assetImage:nth-child(5)', '/asset2/')->checkElement('div#sf_asset_container div.assetImage:nth-child(6)', '/asset3/')->end()->info('enter first subfolder')->click('a[href$="media/TESTsubdir1"]')->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'list')->end()->with('response')->begin()->isStatusCode(200)->checkElement('div#sf_asset_bar p:first-child', '/TESTsubdir1/')->checkElement('div#sf_asset_container div.assetImage', 2)->checkElement('div#sf_asset_container div.assetComment', '/\\.\\./')->end()->info('return to list')->click('a[href$="media"]')->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'list')->end()->info('add new asset')->click('a[href$="media/TESTsubdir1"]')->click('input[value="Add"]', array('sf_asset' => array('file' => '')))->with('form')->begin()->hasErrors(1)->isError('file', 'required')->end()->get('/sfAsset/dir/media/TESTsubdir1')->click('input[value="Add"]', array('sf_asset' => array('file' => dirname(__FILE__) . '/../data/demo.png')))->with('form')->hasErrors(false)->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'addQuick')->end()->with('response')->isRedirected()->followRedirect()->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'edit')->end()->with('response')->begin()->isStatusCode(200)->checkElement('div#sf_asset_container div.content', '/demo\\.png/')->end()->with('propel')->check('sfAsset', array('folder_id' => $subdir1->getId(), 'filename' => 'demo.png', 'description' => 'demo.png', 'type' => 'image', 'filesize' => 4))->info('edit asset')->click('input.sf_admin_action_save', array('sf_asset' => array('description' => 'this is a demo image', 'author' => 'Massimiliano Arione', 'copyright' => '2010')))->with('form')->hasErrors(false)->with('response')->isRedirected()->followRedirect()->with('response')->begin()->checkElement('div.save-ok', '/Your modifications have been saved/')->end()->with('propel')->check('sfAsset', array('folder_id' => $subdir1->getId(), 'filename' => 'demo.png', 'description' => 'this is a demo image', 'author' => 'Massimiliano Arione', 'type' => 'image', 'filesize' => 4))->info('create a new folder')->click('TESTsubdir1')->click('input[value="Create"]', array('sf_asset_folder' => array('name' => '')))->with('form')->begin()->hasErrors(1)->isError('name', 'required')->end()->get('/sfAsset/dir/media/TESTsubdir1')->click('input[value="Create"]', array('sf_asset_folder' => array('name' => 'foobar')))->with('form')->hasErrors(false)->with('propel')->check('sfAssetFolder', array('tree_left' => 3, 'tree_right' => 4, 'name' => 'foobar', 'relative_path' => 'media/TESTsubdir1/foobar'))->info('rename folder')->with('response')->isRedirected()->followRedirect()->click('input[value="Rename"]', array('sf_asset_folder' => array('name' => 'barfoo')))->with('form')->hasErrors(false)->with('propel')->check('sfAssetFolder', array('tree_left' => 3, 'tree_right' => 4, 'name' => 'barfoo', 'relative_path' => 'media/TESTsubdir1/barfoo'))->info('delete folder')->with('response')->isRedirected()->followRedirect()->click('Delete folder', array(), array('method' => 'delete', '_with_csrf' => true))->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'deleteFolder')->end()->with('propel')->check('sfAssetFolder', array('tree_left' => 3, 'tree_right' => 4, 'name' => 'barfoo', 'relative_path' => 'media/TESTsubdir1/barfoo'), false)->with('response')->isRedirected()->followRedirect()->with('response')->begin()->checkElement('div.save-ok', '/The folder has been deleted/')->end()->info('move folder')->click('input[value="Move"]', array('sf_asset_folder' => array('parent_folder' => $subdir2->getId())))->with('form')->hasErrors(false)->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'moveFolder')->end()->with('propel')->check('sfAssetFolder', array('tree_left' => 3, 'tree_right' => 4, 'name' => 'TESTsubdir1', 'relative_path' => 'media/TESTsubdir2/TESTsubdir1'))->with('response')->isRedirected()->followRedirect()->with('response')->begin()->checkElement('div.save-ok', '/The folder has been moved/')->end()->info('move asset')->click('a[title="demo.png"]')->click('input[value="Move"]', array('sf_asset' => array('parent_folder' => $subdir2->getId())))->with('form')->hasErrors(false)->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'moveAsset')->end()->with('response')->isRedirected()->followRedirect()->with('response')->begin()->checkElement('div.save-ok', '/The file has been moved/')->end()->with('propel')->check('sfAsset', array('folder_id' => $subdir2->getId(), 'filename' => 'demo.png', 'description' => 'this is a demo image', 'type' => 'image', 'filesize' => 4))->info('rename asset')->click('input[value="Rename"]', array('sf_asset' => array('filename' => 'demorenamed.png')))->with('form')->hasErrors(false)->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'renameAsset')->end()->with('response')->isRedirected()->followRedirect()->with('response')->begin()->checkElement('div.save-ok', '/The file has been renamed/')->end()->with('propel')->check('sfAsset', array('folder_id' => $subdir2->getId(), 'filename' => 'demorenamed.png', 'description' => 'this is a demo image', 'type' => 'image'))->info('replace asset')->click('input[value="Replace"]', array('sf_asset' => array('file' => dirname(__FILE__) . '/../data/propel.gif')))->with('form')->hasErrors(false)->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'replaceAsset')->end()->with('response')->isRedirected()->followRedirect()->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'edit')->end()->with('response')->begin()->checkElement('div.save-ok', '/The file has been replaced/')->end()->with('propel')->check('sfAsset', array('folder_id' => $subdir2->getId(), 'filename' => 'demorenamed.png', 'description' => 'this is a demo image', 'type' => 'image'))->info('delete asset')->click('Delete', array(), array('method' => 'delete', '_with_csrf' => true))->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'deleteAsset')->end()->with('propel')->check('sfAsset', array('folder_id' => $subdir2->getId(), 'filename' => 'propel.gif', 'type' => 'image'), false)->with('response')->isRedirected()->followRedirect()->with('response')->begin()->checkElement('div.save-ok', '/The file has been deleted/')->end()->info('mass upload')->click('media')->click('Mass upload')->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'massUpload')->end()->with('response')->begin()->isValid(true)->end()->click('Upload', array('sf_asset' => array('folder_id' => $subdir1->getId(), 'file_1' => dirname(__FILE__) . '/../data/demo2.png', 'file_2' => dirname(__FILE__) . '/../data/propel2.gif')))->with('form')->hasErrors(false)->with('propel')->begin()->check('sfAsset', array('folder_id' => $subdir1->getId(), 'filename' => 'demo2.png', 'type' => 'image'))->check('sfAsset', array('folder_id' => $subdir1->getId(), 'filename' => 'propel2.gif', 'type' => 'image'))->end()->info('search')->get('/sfAsset/dir/media')->click('input[value="Search"]')->with('form')->begin()->hasErrors(false)->end()->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'search')->end()->with('response')->begin()->checkElement('div.search_result', 7)->end()->click('input[value="Search"]', array('sf_asset_filters' => array('filename' => array('text' => 'asset1'))))->with('form')->begin()->hasErrors(false)->end()->with('request')->begin()->isParameter('module', 'sfAsset')->isParameter('action', 'search')->end()->with('response')->begin()->checkElement('div.search_result', 3)->end(); // TODO more tests...
<?php $app = "frontend"; include dirname(__FILE__) . '/../../../../test/bootstrap/functional.php'; include $configuration->getSymfonyLibDir() . '/vendor/lime/lime.php'; $folderProvider = new sfAssetsFolderProvider(); $assetProvider = new sfAssetsProvider(); $databaseManager = new sfDatabaseManager($configuration); $con = Propel::getConnection(); $con->beginTransaction(); try { // prepare test environment $folderProvider->doDeleteAll(); $assetProvider->doDeleteAll(); sfConfig::set('app_sfAssetsLibrary_upload_dir', 'medias'); $f = new sfAssetFolder(); $f->setName(sfConfig::get('app_sfAssetsLibrary_upload_dir')); sfAssetFolderPeer::createRoot($f); $f->save(); $t = new lime_test(5, new lime_output_color()); $t->diag('sfAssetPeer'); $t->is($assetProvider->retrieveFromUrl(sfAssetFolderPeer::retrieveRoot()->getRelativePath() . '/filename.jpg'), null, '$assetProvider->retrieveFromUrl() returns null when a URL is not found'); $t->is($assetProvider->exists(sfAssetFolderPeer::retrieveRoot()->getId(), 'filename.jpg'), false, '$assetProvider->exists() returns false when an asset is not found'); $sfAsset = new sfAsset(); $sfAsset->setsfAssetFolder(sfAssetFolderPeer::retrieveRoot()); $sfAsset->setFilename('filename.jpg'); $sfAsset->save($con); $t->is($assetProvider->retrieveFromUrl(sfAssetFolderPeer::retrieveRoot()->getRelativePath() . '/filename.jpg')->getId(), $sfAsset->getId(), '$assetProvider->retrieveFromUrl() finds an asset from its URL'); $t->is($assetProvider->retrieveFromUrl($sfAsset->getUrl())->getId(), $sfAsset->getId(), '$assetProvider->retrieveFromUrl() finds an asset from the result of `getUrl()`'); $t->is($assetProvider->exists(sfAssetFolderPeer::retrieveRoot()->getId(), 'filename.jpg'), true, '$assetProvider->exists() returns true when an asset is found'); } catch (Exception $e) {