예제 #1
0
<?php

include_once dirname(__FILE__) . '/../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../bootstrap/database.php';
$t = new lime_test(null, new lime_output_color());
//------------------------------------------------------------
$t->diag('Member::getProfiles()');
$member = MemberPeer::retrieveByPK(1);
$t->isa_ok($member->getProfiles(), 'array', 'getProfiles() returns array');
//------------------------------------------------------------
$t->diag('Member::getProfile()');
$t->cmp_ok($member->getProfile('sex'), '===', 1, 'getProfile() returns a value');
$t->cmp_ok($member->getProfile('self_intro'), '===', 'よろしくお願いします。', 'getProfile() returns a value');
$t->cmp_ok($member->getProfile('example'), '===', NULL, 'getProfile() returns NULL if profileName is not registerd by member');
$t->cmp_ok($member->getProfile('unknown'), '===', NULL, 'getProfile() returns NULL if profileName does not exist');
예제 #2
0
<?php

include_once dirname(__FILE__) . '/../../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../../bootstrap/database.php';
$t = new lime_test(2, new lime_output_color());
$banner1 = Doctrine::getTable('Banner')->findOneByName('banner1');
$banner2 = Doctrine::getTable('Banner')->findOneByName('banner2');
//------------------------------------------------------------
$t->diag('Banner');
$t->diag('Banner::getRandomImage()');
$result = $banner1->getRandomImage();
$t->isa_ok($result, 'BannerImage');
$result = $banner2->getRandomImage();
$t->cmp_ok($result, '===', false);
$finder->where('Title', 'bar')->find();
$SQL1 = $finder->getLatestQuery();
$finder->where('Title', 'foo')->with('Category')->find();
$SQL2 = $finder->getLatestQuery();
$t->is($SQL1, $SQL2, 'Cached complex queries do not trigger SQL queries');

// Count queries

$cache->clear();

$finder = DbFinder::from('Article')->useCache($cache, 10);
$finder = $finder->where('Title', 'foo')->with('Category');
$key = $finder->getUniqueIdentifier();
$t->is($cache->get($key.'_count'), null, 'No cache is set until the query is executed');
$finder->count();
$t->cmp_ok($cache->get($key.'_count'), '!==', null, 'useCache() activates query caching on count() queries');
$finder->where('Title', 'bar')->find();
$SQL1 = $finder->getLatestQuery();
$finder->where('Title', 'foo')->with('Category')->count();
$SQL2 = $finder->getLatestQuery();
$t->is($SQL1, $SQL2, 'Cached count queries do not trigger SQL queries');

// select()

$finder = DbFinder::from('Article')->useCache($cache, 10);
$finder = $finder->where('Title', 'foo')->select('Title');
$key = $finder->getUniqueIdentifier();
$t->is($cache->get($key), null, 'No cache is set until the query is executed');
$finder->find();
$t->cmp_ok($cache->get($key), '!==', null, 'useCache() activates query caching on find() queries called after select()');
$finder->where('Title', 'bar')->find();
// select_tag()
$t->diag('select_tag()');
$t->is(select_tag('name'), '<select name="name" id="name"></select>', 'select_tag() takes a name as its first argument');
$option_for_select = options_for_select(array('item1'));
$t->is(select_tag('name', $option_for_select), '<select name="name" id="name">' . $option_for_select . '</select>', 'select_tag() takes an HTML string of options as its second argument');
$t->is(select_tag('name', array('item1')), '<select name="name" id="name">' . $option_for_select . '</select>', 'select_tag() takes an array of options as its second argument');
// options
$t->is(select_tag('name', $option_for_select, array('class' => 'foo')), '<select name="name" id="name" class="foo">' . $option_for_select . '</select>', 'select_tag() takes an array of attribute options as its third argument');
$t->is(select_tag('name', $option_for_select, array('multiple' => true)), '<select name="name[]" id="name" multiple="multiple">' . $option_for_select . '</select>', 'select_tag() takes a "multiple" boolean option');
$t->is(select_tag('name[]', $option_for_select, array('multiple' => true)), '<select name="name[]" id="name" multiple="multiple">' . $option_for_select . '</select>', 'select_tag() takes a "multiple" boolean option');
$t->is(select_tag('name', $option_for_select, array('multiple' => false)), '<select name="name" id="name">' . $option_for_select . '</select>', 'select_tag() takes a "multiple" boolean option');
$t->is(select_tag('name', $option_for_select, array('id' => 'bar')), '<select name="name" id="bar">' . $option_for_select . '</select>', 'select_tag() can take a "id" option');
// select_country_tag()
$t->diag('select_country_tag()');
$t->like(select_country_tag('name'), '/' . preg_quote('<select name="name" id="name">') . '/', 'select_country_tag() takes a name as its first argument');
$t->cmp_ok(preg_match_all('/<option/', select_country_tag('name'), $matches), '>', 200, 'select_country_tag() takes a name as its first argument');
$t->like(select_country_tag('name', 'FR'), '/' . preg_quote('<option value="FR" selected="selected">') . '/', 'select_country_tag() takes an ISO code for the selected country as its second argument');
// options
$t->like(select_country_tag('name', null, array('class' => 'foo')), '/' . preg_quote('<select name="name" id="name" class="foo">') . '/', 'select_country_tag() takes an array of options as its third argument');
$t->is(preg_match_all('/<option/', select_country_tag('name', null, array('countries' => array('FR', 'GB'))), $matches), 2, 'select_country_tag() takes a "countries" option');
// select_language_tag()
$t->diag('select_language_tag()');
$t->like(select_language_tag('name'), '/' . preg_quote('<select name="name" id="name">') . '/', 'select_language_tag() takes a name as its first argument');
$t->cmp_ok(preg_match_all('/<option/', select_language_tag('name'), $matches), '>', 200, 'select_language_tag() takes a name as its first argument');
$t->like(select_language_tag('name', 'fr'), '/' . preg_quote('<option value="fr" selected="selected">') . '/', 'select_language_tag() takes an ISO code for the selected language as its second argument');
// option
$t->like(select_language_tag('name', null, array('class' => 'foo')), '/' . preg_quote('<select name="name" id="name" class="foo">') . '/', 'select_language_tag() takes an array of options as its third argument');
$t->is(preg_match_all('/<option/', select_language_tag('name', null, array('languages' => array('fr', 'en'))), $matches), 2, 'select_language_tag() takes a "languages" option');
// input_tag()
$t->diag('input_tag()');
$t->is(input_tag('name'), '<input type="text" name="name" id="name" value="" />', 'input_tag() takes a name as its first argument');
<?php

