public function getLocationSlug() { return Jobeet::slugify($this->getLocation()); }
<?php use_stylesheet('jobs.css'); ?> <div id="jobs"> <?php foreach ($categories as $category) { ?> <div class="category_<?php echo Jobeet::slugify($category->getName()); ?> "> <div class="category"> <div class="feed"> <a href="">Feed</a> </div> <h1><?php echo $category; ?> </h1> </div> <table class="jobs"> <?php foreach ($category->getActiveJobs(sfConfig::get('app_max_jobs_on_homepage')) as $i => $job) { ?> <tr class="<?php echo fmod($i, 2) ? 'even' : 'odd'; ?> ">
public function getSlug() { return Jobeet::slugfy($this->getName()); }
<?php include dirname(__FILE__) . '/../../bootstrap/Propel.php'; $t = new lime_test(3); $t->comment('->getCompanySlug()'); $job = JobeetJobPeer::doSelectOne(new Criteria()); $t->is($job->getCompanySlug(), Jobeet::slugify($job->getCompany()), '->getCompanySlug() return the slug for the company'); $t->comment('->save()'); $job = create_job(); $job->save(); $expiresAt = date('Y-m-d', time() + 86400 * sfConfig::get('app_active_days')); $t->is($job->getExpiresAt('Y-m-d'), $expiresAt, '->save() updates expires_at if not set'); $job = create_job(array('expires_at' => '2008-08-08')); $job->save(); $t->is($job->getExpiresAt('Y-m-d'), '2008-08-08', '->save() does not update expires_at if set'); function create_job($defaults = array()) { static $category = null; if (is_null($category)) { $category = JobeetCategoryPeer::doSelectOne(new Criteria()); } $job = new JobeetJob(); $job->fromArray(array_merge(array('category_id' => $category->getId(), 'company' => 'Sensio Labs', 'position' => 'Senior Tester', 'location' => 'Paris, France', 'description' => 'Testing is fun', 'how_to_apply' => 'Send e-Mail', 'email' => '*****@*****.**', 'token' => rand(1111, 9999), 'is_activated' => true), $defaults), BasePeer::TYPE_FIELDNAME); return $job; }
<?php // test/unit/JobeetTest.php require_once dirname(__FILE__) . '/../bootstrap/unit.php'; $t = new lime_test(9, new lime_output_color()); $t->comment('::slugfy()'); $t->is(Jobeet::slugfy('Sensio'), 'sensio', '::slugfy() converts all characters to lower case'); $t->is(Jobeet::slugfy('sensio labs'), 'sensio-labs', '::slugfy() replaces a white space by a -'); $t->is(Jobeet::slugfy('sensio labs'), 'sensio-labs', '::slugfy() replaces several white spaces by a single -'); $t->is(Jobeet::slugfy(' sensio'), 'sensio', '::slugfy() removes - at the beginning of a string'); $t->is(Jobeet::slugfy('sensio '), 'sensio', '::slugfy() removes - at the end of a string'); $t->is(Jobeet::slugfy('paris,france'), 'paris-france', '::slugfy() replaces non-ASCII characters by a -'); $t->is(Jobeet::slugfy(''), 'n-a', '::slugify() converts the empty string to n-a'); $t->is(Jobeet::slugfy(' - '), 'n-a', '::slugify() converts a string that only contains non-ASCII characters to n-a'); if (function_exists('iconv')) { $t->is(Jobeet::slugfy('Développeur Web'), 'developpeur-web', '::slugify() removes accents'); } else { $t->skip('::slugify() removes accents - iconv not installed'); }
/** * @ORM\PrePersist */ public function setSlugValue() { $this->slug = Jobeet::slugify($this->getName()); }
public function setName($name) { parent::setName($name); $this->setSlug(Jobeet::slugify($name)); }
<?php require_once dirname(__FILE__) . '/../bootstrap/unit.php'; $t = new lime_test(8, new lime_output_color()); $t->comment('::slugify()'); $t->is(Jobeet::slugify('Sensio'), 'sensio', '::slugify() converts all characters to lower case'); $t->is(Jobeet::slugify('sensio labs'), 'sensio-labs', '::slugify() replaces a white space by a -'); $t->is(Jobeet::slugify('sensio labs'), 'sensio-labs', '::slugify() replaces several white spaces by a single -'); $t->is(Jobeet::slugify(' sensio'), 'sensio', '::slugify() removes - at the beginning of a string'); $t->is(Jobeet::slugify('sensio '), 'sensio', '::slugify() removes - at the end of a string'); $t->is(Jobeet::slugify('paris,france'), 'paris-france', '::slugify() replaces non-ASCII characters by a -'); $t->is(Jobeet::slugify(''), 'n-a', '::slugify() converts the empty string to n-a'); $t->is(Jobeet::slugify(' - '), 'n-a', '::slugify() converts a string that only contains non-ASCII characters to n-a');
// test/unit/model/JobeetJobTest.php include dirname(__FILE__) . '/../../bootstrap/Doctrine.php'; $t = new lime_test(5); $t->comment('->getCompanySlug()'); $job = Doctrine_Core::getTable('JobeetJob')->createQuery()->fetchOne(); $t->is($job->getCompanySlug(), Jobeet::slugify($job->getCompany()), '->getCompanySlug() return the slug for the company'); $t->comment('->save()'); $job = create_job(); $job->save(); $expiresAt = date('Y-m-d', time() + 86400 * sfConfig::get('app_active_days')); $t->is($job->getDateTimeObject('expires_at')->format('Y-m-d'), $expiresAt, '->save() updates expires_at if not set'); $job = create_job(array('expires_at' => '2008-08-08')); $job->save(); $t->is($job->getDateTimeObject('expires_at')->format('Y-m-d'), '2008-08-08', '->save() does not update expires_at if set'); function create_job($defaults = array()) { static $category = null; if (is_null($category)) { $category = Doctrine_Core::getTable('JobeetCategory')->createQuery()->limit(1)->fetchOne(); } $job = new JobeetJob(); $job->fromArray(array_merge(array('category_id' => $category->getId(), 'company' => 'Sensio Labs', 'position' => 'Senior Tester', 'location' => 'Paris, France', 'description' => 'Testing is fun', 'how_to_apply' => 'Send e-Mail', 'email' => '*****@*****.**', 'token' => rand(1111, 9999), 'is_activated' => true), $defaults)); return $job; } $t->comment('->getPositionSlug()'); $job = Doctrine_Core::getTable('JobeetJob')->createQuery()->fetchOne(); $t->is($job->getPositionSlug(), Jobeet::slugify($job->getPosition()), '->getPositionSlug() return the slug for the position'); $t->comment('->getLocationSlug()'); $job = Doctrine_Core::getTable('JobeetJob')->createQuery()->fetchOne(); $t->is($job->getLocationSlug(), Jobeet::slugify($job->getLocation()), '->getLocationSlug() return the slug for the location');