Best Atoum code snippet using version.getVersion
SortedMigrationPlanCalculator.php
Source:SortedMigrationPlanCalculator.php
...48 {49 $migrationsToCheck = $this->arrangeMigrationsForDirection($direction, $this->getMigrations());50 $availableMigrations = array_filter($migrationsToCheck, static function (AvailableMigration $availableMigration) use ($versions): bool {51 // in_array third parameter is intentionally false to force object to string casting52 return in_array($availableMigration->getVersion(), $versions, false);53 });54 $planItems = array_map(static function (AvailableMigration $availableMigration) use ($direction): MigrationPlan {55 return new MigrationPlan($availableMigration->getVersion(), $availableMigration->getMigration(), $direction);56 }, $availableMigrations);57 if (count($planItems) !== count($versions)) {58 $plannedVersions = array_map(static function (MigrationPlan $migrationPlan): Version {59 return $migrationPlan->getVersion();60 }, $planItems);61 $diff = array_diff($versions, $plannedVersions);62 throw MigrationClassNotFound::new((string) reset($diff));63 }64 return new MigrationPlanList($planItems, $direction);65 }66 public function getPlanUntilVersion(Version $to): MigrationPlanList67 {68 if ((string) $to !== '0' && ! $this->migrationRepository->hasMigration((string) $to)) {69 throw MigrationClassNotFound::new((string) $to);70 }71 $availableMigrations = $this->getMigrations(); // migrations are sorted at this point72 $executedMigrations = $this->metadataStorage->getExecutedMigrations();73 $direction = $this->findDirection($to, $executedMigrations, $availableMigrations);74 $migrationsToCheck = $this->arrangeMigrationsForDirection($direction, $availableMigrations);75 $toExecute = $this->findMigrationsToExecute($to, $migrationsToCheck, $direction, $executedMigrations);76 return new MigrationPlanList(array_map(static function (AvailableMigration $migration) use ($direction): MigrationPlan {77 return new MigrationPlan($migration->getVersion(), $migration->getMigration(), $direction);78 }, $toExecute), $direction);79 }80 public function getMigrations(): AvailableMigrationsList81 {82 $availableMigrations = $this->migrationRepository->getMigrations()->getItems();83 uasort($availableMigrations, function (AvailableMigration $a, AvailableMigration $b): int {84 return $this->sorter->compare($a->getVersion(), $b->getVersion());85 });86 return new AvailableMigrationsList($availableMigrations);87 }88 private function findDirection(Version $to, ExecutedMigrationsList $executedMigrations, AvailableMigrationsList $availableMigrations): string89 {90 if ((string) $to === '0') {91 return Direction::DOWN;92 }93 foreach ($availableMigrations->getItems() as $availableMigration) {94 if ($availableMigration->getVersion()->equals($to)) {95 break;96 }97 if (! $executedMigrations->hasMigration($availableMigration->getVersion())) {98 return Direction::UP;99 }100 }101 if ($executedMigrations->hasMigration($to) && ! $executedMigrations->getLast()->getVersion()->equals($to)) {102 return Direction::DOWN;103 }104 return Direction::UP;105 }106 /**107 * @return AvailableMigration[]108 */109 private function arrangeMigrationsForDirection(string $direction, Metadata\AvailableMigrationsList $availableMigrations): array110 {111 return $direction === Direction::UP ? $availableMigrations->getItems() : array_reverse($availableMigrations->getItems());112 }113 /**114 * @param AvailableMigration[] $migrationsToCheck115 *116 * @return AvailableMigration[]117 */118 private function findMigrationsToExecute(Version $to, array $migrationsToCheck, string $direction, ExecutedMigrationsList $executedMigrations): array119 {120 $toExecute = [];121 foreach ($migrationsToCheck as $availableMigration) {122 if ($direction === Direction::DOWN && $availableMigration->getVersion()->equals($to)) {123 break;124 }125 if ($direction === Direction::UP && ! $executedMigrations->hasMigration($availableMigration->getVersion())) {126 $toExecute[] = $availableMigration;127 } elseif ($direction === Direction::DOWN && $executedMigrations->hasMigration($availableMigration->getVersion())) {128 $toExecute[] = $availableMigration;129 }130 if ($direction === Direction::UP && $availableMigration->getVersion()->equals($to)) {131 break;132 }133 }134 return $toExecute;135 }136}...
ApproveTest.php
Source:ApproveTest.php
...28 $this->page = Page::getByID(Page::getHomePageID());29 $this->cvIDs = [];30 for ($i = 0; $i < $this->numCollectionVersions; ++$i) {31 $this->page->loadVersionObject($i + 1);32 if ($this->page->getVersionID() === null) {33 $this->page->loadVersionObject('RECENT');34 $cv = $this->page->cloneVersion('')->getVersionObject();35 } else {36 $cv = $this->page->getVersionObject();37 }38 $this->cvIDs[] = $cv->getVersionID();39 }40 $this->resetVersions();41 }42 public function testWithoutStartEndDate()43 {44 $this->getVersion(0)->approve(false);45 $this->assertTrue((bool) $this->getVersion(0)->isApproved());46 $this->assertFalse((bool) $this->getVersion(1)->isApproved());47 $this->assertFalse((bool) $this->getVersion(2)->isApproved());48 $this->getVersion(1)->approve(false);49 $this->assertFalse((bool) $this->getVersion(0)->isApproved());50 $this->assertTrue((bool) $this->getVersion(1)->isApproved());51 $this->assertFalse((bool) $this->getVersion(2)->isApproved());52 }53 public function testStartDate()54 {55 $now = strtotime('2018-10-23 12:00:00');56 $startDate = $this->dateHelper->toDB($now);57 $startDatePlus1 = $this->dateHelper->toDB($now + 1);58 $startDatePlus2 = $this->dateHelper->toDB($now + 2);59 $this->getVersion(0)->approve(false, $startDate);60 $this->getVersion(1)->setPublishInterval($startDate, null);61 $this->assertTrue((bool) $this->getVersion(0)->isApproved());62 $this->assertFalse((bool) $this->getVersion(1)->isApproved());63 $this->assertSame($startDate, $this->getVersion(0)->getPublishDate());64 $this->assertSame($startDate, $this->getVersion(1)->getPublishDate());65 $this->getVersion(1)->approve(false, $startDate, null);66 $this->assertFalse((bool) $this->getVersion(0)->isApproved());67 $this->assertTrue((bool) $this->getVersion(1)->isApproved());68 $this->assertSame($startDate, $this->getVersion(0)->getPublishDate());69 $this->assertSame($startDate, $this->getVersion(1)->getPublishDate());70 $this->getVersion(2)->approve(false, $startDatePlus2, null);71 $this->assertTrue((bool) $this->getVersion(1)->isApproved());72 $this->assertTrue((bool) $this->getVersion(2)->isApproved());73 $this->assertSame($startDate, $this->getVersion(1)->getPublishDate());74 $this->assertSame($startDatePlus1, $this->getVersion(1)->getPublishEndDate());75 $this->assertSame($startDatePlus2, $this->getVersion(2)->getPublishDate());76 }77 public function testEndDate()78 {79 $now = strtotime('2018-10-23 12:00:00');80 $endDate = $this->dateHelper->toDB($now);81 $endDateMinus1 = $this->dateHelper->toDB($now - 1);82 $endDateMinus2 = $this->dateHelper->toDB($now - 2);83 $this->getVersion(0)->approve(false, null, $endDate);84 $this->getVersion(1)->setPublishInterval(null, $endDate);85 $this->assertTrue((bool) $this->getVersion(0)->isApproved());86 $this->assertFalse((bool) $this->getVersion(1)->isApproved());87 $this->assertSame($endDate, $this->getVersion(0)->getPublishEndDate());88 $this->assertSame($endDate, $this->getVersion(1)->getPublishEndDate());89 $this->getVersion(1)->approve(false, null, $endDate);90 $this->assertFalse((bool) $this->getVersion(0)->isApproved());91 $this->assertTrue((bool) $this->getVersion(1)->isApproved());92 $this->assertSame($endDate, $this->getVersion(0)->getPublishEndDate());93 $this->assertSame($endDate, $this->getVersion(1)->getPublishEndDate());94 $this->getVersion(2)->approve(false, null, $endDateMinus2);95 $this->assertTrue((bool) $this->getVersion(1)->isApproved());96 $this->assertTrue((bool) $this->getVersion(2)->isApproved());97 $this->assertSame($endDateMinus1, $this->getVersion(1)->getPublishDate());98 $this->assertSame($endDate, $this->getVersion(1)->getPublishEndDate());99 $this->assertSame($endDateMinus2, $this->getVersion(2)->getPublishEndDate());100 }101 public function testStartEndDate()102 {103 $now = strtotime('2018-10-23 12:00:00');104 $startDate = $this->dateHelper->toDB($now - 10);105 $endDate = $this->dateHelper->toDB($now + 10);106 $endDatePlus1 = $this->dateHelper->toDB($now + 10 + 1);107 $this->getVersion(0)->approve(false);108 $this->getVersion(1)->approve(false, $startDate, $endDate);109 $this->assertTrue((bool) $this->getVersion(0)->isApproved());110 $this->assertSame($endDatePlus1, $this->getVersion(0)->getPublishDate());111 $this->assertNull($this->getVersion(0)->getPublishEndDate());112 $this->resetVersions();113 $this->getVersion(0)->approve(false, $startDate, $endDate);114 $this->getVersion(1)->approve(false, $startDate, $endDate);115 $this->assertTrue((bool) $this->getVersion(1)->isApproved());116 $this->assertFalse((bool) $this->getVersion(0)->isApproved());117 }118 /**119 * @param int $index120 *121 * @return \Concrete\Core\Page\Collection\Version\Version122 */123 protected function getVersion($index)124 {125 $this->page->loadVersionObject($this->cvIDs[$index]);126 return $this->page->getVersionObject();127 }128 protected function resetVersions()129 {130 foreach (array_keys($this->cvIDs) as $index) {131 $cv = $this->getVersion($index);132 $cv->deny();133 $cv->setPublishInterval(null, null);134 }135 }136}...
getVersion
Using AI Code Generation
1require_once 'version.php';2$ver = new Version();3echo $ver->getVersion();4require_once 'version.php';5$ver = new Version();6echo $ver->getVersion();7require_once 'version.php';8$ver = new Version();9echo $ver->getVersion();10require_once 'version.php';11$ver = new Version();12echo $ver->getVersion();13require_once 'version.php';14$ver = new Version();15echo $ver->getVersion();16require_once 'version.php';17$ver = new Version();18echo $ver->getVersion();19require_once 'version.php';20$ver = new Version();21echo $ver->getVersion();22require_once 'version.php';23$ver = new Version();24echo $ver->getVersion();25require_once 'version.php';26$ver = new Version();27echo $ver->getVersion();28require_once 'version.php';29$ver = new Version();30echo $ver->getVersion();31require_once 'version.php';32$ver = new Version();33echo $ver->getVersion();34require_once 'version.php';35$ver = new Version();36echo $ver->getVersion();37require_once 'version.php';38$ver = new Version();39echo $ver->getVersion();40require_once 'version.php';41$ver = new Version();42echo $ver->getVersion();
getVersion
Using AI Code Generation
1include_once('version.php');2$version = new version();3$version->getVersion();4include_once('version.php');5$version = new version();6$version->getVersion();7include_once('version.php');8$version = new version();9$version->getVersion();10include_once('version.php');11$version = new version();12$version->getVersion();13include_once('version.php');14$version = new version();15$version->getVersion();16include_once('version.php');17$version = new version();18$version->getVersion();19include_once('version.php');20$version = new version();21$version->getVersion();22include_once('version.php');23$version = new version();24$version->getVersion();25include_once('version.php');26$version = new version();27$version->getVersion();28include_once('version.php');29$version = new version();30$version->getVersion();31include_once('version.php');32$version = new version();33$version->getVersion();34include_once('version.php');35$version = new version();36$version->getVersion();37include_once('version.php');38$version = new version();39$version->getVersion();40include_once('version.php');41$version = new version();42$version->getVersion();43include_once('version.php');
getVersion
Using AI Code Generation
1require_once 'version.php';2$version = new Version();3echo $version->getVersion();4class Version {5 public function getVersion() {6 return '1.0.0';7 }8}
getVersion
Using AI Code Generation
1require_once('version.class.php');2$version = new version();3echo $version->getVersion();4{5 public function getVersion()6 {7 return '1.0';8 }9}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Execute automation tests with getVersion on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.
Test now for FreeGet 100 minutes of automation test minutes FREE!!