include_once dirname(__FILE__) . '/../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../bootstrap/database.php';
$t = new lime_test(null, new lime_output_color());
//------------------------------------------------------------
$t->diag('MemberProfilePeer::getProfileListByMemberId()');
$MemberProfileList = MemberProfilePeer::getProfileListByMemberId(1);
$t->isa_ok($MemberProfileList, 'array', 'getProfileListByMemberId() returns an array');
foreach ($MemberProfileList as $profile) {
    $t->isa_ok($profile, 'MemberProfile', 'each profile is a MemberProfile');
    $t->cmp_ok($profile->getName(), '==', true, 'Profile::getName() returns value.');
}
$t->cmp_ok(MemberProfilePeer::getProfileListByMemberId(2), '===', array(), 'getProfileListByMemberId() returns an empty array if member does not have any profile');
$t->cmp_ok(MemberProfilePeer::getProfileListByMemberId(999), '===', array(), 'getProfileListByMemberId() returns an empty array if member is not exist');
//------------------------------------------------------------
$t->diag('MemberProfilePeer::retrieveByMemberIdAndProfileId()');
$memberProfile = MemberProfilePeer::retrieveByMemberIdAndProfileId(1, 2);
$t->isa_ok($memberProfile, 'MemberProfile', 'retrieveByMemberIdAndProfileId() returns a MemberProfile');
$t->is($memberProfile->getValue(), 'よろしくお願いします。', 'MemberProfile::getValue() returns a value');
$t->cmp_ok(MemberProfilePeer::retrieveByMemberIdAndProfileId(1, 999), '===', NULL, 'retrieveByMemberIdAndProfileId() returns NULL if profile does not exist');
$t->cmp_ok(MemberProfilePeer::retrieveByMemberIdAndProfileId(999, 1), '===', NULL, 'retrieveByNameAndMemberId() returns NULL if member does not exist');
//------------------------------------------------------------
$t->diag('MemberProfilePeer::retrieveByMemberIdAndProfileName()');
$memberProfile = MemberProfilePeer::retrieveByMemberIdAndProfileName(1, 'self_intro');
$t->isa_ok($memberProfile, 'MemberProfile', 'retrieveByMemberIdAndProfileName() returns a MemberProfile');
$t->is($memberProfile->getValue(), 'よろしくお願いします。', 'MemberProfile::getValue() returns a value');
$t->cmp_ok(MemberProfilePeer::retrieveByMemberIdAndProfileName(1, 'unknown'), '===', NULL, 'retrieveByMemberIdAndProfileName() returns NULL if profile does not exist');
$t->cmp_ok(MemberProfilePeer::retrieveByMemberIdAndProfileName(999, 'example'), '===', NULL, 'retrieveByNameAndMemberId() returns NULL if member does not exist');
예제 #6
0
<?php

include_once dirname(__FILE__) . '/../../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../../bootstrap/database.php';
$t = new lime_test(11, new lime_output_color());
$table = Doctrine::getTable('SnsTerm');
//------------------------------------------------------------
$t->diag('SnsTermTable');
$t->diag('SnsTermTable::set()');
$table->configure(null, null);
$t->cmp_ok($table->set('foo', 'bar'), '===', false);
$table->configure('en', 'pc_frontend');
$table->set('foo', 'foo', 'en', 'pc_frontend');
$t->ok($table->findOneByName('foo'));
$table->set('bar', 'bar', 'en', 'pc_frontend');
$t->ok($table->findOneByName('bar'));
//------------------------------------------------------------
$t->diag('SnsTermTable::offsetGet()');
$t->is((string) $table['friend'], 'friend');
$t->is((string) $table['Friend'], 'Friend');
$t->is((string) $table['xxxxxxxxxx'], '');
//------------------------------------------------------------
$t->diag('SnsTermTable::offsetExists()');
$t->ok(isset($table['friend']));
$t->ok(isset($table['Friend']));
$t->ok(!isset($table['xxxxxxxxxx']));
//------------------------------------------------------------
$t->diag('SnsTermTable::offsetSet()');
try {
    $table['foo'] = 'bar';
    $t->fail();
<?php

include dirname(__FILE__) . '/../../../bootstrap/unit.php';
$t = new lime_test(14, new lime_output_color());
$baseAssetsDir = realpath($np_plugin_dir . '/test/data');
// optimizeFile()
$t->diag('optimizeFile()');
$o = new npOptimizerJavascript(new sfEventDispatcher(), array('driver' => 'JSMin', 'destination' => 'blah', 'files' => array()), $baseAssetsDir);
$jsFile = $np_plugin_dir . '/test/data/js/foo.js';
$result = $o->optimizeFile($jsFile);
$t->isa_ok($result, 'array', 'optimizeFile() returns an array');
$t->ok(array_key_exists('optimizedSize', $result), 'optimizeFile() returns an array containing "optimizedSize" key');
$t->ok(array_key_exists('originalSize', $result), 'optimizeFile() returns an array containing "originalSize" key');
$t->ok(array_key_exists('ratio', $result), 'optimizeFile() returns an array containing "ratio" key');
$t->is($result['originalSize'], filesize($jsFile), 'optimizeFile() has coherent results');
$t->cmp_ok($result['optimizedSize'], '<', $result['originalSize'], 'optimizeFile() optimizes js contents');
$t->diag('optimize()');
// Natural order
$o = new npOptimizerJavascript(new sfEventDispatcher(), array('driver' => 'JSMinPlus', 'destination' => '/js/my_combined.js', 'files' => array('1.js', '2.js', '3.js')), $baseAssetsDir);
$result = $o->optimize($jsFile);
$t->isa_ok($result, 'array', 'optimize() returns an array');
$t->is(count($result), 2, 'optimize() returns two keys');
$t->ok(array_key_exists('generatedFile', $result), 'optimize() returns an "generatedFile" key');
$t->is($result['generatedFile'], $baseAssetsDir . '/js/my_combined.js', 'optimize() returns the expected "generatedFile" result');
$t->ok(array_key_exists('statistics', $result), 'optimize() returns a "statistics" key');
$t->is(file_get_contents($baseAssetsDir . '/js/my_combined.js'), 'var run1=function(){alert(1)}var run2=function(){alert(2)}var run3=function(){alert(3)}', 'optimize() generated the correct optimized file contents');
$t->is(array_keys($result['statistics']), array($baseAssetsDir . '/js/1.js', $baseAssetsDir . '/js/2.js', $baseAssetsDir . '/js/3.js'), 'optimize() returns correct "statistics" keys');
// Different order
$o = new npOptimizerJavascript(new sfEventDispatcher(), array('driver' => 'JSMinPlus', 'destination' => '/js/my_combined.js', 'files' => array('3.js', '2.js', '1.js')), $baseAssetsDir);
$result = $o->optimize($jsFile);
$t->is(file_get_contents($baseAssetsDir . '/js/my_combined.js'), 'var run3=function(){alert(3)}var run2=function(){alert(2)}var run1=function(){alert(1)}', 'optimize() generated the correct optimized file contents, in the specified order');
//------------------------------------------------------------
$t->diag('MemberRelationshipTable::retrievesByMemberIdFrom()');
$result = $table->retrievesByMemberIdFrom(1);
$t->isa_ok($result, 'Doctrine_Collection');
$t->is($result->count(), 6);
//------------------------------------------------------------
$t->diag('MemberRelationshipTable::getFriendListPager()');
$t->isa_ok($table->getFriendListPager(1), 'sfDoctrinePager');
//------------------------------------------------------------
$t->diag('MemberRelationshipTable::getFriendMemberIds()');
$t->is($table->getFriendMemberIds(1), array(2, 4, 7, 8));
//------------------------------------------------------------
$t->diag('MemberRelationship::getFriends()');
$t->isa_ok($table->getFriends(1, 1, false), 'Doctrine_Collection', 'getFriends() returns Doctrine_Collection');
$randomFriend = $table->getFriends(1, 3, true)->toArray();
$t->cmp_ok(count($randomFriend), '<=', 3, 'getFriends() returns 3 records at most');
if (1 < count($randomFriend)) {
    $isRandom = false;
    for ($i = 0; $i < 10; $i++) {
        $current = $table->getFriends(1, 3, true)->toArray();
        if ($current !== $randomFriend) {
            $isRandom = true;
            break;
        }
    }
    $t->is($isRandom, true, 'getFriends() returns random order');
} else {
    $t->skip('getFriends() returns random order (too few friends)');
}
if (3 < count($randomFriend)) {
    $randomFriend = $table->getFriends(1, 3, true)->toArray();
// getAlbumImagePager()
$result = $table->getAlbumImagePager();
$t->isa_ok($result, 'sfDoctrinePager', "->getAlbumImagePager() returns sfDoctrinePager's instance.");
$t->is($result->getNbResults(), 4, '->getAlbumImagePager() returns 4 items.');
$result = $table->getAlbumImagePager($album1);
$t->isa_ok($result, 'sfDoctrinePager', "->getAlbumImagePager() returns sfDoctrinePager's instance.");
$t->is($result->getNbResults(), 2, '->getAlbumImagePager() returns 2 items.');
$result = $table->getAlbumImagePager($album3);
$t->isa_ok($result, 'sfDoctrinePager', "->getAlbumImagePager() returns sfDoctrinePager's instance.");
$t->is($result->getNbResults(), 0, '->getAlbumImagePager() returns empty result.');
// getAlbumImagePagerForAlbum()
$result = $table->getAlbumImagePagerForAlbum($album1->id);
$t->isa_ok($result, 'sfDoctrinePager', "->getAlbumImagePagerForAlbum() returns sfDoctrinePager's instance.");
$t->is($result->getNbResults(), 2, '->getAlbumImagePagerForAlbum() returns 2 items.');
// getAlbumImageSearchPager()
$result = $table->getAlbumImageSearchPager(array('foo'));
$t->isa_ok($result, 'sfDoctrinePager', "->getAlbumImageSearchPager() returns sfDoctrinePager's instance.");
$t->is($result->getNbResults(), 3, '->getAlbumImageSearchPager() returns 3 items.');
$result = $table->getAlbumImageSearchPager(array("Nobody", "expects", "the", "Spanish", "Inquisition"));
$t->isa_ok($result, 'sfDoctrinePager', "->getAlbumImageSearchPager() returns sfDoctrinePager's instance.");
$t->is($result->getNbResults(), 0, '->getAlbumImageSearchPager() returns empty.');
// getPreviousAlbumImage()
$t->cmp_ok($table->getPreviousAlbumImage($albumImage1, 1), '===', false, '->getPreviousAlbumImage() returns false.');
$result = $table->getPreviousAlbumImage($albumImage2, 1);
$t->isa_ok($result, 'AlbumImage', "->getPreviousAlbumImage() returns AlbumImage's instance.");
$t->is($result->id, $albumImage1->id, '->getPreviousAlbumImage() returns previous AlbumImage corectlly.');
// getNextAlbumImage()
$result = $table->getNextAlbumImage($albumImage1, 1);
$t->isa_ok($result, 'AlbumImage', "->getNextAlbumImage() returns AlbumImage's instance.");
$t->is($result->id, $albumImage2->id, '->getNextAlbumImage() returns next AlbumImage corectlly.');
$t->cmp_ok($table->getNextAlbumImage($albumImage2, 1), '===', false, '->getNextAlbumImage() returns false.');
예제 #10
0
include_once dirname(__FILE__) . '/fixtures/TestActivityTemplateConfigHandler.php';
$user = sfContext::getInstance()->getUser();
$user->setAuthenticated(true);
$user->setMemberId(1);
$t = new lime_test(40, new lime_output_color());
$table = Doctrine::getTable('ActivityData');
//------------------------------------------------------------
$t->diag('ActivityDataTable');
$t->diag('ActivityDataTable::updateActivity()');
$result = $table->updateActivity(1, 'test1');
$t->isa_ok($result, 'ActivityData', '->updateActivity() returns instance of ActivityData');
$result = $table->updateActivity(1, 'test2', array('public_flag' => 2, 'in_reply_to_activity_id' => 1, 'is_pc' => false, 'is_mobile' => false, 'source' => 'API', 'source_uri' => 'http://sns.example.com', 'images' => array(array('uri' => 'http://sns.example.com/test.png', 'mime_type' => 'image/png')), 'uri' => 'http://sns.example.com'));
$t->isa_ok($result, 'ActivityData', '->updateActivity() returns instance of ActivityData');
$t->is($result->getPublicFlag(), 2, 'public_flag of ActivityData that created by ->updateActivity() is 2');
$t->is($result->getInReplyToActivityId(), 1, 'in_reply_to_activity_id of ActivityData that creatd by ->updateActivity() is 1');
$t->cmp_ok($result->getIsPc(), '===', false, 'is_pc of ActivityData that creatd by ->updateActivity() is false');
$t->cmp_ok($result->getIsMobile(), '===', false, 'is_mobile of ActivityData that creatd by ->updateActivity() is false');
$t->is($result->getSource(), 'API', 'source of ActivityData that creatd by ->updateActivity() is "API"');
$t->is($result->getSourceUri(), 'http://sns.example.com', 'source_uri of ActivityData that creatd by ->updateActivity() is "http://sns.example.com"');
$t->is(count($result->getImages()), 1, 'images of ActivityData that created by ->updateActivity() has 1 item');
$msg = '->updateActivity() throw LogicException when public_flag option is bad';
try {
    $result = $table->updateActivity(1, 'test3', array('public_flag' => 999));
    $t->fail($msg);
} catch (LogicException $e) {
    $t->pass($msg);
}
$msg = '->updateActivity() throw LogicException when images option is bad';
try {
    $result = $table->updateActivity(1, 'test4', array('images' => array(array('uri' => 'http://sns.example.com/image.png'))));
    $t->fail($msg);
예제 #11
0
<?php

include_once dirname(__FILE__) . '/../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../bootstrap/database.php';
$t = new lime_test(null, new lime_output_color());
//------------------------------------------------------------
$t->diag('ProfilePeer::retrieveByIsDispRegist()');
$profiles = ProfilePeer::retrieveByIsDispRegist();
$t->isa_ok($profiles, 'array', 'retrieveByIsDispRegist() returns an array');
foreach ($profiles as $profile) {
    $t->isa_ok($profile, 'Profile', 'each profile is a Profile');
    $t->cmp_ok($profile->getIsDispRegist(), '===', true, 'Profile::getIsDispRegist() returns true');
}
//------------------------------------------------------------
$t->diag('ProfilePeer::retrieveByIsDispConfig()');
$profiles = ProfilePeer::retrieveByIsDispConfig();
$t->isa_ok($profiles, 'array', 'retrieveByIsDispConfig() returns an array');
foreach ($profiles as $profile) {
    $t->isa_ok($profile, 'Profile', 'each profile is a Profile');
    $t->cmp_ok($profile->getIsDispConfig(), '===', true, 'Profile::getIsDispConfig() returns true');
}
//------------------------------------------------------------
$t->diag('ProfilePeer::retrieveByIsDispSearch()');
$profiles = ProfilePeer::retrieveByIsDispSearch();
$t->isa_ok($profiles, 'array', 'retrieveByIsDispSearch() returns an array');
foreach ($profiles as $profile) {
    $t->isa_ok($profile, 'Profile', 'each profile is a Profile');
    $t->cmp_ok($profile->getIsDispSearch(), '===', true, 'Profile::getIsDispSearch() returns true');
}
//------------------------------------------------------------
$t->diag('ProfilePeer::retrieveByName()');
{
	$t->fail('failed to convert xml to yml, error was: '.$e->getMessage());
}*/
// this test the converter from yml to xml and regenerate the yml to match
// the original. this way, no need to do a comparison on the xml (which can
// slightly differ)
try {
    $xml = sfSqlDesignerLib::loadFromSchema(dirname(__FILE__) . '/books.yml');
    if (!$xml) {
        throw new Exception('empty xml in return');
    }
} catch (Exception $e) {
    $t->fail('failed to convert xml to yml, error was: ' . $e->getMessage());
}
$xmlHeader = '/^<\\?xml version="1.0" encoding="utf-8" \\?>\\n<sql>\\n<datatypes db="symfony-doctrine">/';
$t->like($xml, $xmlHeader, 'xml as a proper header');
$xmlFooter = '/<\\/table>\\n<\\/sql>/';
$t->like($xml, $xmlFooter, 'xml as a proper footer');
try {
    sfSqlDesignerLib::saveToSchema($xml, '/tmp/test.yml');
    if (!file_exists('/tmp/test.yml')) {
        throw new Exception('yml file as not been saved to disk');
    }
} catch (Exception $e) {
    $t->fail('failed to convert xml to yml, error was: ' . $e->getMessage());
}
$result = file_get_contents('/tmp/test.yml');
unlink('/tmp/test.yml');
$books = file_get_contents(dirname(__FILE__) . '/books.yml');
$t->cmp_ok($result, '===', $books, 'generated xml was as expected and yml generated as original');
예제 #13
0
<?php

include_once dirname(__FILE__) . '/../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../bootstrap/database.php';
$t = new lime_test(null, new lime_output_color());
//------------------------------------------------------------
$t->diag('SnsConfigPeer::retrieveByName()');
$config = SnsConfigPeer::retrieveByName('SNS_NAME');
$t->isa_ok($config, 'SnsConfig', 'retrieveByName() returns a SnsConfig');
$t->is($config->getValue(), 'MySNS', 'SnsConfig::getValue() returns a value');
$t->cmp_ok(SnsConfigPeer::retrieveByName('unknown'), '===', NULL, 'retrieveByName() returns NULL if name does not exist');
예제 #14
0
include dirname(__FILE__) . '/../../../bootstrap/database.php';
sfContext::createInstance($configuration);
sfContext::getInstance()->getUser()->setMemberId(1);
$t = new lime_test(10, new lime_output_color());
$member1 = Doctrine::getTable('Member')->find(1);
$member2 = Doctrine::getTable('Member')->find(2);
$member3 = Doctrine::getTable('Member')->find(3);
$album1 = Doctrine::getTable('Album')->find(1);
$album2 = Doctrine::getTable('Album')->find(2);
$album3 = Doctrine::getTable('Album')->find(3);
$albumImage1 = Doctrine::getTable('AlbumImage')->find(1);
$albumImage2 = Doctrine::getTable('AlbumImage')->find(2);
$albumImage3 = Doctrine::getTable('AlbumImage')->find(3);
$conn = Doctrine::getTable('AlbumImage')->getConnection();
// isAuthor()
$t->cmp_ok($albumImage1->isAuthor(1), '===', true, '->isAuthor() returns true.');
$t->cmp_ok($albumImage1->isAuthor(2), '===', false, '->isAuthor() returns false.');
// getPrevious()
$t->cmp_ok($albumImage1->getPrevious(), '===', false, '->getPrevious() returns false.');
$result = $albumImage2->getPrevious();
$t->isa_ok($result, 'AlbumImage', "->getPrevious() returns AlbumImage's instance.");
$t->is($result->id, $albumImage1->id, '->getPrevious() returns previous AlbumImage corectlly.');
// getNext()
$result = $albumImage1->getNext();
$t->isa_ok($result, 'AlbumImage', "->getNext() returns AlbumImage's instance.");
$t->is($result->id, $albumImage2->id, '->getNext() returns next AlbumImage corectlly.');
$t->cmp_ok($albumImage2->getNext(), '===', false, '->getNext() returns false.');
// save()
$conn->beginTransaction();
$file_new = new File();
$data = array('tmp_name' => dirname(__FILE__) . '/../../../images/OpenPNE.jpg', 'type' => 'image/jpeg', 'size' => 8327, 'name' => 'OpenPNE.jpg');
예제 #15
0
$t->diag('Community::isPrivilegeBelong()');
$t->is($community1->isPrivilegeBelong(1), true, 'isPrivilegeBelong() checks the member belonged');
$t->is($community2->isPrivilegeBelong(2), true, 'isPrivilegeBelong() checks the member belonged');
$t->is($community1->isPrivilegeBelong(3), false, 'isPrivilegeBelong() checks the member not belonged');
$t->is($community2->isPrivilegeBelong(1), false, 'isPrivilegeBelong() checks the member not belonged');
//------------------------------------------------------------
$t->diag('Community::isAdmin()');
$t->is($community1->isAdmin(1), true, 'isAdmin() returns true for admin');
$t->is($community1->isAdmin(2), false, 'isAdmin() returns false for not admin');
//------------------------------------------------------------
$t->diag('Community::countCommunityMembers()');
$t->is($community1->countCommunityMembers(), 2, 'countCommunityMembers() returns 2');
//------------------------------------------------------------
$t->diag('Community::getNameAndCount()');
$t->is($community1->getNameAndCount(), 'CommunityA (2)', 'getNameAndCount() returns a string formated "%s (%d)"');
$t->is($community1->getNameAndCount('[%s] - %d'), '[CommunityA] - 2', 'getNameAndCount() returns a string formated "[%s] - %d"');
//------------------------------------------------------------
$t->diag('Community::getRegisterPoricy()');
$t->is($community1->getRegisterPoricy(), 'Everyone can join', 'getRegisterPoricy() returns "Everyone can join" for opened community');
$t->is($community2->getRegisterPoricy(), '%Community%\'s admin authorization needed', 'getRegisterPoricy() returns "Community\'s admin authorization needed" for closed community');
//------------------------------------------------------------
$t->diag('Community::getChangeAdminRequestMember()');
$object = $community4->getChangeAdminRequestMember();
$t->ok($object instanceof Member && $object->getId() == 2, 'getChangeAdminRequestMember() returns an instance of Member 2');
$t->cmp_ok($community1->getChangeAdminRequestMember(), '===', null, 'getChangeAdminRequestMember() returns null');
//------------------------------------------------------------
$t->diag('Community::generateRoleId()');
$t->is($community1->generateRoleId(Doctrine::getTable('Member')->find(1)), 'admin', 'generateRoleId() returns "admin"');
$t->is($community1->generateRoleId(Doctrine::getTable('Member')->find(2)), 'member', 'generateRoleId() returns "member"');
$t->is($community1->generateRoleId(Doctrine::getTable('Member')->find(3)), 'everyone', 'generateRoleId() returns "everyone"');
$t->is($community5->generateRoleId(Doctrine::getTable('Member')->find(2)), 'sub_admin', 'generateRoleId() returns "sub_admin"');
include dirname(__FILE__) . '/../../bootstrap/unit.php';
$app = 'pc_frontend';
include dirname(__FILE__) . '/../../bootstrap/functional.php';
include dirname(__FILE__) . '/../../bootstrap/database.php';
$t = new lime_test(null, new lime_output_color());
$user = sfContext::getInstance()->getUser();
$user->setAuthenticated(true);
$user->setMemberId(2);
$t->diag('フォームのテスト');
$start = array('year' => date('Y'), 'month' => (int) date('m'), 'day' => (int) date('d'));
$start_t = array('hour' => '', 'minute' => '');
$end = array('year' => date('Y'), 'month' => (int) date('m'), 'day' => (int) date('d'));
$end_t = array('hour' => '', 'minute' => '');
$resources = array(1 => '', 2 => '', 3 => '', 4 => '', 5 => '');
$t->isa_ok(processForm($start, $start_t, $end, $end_t, $resources, array($user->getMemberId())), 'Schedule', '今日〜今日のスケジュール作成:Schedule インスタンスを返す');
$t->cmp_ok(processForm($start, $start_t, $end, $end_t, $resources, array()), '===', false, '今日〜今日のスケジュール作成、スケジュール参加者を空:isValid() false を返す');
$start = array('year' => date('Y'), 'month' => (int) date('m'), 'day' => (int) date('d'));
$start_t = array('hour' => '23', 'minute' => '15');
$end = array('year' => date('Y'), 'month' => (int) date('m'), 'day' => (int) date('d'));
$end_t = array('hour' => '23', 'minute' => '30');
$t->isa_ok(processForm($start, $start_t, $end, $end_t, $resources, array($user->getMemberId())), 'Schedule', '今日23:15 〜 23:30のスケジュール作成:Schedule インスタンスを返す');
$start = array('year' => date('Y', strtotime('yesterday')), 'month' => (int) date('m', strtotime('yesterday')), 'day' => (int) date('d', strtotime('yesterday')));
$start_t = array('hour' => '3', 'minute' => '15');
$end = array('year' => date('Y'), 'month' => (int) date('m'), 'day' => (int) date('d'));
$end_t = array('hour' => '23', 'minute' => '30');
$t->isa_ok(processForm($start, $start_t, $end, $end_t, $resources, array($user->getMemberId())), 'Schedule', '昨日の3:15 〜 今日23:30のスケジュール作成:Schedule インスタンスを返す');
$start = array('year' => date('Y', strtotime('tomorrow')), 'month' => (int) date('m', strtotime('tomorrow')), 'day' => (int) date('d', strtotime('tomorrow')));
$start_t = array('hour' => '', 'minute' => '');
$end = array('year' => date('Y'), 'month' => (int) date('m'), 'day' => (int) date('d'));
$end_t = array('hour' => '', 'minute' => '');
$t->cmp_ok(processForm($start, $start_t, $end, $end_t, $resources, array($user->getMemberId())), '===', false, '明日始り、今日終了のスケジュール作成:isValid() false を返す');
예제 #17
0
<?php

include dirname(__FILE__) . '/../bootstrap/Doctrine.php';
include dirname(__FILE__) . '/../../lib/test/otokouTestFunctional.class.php';
$ut = new otkTestUtility();
$t = new lime_test(3, new lime_output_color());
$t->diag('::findByUsername');
$t->cmp_ok(count(Doctrine_Core::getTable('Vehicle')->findByUsername('user_reports')), '===', 20, '::findByUsername() retrieves all Vehicles for the given user');
$t->diag('::countActiveByUserId()');
$user_id = $ut->getUserId('user_vehicle');
$t->cmp_ok(Doctrine_Core::getTable('Vehicle')->countActiveByUserId($user_id), '===', 1, '->countActiveByUserId() returns the right number of vehicles');
$t->diag('::findArchivedByUserId()');
$user_id = $ut->getUserId('user_gs');
$t->cmp_ok(count(Doctrine_Core::getTable('Vehicle')->findArchivedByUserId($user_id)), '===', 2, '->findArchivedByUserId() returns the right number of vehicles');
예제 #18
0
    switch (get_class($object)) {
        case 'Community':
            return opCommunityTopicAclBuilder::buildCollection($object, $members);
        case 'CommunityTopic':
            return opCommunityTopicAclBuilder::buildResource($object, $members);
    }
}
//------------------------------------------------------------
// Is the community creatable topics
//------------------------------------------------------------
$t->diag('Is the community creatable a topic)');
// * public_flag:     auth_commu_member
// * topic_authority: admin_only
$t->diag('public_flag: auth_commu_member, topic_authority: admin_only');
$acl = getAcl($communities[0]);
$t->cmp_ok($acl->isAllowed(1, null, 'add'), '===', true, 'returns true for the community admin');
$t->cmp_ok($acl->isAllowed(3, null, 'add'), '===', false, 'returns false for a community member');
$t->cmp_ok($acl->isAllowed(4, null, 'add'), '===', false, 'returns false for a non-community member');
// * public_flag:     public
// * topic_authority: admin_only
$t->diag('public_flag: public, topic_authority: admin_only');
$acl = getAcl($communities[1]);
$t->cmp_ok($acl->isAllowed(1, null, 'add'), '===', true, 'returns true for the community admin');
$t->cmp_ok($acl->isAllowed(3, null, 'add'), '===', false, 'returns false for a community member');
$t->cmp_ok($acl->isAllowed(4, null, 'add'), '===', false, 'returns false for a non-community member');
// * public_flag:     auth_commu_member
// * topic_authority: public
$t->diag('public_flag: auth_commu_member, topic_authority: public');
$acl = getAcl($communities[2]);
$t->cmp_ok($acl->isAllowed(1, null, 'add'), '===', true, 'returns true for the community admin');
$t->cmp_ok($acl->isAllowed(3, null, 'add'), '===', true, 'returns true for a community member');
예제 #19
0
<?php

include_once dirname(__FILE__) . '/../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../bootstrap/database.php';
$t = new lime_test(null, new lime_output_color());
//------------------------------------------------------------
$t->diag('AdminUserPeer::retrieveByUsername()');
$t->isa_ok(AdminUserPeer::retrieveByUsername('admin'), 'AdminUser', 'retrieveByUsername() returns a AdminUser');
$t->cmp_ok(AdminUserPeer::retrieveByUsername('unknown'), '===', NULL, 'retrieveByUsername() returns NULL if username is invalid');
예제 #20
0
<?php

include dirname(__FILE__) . '/../bootstrap/Doctrine.php';
include dirname(__FILE__) . '/../../lib/test/otokouTestFunctional.class.php';
$app_configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'test', true);
sfContext::createInstance($app_configuration);
$ut = new otokouTestFunctional(new sfBrowser());
require_once realpath(dirname(__FILE__) . '/../../lib/vendor/symfony/lib/helper/TagHelper.php');
require_once realpath(dirname(__FILE__) . '/../../lib/vendor/symfony/lib/helper/AssetHelper.php');
$t = new lime_test(11, new lime_output_color());
// ->generate()
$t->diag('->generate()');
$g = newChart(array('user_id' => $ut->getUserId('user_gb_noCars')));
$t->cmp_ok($g->generate(), '===', false, '->generate() If the User has no cars, the chart cannot be generated.');
$g = newChart(array('user_id' => $ut->getUserId('user_gb_noCharges')));
$t->cmp_ok($g->generate(), '===', false, '->generate() If the User has no charges, the chart cannot be generated.');
$g = newChart();
$t->cmp_ok($g->generate(), '===', true, '->generate() If the User has cars, a chart is generated.');
// ->buildCostPerKmChartData()
sfConfig::set('app_charts_force_generate', true);
$options = array('user_id' => $ut->getUserId('user_gs'), 'chart_name' => 'cost_per_km', 'range_type' => 'distance', 'vehicle_display' => 'stacked', 'category_display' => 'single', 'format' => 'png');
$g = newChart($options);
$t->cmp_ok($g->generate(), '===', true, '->generate() A cost_per_km chart is generated.');
// ->buildCostPerYearChartData()
sfConfig::set('app_charts_force_generate', true);
$options = array('user_id' => $ut->getUserId('user_gs'), 'chart_name' => 'cost_per_year', 'range_type' => 'distance', 'vehicle_display' => 'stacked', 'category_display' => 'single', 'format' => 'png');
$g = newChart($options);
$t->cmp_ok($g->generate(), '===', true, '->generate() A cost_per_year chart is generated.');
// ->buildTripPerYearChartData()
sfConfig::set('app_charts_force_generate', true);
$options = array('user_id' => $ut->getUserId('user_gs'), 'chart_name' => 'trip_annual', 'range_type' => 'distance', 'vehicle_display' => 'single', 'category_display' => 'stacked', 'format' => 'png');
예제 #21
0
<?php

require_once dirname(__FILE__) . '/../../vendor/lime.php';
require_once dirname(__FILE__) . '/../../lib/phpGitHubApi.php';
$t = new lime_test(3);
$api = new phpGitHubApi(true);
$t->comment('Test ->listObjectTree');
$tree = $api->listObjectTree('ornicar', 'php-github-api', '691c2ec7fd0b948042047b515886fec40fe76e2b');
$firstFile = array_pop($tree);
$t->cmp_ok($firstFile['sha'], '!=', null, 'Tree returned with SHA listings');
$blob = $api->showObjectBlob('ornicar', 'php-github-api', '691c2ec7fd0b948042047b515886fec40fe76e2b', 'CHANGELOG');
print_r($blob);
$t->is($blob['name'], 'CHANGELOG', 'Returned CHANGELOG blob');
$blobs = $api->listObjectBlobs('ornicar', 'php-github-api', '691c2ec7fd0b948042047b515886fec40fe76e2b');
$t->cmp_ok(count($blobs), '>', 0, 'Returned array of blobs');
$article3 = new DArticle();
$article3->setTitle('foo3');
$article3->save();
$finder = new sfDoctrineFinder('DArticle');
$article = $finder->findPk($article2->getId());
$t->is($article->getTitle(), 'foo2', 'findPk() returns the object with the primary key matching the argument');
$t->ok(!is_array($article), 'findPk() returns a single object when passed a single primary key');
$finder = new sfDoctrineFinder('DArticle');
$article = $finder->findPk(76543787654);
$t->is($article, null, 'findPk() returns null if the primary key is not found');
$finder = new sfDoctrineFinder('DArticle');
$articles = $finder->findPk(array($article2->getId(), $article1->getId()));
$t->isa_ok($articles, 'Doctrine_Collection', 'findPk() returns a collection of objects when passed an array of primary keys');
$t->is(count($articles), 2, 'findPk() returns the objects with the primary keys matching the arguments');
$article = $finder->with('Category')->findPk($article2->getId());
$t->cmp_ok(strpos($finder->getLatestQuery(), 'SELECT d.id AS d__id, d.title AS d__title, d.category_id AS d__category_id, d2.id AS d2__id, d2.name AS d2__name FROM d_article d INNER JOIN d_category d2 ON d.category_id = d2.id'), '===', 0, 'findPk() is compatible with with()');
Doctrine_Query::create()->delete()->from('DArticle')->execute();
$article1 = new DArticle();
$article1->setTitle('foo');
$article1->save();
$articlei18n1 = new DArticleI18n();
$articlei18n1->setCulture('fr');
$articlei18n1->setContent('Bar');
$articlei18n1->setId($article1->getId());
$articlei18n1->save();
try {
    $articleI18n = sfDoctrineFinder::from('DArticleI18n')->findPk($articlei18n1->getId());
    $t->fail('findPk() expects an array of values for objects with composite primary keys');
} catch (Exception $e) {
    $t->pass('findPk() expects an array of values for objects with composite primary keys');
}
예제 #23
0
include_once dirname(__FILE__) . '/../../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../../bootstrap/database.php';
sfContext::createInstance($configuration);
$t = new lime_test(81, new lime_output_color());
$table = Doctrine::getTable('CommunityMember');
$member1 = Doctrine::getTable('Member')->findOneByName('A');
$member2 = Doctrine::getTable('Member')->findOneByName('B');
$member3 = Doctrine::getTable('Member')->findOneByName('C');
$community1 = Doctrine::getTable('Community')->findOneByName('CommunityA');
$community5 = Doctrine::getTable('Community')->findOneByName('CommunityE');
//------------------------------------------------------------
$t->diag('CommunityMemberTable');
$t->diag('CommunityMemberTable::retrieveByMemberIdAndCommunityId()');
$t->isa_ok($table->retrieveByMemberIdAndCommunityId(1, 1), 'CommunityMember', 'retrieveByMemberIdAndCommunityId() returns a CommunityMember if member joins community');
$t->cmp_ok($table->retrieveByMemberIdAndCommunityId(1, 2), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if member does not join community');
$t->cmp_ok($table->retrieveByMemberIdAndCommunityId(1000, 1), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if member does not exist');
$t->cmp_ok($table->retrieveByMemberIdAndCommunityId(1, 999), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if community does not exist');
$t->cmp_ok($table->retrieveByMemberIdAndCommunityId(999, 999), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if member and community do not exist');
//------------------------------------------------------------
$t->diag('CommunityMemberTable::isMember()');
$t->cmp_ok($table->isMember(1, 1), '===', true, 'isMember() returns true if member joins community');
$t->cmp_ok($table->isMember(1, 2), '===', false, 'isMember() returns false if member does not join community');
$t->cmp_ok($table->isMember(999, 1), '===', false, 'isMember() returns false if member does not exist');
$t->cmp_ok($table->isMember(1, 999), '===', false, 'isMember() returns false if community does not exist');
$t->cmp_ok($table->isMember(999, 999), '===', false, 'isMember() returns false if member and community do not exist');
//------------------------------------------------------------
$t->diag('CommunityMemberTable::isAdmin()');
$t->cmp_ok($table->isAdmin(1, 1), '===', true, 'isAdmin() returns true if member joins community and position is admin');
$t->cmp_ok($table->isAdmin(2, 1), '===', false, 'isAdmin() returns false if member joins community and position is not admin');
$t->cmp_ok($table->isAdmin(1, 2), '===', false, 'isAdmin() returns false if member does not join community');
예제 #24
0
$member3 = Doctrine::getTable('Member')->findOneByName('C');
$member5 = Doctrine::getTable('Member')->findOneByName('E');
//------------------------------------------------------------
$t->diag('MemberProfile::__toString()');
$t->is((string) $memberProfile1, 'Man', '->__toString() returns "Man"');
$t->is((string) $memberProfile5, 'あ', '->__toString() returns "あ"');
$t->is((string) $memberProfile6, 'え, う', '->__toString() returns "え, う"');
$t->is((string) $memberProfile7, '1989-01-08', '->__toString() returns "1989-01-08"');
//------------------------------------------------------------
$t->diag('MemberProfile::getValue()');
$t->is($memberProfile1->getValue(), 'Man', '->getValue() returns "Man"');
$t->is($memberProfile2->getValue(), '1988-04-23', '->getValue() returns "1988-04-23"');
$t->is($memberProfile5->getValue(), '1', '->getValue() returns "1"');
$t->is($memberProfile6->getValue(), array(2, 3), '->getValue() returns array of selected index');
$t->is($memberProfile7->getValue(), '1989-01-08', '->getValue() returns "1989-01-08"');
$t->cmp_ok($memberProfile9->getValue(), '===', null, '->getValue() returns null');
//------------------------------------------------------------
$t->diag('MemberProfile::isViewable()');
$t->ok($memberProfile1->isViewable(), '->isViewable() returns true');
$t->ok($memberProfile1->isViewable(1), '->isViewable() returns true');
$t->ok($memberProfile1->isViewable(2), '->isViewable() returns true');
$t->ok($memberProfile1->isViewable(3), '->isViewable() returns true');
$t->ok($memberProfile3->isViewable(), '->isViewable() returns true');
$t->ok($memberProfile3->isViewable(1), '->isViewable() returns true');
$t->ok($memberProfile3->isViewable(2), '->isViewable() returns true');
$t->ok(!$memberProfile3->isViewable(3), '->isViewable() returns false');
$t->ok(!$memberProfile4->isViewable(), '->isViewable() returns false');
$t->ok(!$memberProfile4->isViewable(1), '->isViewable() returns false');
$t->ok(!$memberProfile4->isViewable(2), '->isViewable() returns false');
$t->ok(!$memberProfile4->isViewable(3), '->isViewable() returns false');
//------------------------------------------------------------
예제 #25
0
$pager = $table->getCommunityMemberListPager(999);
$t->isa_ok($pager, 'sfDoctrinePager', 'getCommunityMemberListPager() returns a sfDoctrinePager');
$t->is($pager->getNbResults(), 0, 'getNbResults() returns 0');
//------------------------------------------------------------
$t->diag('CommunityTable::getIdsByMemberId()');
$communityIds = $table->getIdsByMemberId(1);
$t->is(count($communityIds), 4, 'getIdsByMemberId() returns 4 ids');
$t->is($communityIds, array(1, 3, 4, 5), 'getIdsByMemberId() returns array(1, 3, 4, 5)');
//------------------------------------------------------------
$t->diag('CommunityTable::getDefaultCommunities()');
$communities = $table->getDefaultCommunities();
$t->is(count($communities), 2, 'getDefaultCommunities() returns 2 communities');
//------------------------------------------------------------
$t->diag('CommunityTable::getPositionRequestCommunities()');
$communities = $table->getPositionRequestCommunities();
$t->cmp_ok($communities, '===', null, 'getPositionRequestCommunities() returns empty collection');
$communities = $table->getPositionRequestCommunities('admin', 2);
$t->is(count($communities), 1, 'getPositionRequestCommunities() returns a community');
$communities = $table->getPositionRequestCommunities('admin', 1);
$t->cmp_ok($communities, '===', null, 'getPositionRequestCommunities() returns null');
$communities = $table->getPositionRequestCommunities('admin', 999);
$t->cmp_ok($communities, '===', null, 'getPositionRequestCommunities() returns null');
//------------------------------------------------------------
$t->diag('CommunityTable::countPositionRequestCommunities()');
$t->is($table->countPositionRequestCommunities(), 0, 'countChangeAdminRequestCommunities() returns 0');
$t->is($table->countPositionRequestCommunities('admin', 1), 0, 'countChangeAdminRequestCommunities() returns 0');
$t->is($table->countPositionRequestCommunities('admin', 2), 1, 'countChangeAdminRequestCommunities() returns 1');
$t->is($table->countPositionRequestCommunities('admin', 999), 0, 'countChangeAdminRequestCommunities() returns 0');
//------------------------------------------------------------
$t->diag('ACL Test');
$t->ok($community1->isAllowed($member1, 'view'));
예제 #26
0
<?php

include dirname(__FILE__) . '/../bootstrap/Doctrine.php';
include dirname(__FILE__) . '/../../lib/test/otokouTestFunctional.class.php';
$ut = new otkTestUtility();
$t = new lime_test(31, new lime_output_color());
$t->diag('->findCustomReportsByUser()');
$params = array('username' => 'user_gs');
$r = Doctrine_Core::getTable('Report')->findCustomReportsByUser($params);
$t->cmp_ok(count($r), '===', 27, '->findCustomReportsByUser() returns the right number of reports');
$t->cmp_ok($r[0]->getName(), '===', '0-1000 km - Car gs 1 and Car gs 2', $r[0]->getName() . ' is correctly sorted');
foreach ($r as $key => $report) {
    if ($key == 0) {
        continue;
    }
    $name = sprintf('user_gs n.%d', $key - 1);
    $msg = 'Report ' . $name . ' is correctly sorted';
    $t->cmp_ok($report->getName(), '===', $name, $msg);
}
$t->diag('->countNewCustomReports()');
$uid = $ut->getUserId('user_gs');
$r = Doctrine_Core::getTable('Report')->countNewCustomReports($uid);
$t->cmp_ok(count($r), '===', 1, '->countNewCustomReports() returns the right number of reports');
$t->diag('countReports()');
$t->cmp_ok(Doctrine_Core::getTable('Report')->countReports(), '===', 59, '->countReports() returns the right count when no input query is set.');
$q = Doctrine_Core::getTable('Report')->createQuery('r')->leftJoin('r.User u')->addWhere('u.username = ?', 'user_gs');
$t->cmp_ok(Doctrine_Core::getTable('Report')->countReports($q), '===', 30, '->countReports() returns the right count when an input query is set.');
<?php

$app = 'frontend';
$fixtures = 'fixtures/fixtures.yml';
include dirname(__FILE__) . '/../../bootstrap/functional.php';
$t = new lime_test(4);
// ->getChoices()
$t->diag('->getChoices()');
$validator = new sfWidgetFormDoctrineChoice(array('model' => 'Author'));
$author = Doctrine_Core::getTable('Author')->createQuery()->limit(1)->fetchOne();
$t->is_deeply($validator->getChoices(), array(1 => 'Jonathan H. Wage', 2 => 'Fabien POTENCIER'), '->getChoices() returns choices');
$validator->setOption('order_by', array('name', 'asc'));
$t->cmp_ok($validator->getChoices(), '===', array(2 => 'Fabien POTENCIER', 1 => 'Jonathan H. Wage'), '->getChoices() returns ordered choices');
$validator->setOption('table_method', 'testTableMethod');
$t->is_deeply($validator->getChoices(), array(1 => 'Jonathan H. Wage', 2 => 'Fabien POTENCIER'), '->getChoices() returns choices for given "table_method" option');
$validator = new sfWidgetFormDoctrineChoice(array('model' => 'Author', 'query' => Doctrine_Core::getTable('Author')->createQuery()->limit(1)));
$t->is_deeply($validator->getChoices(), array(1 => 'Jonathan H. Wage'), '->getChoices() returns choices for given "query" option');
<?php

include_once dirname(__FILE__) . '/../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../bootstrap/database.php';
$t = new lime_test(null, new lime_output_color());
$communityMemberTable = Doctrine::getTable('CommunityMember');
//------------------------------------------------------------
$t->diag('CommunityMemberTable::retrieveByMemberIdAndCommunityId()');
$t->isa_ok($communityMemberTable->retrieveByMemberIdAndCommunityId(1, 1), 'CommunityMember', 'retrieveByMemberIdAndCommunityId() returns a CommunityMember if member joins community');
$t->cmp_ok($communityMemberTable->retrieveByMemberIdAndCommunityId(1, 2), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if member does not join community');
$t->cmp_ok($communityMemberTable->retrieveByMemberIdAndCommunityId(999, 1), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if member does not exist');
$t->cmp_ok($communityMemberTable->retrieveByMemberIdAndCommunityId(1, 999), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if community does not exist');
$t->cmp_ok($communityMemberTable->retrieveByMemberIdAndCommunityId(999, 999), '===', false, 'retrieveByMemberIdAndCommunityId() returns NULL if member and community do not exist');
//------------------------------------------------------------
$t->diag('CommunityMemberTable::isMember()');
$t->cmp_ok($communityMemberTable->isMember(1, 1), '===', true, 'isMember() returns true if member joins community');
$t->cmp_ok($communityMemberTable->isMember(1, 2), '===', false, 'isMember() returns false if member does not join community');
$t->cmp_ok($communityMemberTable->isMember(999, 1), '===', false, 'isMember() returns false if member does not exist');
$t->cmp_ok($communityMemberTable->isMember(1, 999), '===', false, 'isMember() returns false if community does not exist');
$t->cmp_ok($communityMemberTable->isMember(999, 999), '===', false, 'isMember() returns false if member and community do not exist');
//------------------------------------------------------------
$t->diag('CommunityMemberTable::isAdmin()');
$t->cmp_ok($communityMemberTable->isAdmin(1, 1), '===', true, 'isAdmin() returns true if member joins community and position is admin');
$t->cmp_ok($communityMemberTable->isAdmin(2, 1), '===', false, 'isAdmin() returns false if member joins community and position is not admin');
$t->cmp_ok($communityMemberTable->isAdmin(1, 2), '===', false, 'isAdmin() returns false if member does not join community');
$t->cmp_ok($communityMemberTable->isAdmin(999, 1), '===', false, 'isAdmin() returns false if member does not exist');
$t->cmp_ok($communityMemberTable->isAdmin(1, 999), '===', false, 'isAdmin() returns false if community does not exist');
$t->cmp_ok($communityMemberTable->isAdmin(999, 999), '===', false, 'isAdmin() returns false if member and community do not exist');
//------------------------------------------------------------
$t->diag('CommunityMemberTable::join()');
$t->cmp_ok($communityMemberTable->isMember(1, 2), '===', false, 'isMember() returns false');
<?php

include_once dirname(__FILE__) . '/../../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../../bootstrap/database.php';
sfContext::createInstance($configuration);
sfDoctrineRecord::setDefaultCulture('ja_JP');
$t = new lime_test(5, new lime_output_color());
//------------------------------------------------------------
$t->diag('NotificationMailTable');
$t->diag('NotificationMailTable::getDisabledNotificationNames()');
$result = Doctrine::getTable('NotificationMail')->getDisabledNotificationNames();
$t->is($result, array('name2'));
$t->diag('NotificationMailTable::fetchTemplate()');
$result = Doctrine::getTable('NotificationMail')->fetchTemplate('name1');
$t->isa_ok($result, 'NotificationMail');
$result = Doctrine::getTable('NotificationMail')->fetchTemplate('pc_changeMailAddress');
$t->isa_ok($result, 'NotificationMail');
$result = Doctrine::getTable('NotificationMail')->fetchTemplate('aaaaa');
$t->cmp_ok(false, '===', $result);
$t->diag('NotificationMailTable::getConfigs()');
$result = Doctrine::getTable('NotificationMail')->getConfigs();
$t->isa_ok($result, 'array');
<?php

include_once dirname(__FILE__) . '/../../bootstrap/unit.php';
include_once dirname(__FILE__) . '/../../bootstrap/database.php';
sfContext::createInstance($configuration);
$t = new lime_test(15, new lime_output_color());
//==============================================================================
$t->diag('opActivityQueryBuilder::create()');
$builder = opActivityQueryBuilder::create();
$t->cmp_ok($builder, 'instanceof', 'opActivityQueryBuilder', '::create() returns opActivityQueryBuilder instance.');
$builder2 = opActivityQueryBuilder::create();
$t->cmp_ok($builder2, '!==', $builder, 'opActivityQueryBuilder is NOT singleton.');
//==============================================================================
$t->diag('opActivityQueryBuilder::buildQuery()');
$query = opActivityQueryBuilder::create()->buildQuery();
$t->cmp_ok($query, 'instanceof', 'Doctrine_Query', '->buildQuery() returns Doctrine_Query instance.');
$query->free();
//==============================================================================
$t->diag('opActivityQueryBuilder::includeSelf()');
$builder = opActivityQueryBuilder::create()->setViewerId(1)->includeSelf();
$query = $builder->buildQuery();
$result = $query->execute();
$t->is($result->getPrimaryKeys(), array(8, 7, 6, 5, 4, 3, 2, 1), '->includeSelf() viewerId = 1');
$result->free(true);
$query->free();
//------------------------------------------------------------
$builder = opActivityQueryBuilder::create()->setViewerId(2)->includeSelf();
$query = $builder->buildQuery();
$result = $query->execute();
$t->is($result->getPrimaryKeys(), array(), '->includeSelf() viewerId = 2');
$result->free(true);