| @@ 3199-3344 (lines=146) @@ | ||
| 3196 | * |
|
| 3197 | * @group swap |
|
| 3198 | */ |
|
| 3199 | public function testLocationSwappedSimpleWithHistory() |
|
| 3200 | { |
|
| 3201 | $handler = $this->getHandler(); |
|
| 3202 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_simple_history.php'); |
|
| 3203 | ||
| 3204 | $countBeforeReusing = $this->countRows(); |
|
| 3205 | ||
| 3206 | $handler->locationSwapped(316, 314, 317, 315); |
|
| 3207 | ||
| 3208 | $this->assertEquals( |
|
| 3209 | $countBeforeReusing, |
|
| 3210 | $this->countRows() |
|
| 3211 | ); |
|
| 3212 | ||
| 3213 | $urlAlias = $handler->lookup('jedan/swap'); |
|
| 3214 | $this->assertEquals( |
|
| 3215 | new UrlAlias( |
|
| 3216 | array( |
|
| 3217 | 'id' => '2-' . md5('swap'), |
|
| 3218 | 'type' => UrlAlias::LOCATION, |
|
| 3219 | 'destination' => 316, |
|
| 3220 | 'languageCodes' => array( |
|
| 3221 | 'cro-HR', |
|
| 3222 | ), |
|
| 3223 | 'pathData' => array( |
|
| 3224 | array( |
|
| 3225 | 'always-available' => false, |
|
| 3226 | 'translations' => array( |
|
| 3227 | 'cro-HR' => 'jedan', |
|
| 3228 | ), |
|
| 3229 | ), |
|
| 3230 | array( |
|
| 3231 | 'always-available' => false, |
|
| 3232 | 'translations' => array( |
|
| 3233 | 'cro-HR' => 'swap', |
|
| 3234 | ), |
|
| 3235 | ), |
|
| 3236 | ), |
|
| 3237 | 'alwaysAvailable' => false, |
|
| 3238 | 'isHistory' => true, |
|
| 3239 | 'isCustom' => false, |
|
| 3240 | 'forward' => false, |
|
| 3241 | ) |
|
| 3242 | ), |
|
| 3243 | $urlAlias |
|
| 3244 | ); |
|
| 3245 | ||
| 3246 | $urlAlias = $handler->lookup('dva/swap'); |
|
| 3247 | $this->assertEquals( |
|
| 3248 | new UrlAlias( |
|
| 3249 | array( |
|
| 3250 | 'id' => '3-' . md5('swap'), |
|
| 3251 | 'type' => UrlAlias::LOCATION, |
|
| 3252 | 'destination' => 317, |
|
| 3253 | 'languageCodes' => array( |
|
| 3254 | 'cro-HR', |
|
| 3255 | ), |
|
| 3256 | 'pathData' => array( |
|
| 3257 | array( |
|
| 3258 | 'always-available' => false, |
|
| 3259 | 'translations' => array( |
|
| 3260 | 'cro-HR' => 'dva', |
|
| 3261 | ), |
|
| 3262 | ), |
|
| 3263 | array( |
|
| 3264 | 'always-available' => false, |
|
| 3265 | 'translations' => array( |
|
| 3266 | 'cro-HR' => 'swap', |
|
| 3267 | ), |
|
| 3268 | ), |
|
| 3269 | ), |
|
| 3270 | 'alwaysAvailable' => false, |
|
| 3271 | 'isHistory' => true, |
|
| 3272 | 'isCustom' => false, |
|
| 3273 | 'forward' => false, |
|
| 3274 | ) |
|
| 3275 | ), |
|
| 3276 | $urlAlias |
|
| 3277 | ); |
|
| 3278 | ||
| 3279 | $urlAlias = $handler->lookup('jedan/swap-new'); |
|
| 3280 | $this->assertEquals( |
|
| 3281 | new UrlAlias( |
|
| 3282 | array( |
|
| 3283 | 'id' => '2-' . md5('swap-new'), |
|
| 3284 | 'type' => UrlAlias::LOCATION, |
|
| 3285 | 'destination' => 316, |
|
| 3286 | 'languageCodes' => array( |
|
| 3287 | 'cro-HR', |
|
| 3288 | ), |
|
| 3289 | 'pathData' => array( |
|
| 3290 | array( |
|
| 3291 | 'always-available' => false, |
|
| 3292 | 'translations' => array( |
|
| 3293 | 'cro-HR' => 'jedan', |
|
| 3294 | ), |
|
| 3295 | ), |
|
| 3296 | array( |
|
| 3297 | 'always-available' => false, |
|
| 3298 | 'translations' => array( |
|
| 3299 | 'cro-HR' => 'swap-new', |
|
| 3300 | ), |
|
| 3301 | ), |
|
| 3302 | ), |
|
| 3303 | 'alwaysAvailable' => false, |
|
| 3304 | 'isHistory' => false, |
|
| 3305 | 'isCustom' => false, |
|
| 3306 | 'forward' => false, |
|
| 3307 | ) |
|
| 3308 | ), |
|
| 3309 | $urlAlias |
|
| 3310 | ); |
|
| 3311 | ||
| 3312 | $urlAlias = $handler->lookup('dva/swap-new'); |
|
| 3313 | $this->assertEquals( |
|
| 3314 | new UrlAlias( |
|
| 3315 | array( |
|
| 3316 | 'id' => '3-' . md5('swap-new'), |
|
| 3317 | 'type' => UrlAlias::LOCATION, |
|
| 3318 | 'destination' => 317, |
|
| 3319 | 'languageCodes' => array( |
|
| 3320 | 'cro-HR', |
|
| 3321 | ), |
|
| 3322 | 'pathData' => array( |
|
| 3323 | array( |
|
| 3324 | 'always-available' => false, |
|
| 3325 | 'translations' => array( |
|
| 3326 | 'cro-HR' => 'dva', |
|
| 3327 | ), |
|
| 3328 | ), |
|
| 3329 | array( |
|
| 3330 | 'always-available' => false, |
|
| 3331 | 'translations' => array( |
|
| 3332 | 'cro-HR' => 'swap-new', |
|
| 3333 | ), |
|
| 3334 | ), |
|
| 3335 | ), |
|
| 3336 | 'alwaysAvailable' => false, |
|
| 3337 | 'isHistory' => false, |
|
| 3338 | 'isCustom' => false, |
|
| 3339 | 'forward' => false, |
|
| 3340 | ) |
|
| 3341 | ), |
|
| 3342 | $urlAlias |
|
| 3343 | ); |
|
| 3344 | } |
|
| 3345 | ||
| 3346 | /** |
|
| 3347 | * Test for the locationSwapped() method. |
|
| @@ 4569-4714 (lines=146) @@ | ||
| 4566 | * |
|
| 4567 | * @group swap |
|
| 4568 | */ |
|
| 4569 | public function testLocationSwappedWithReusingExternalHistory() |
|
| 4570 | { |
|
| 4571 | $handler = $this->getHandler(); |
|
| 4572 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_reusing_external_history.php'); |
|
| 4573 | ||
| 4574 | $countBeforeReusing = $this->countRows(); |
|
| 4575 | ||
| 4576 | $handler->locationSwapped(318, 314, 319, 315); |
|
| 4577 | ||
| 4578 | $this->assertEquals( |
|
| 4579 | $countBeforeReusing, |
|
| 4580 | $this->countRows() |
|
| 4581 | ); |
|
| 4582 | ||
| 4583 | $urlAlias = $handler->lookup('jedan/swap-that'); |
|
| 4584 | $this->assertEquals( |
|
| 4585 | new UrlAlias( |
|
| 4586 | array( |
|
| 4587 | 'id' => '2-' . md5('swap-that'), |
|
| 4588 | 'type' => UrlAlias::LOCATION, |
|
| 4589 | 'destination' => 318, |
|
| 4590 | 'languageCodes' => array( |
|
| 4591 | 'cro-HR', |
|
| 4592 | ), |
|
| 4593 | 'pathData' => array( |
|
| 4594 | array( |
|
| 4595 | 'always-available' => false, |
|
| 4596 | 'translations' => array( |
|
| 4597 | 'cro-HR' => 'jedan', |
|
| 4598 | ), |
|
| 4599 | ), |
|
| 4600 | array( |
|
| 4601 | 'always-available' => false, |
|
| 4602 | 'translations' => array( |
|
| 4603 | 'cro-HR' => 'swap-that', |
|
| 4604 | ), |
|
| 4605 | ), |
|
| 4606 | ), |
|
| 4607 | 'alwaysAvailable' => false, |
|
| 4608 | 'isHistory' => false, |
|
| 4609 | 'isCustom' => false, |
|
| 4610 | 'forward' => false, |
|
| 4611 | ) |
|
| 4612 | ), |
|
| 4613 | $urlAlias |
|
| 4614 | ); |
|
| 4615 | ||
| 4616 | $urlAlias = $handler->lookup('dva/swap-this'); |
|
| 4617 | $this->assertEquals( |
|
| 4618 | new UrlAlias( |
|
| 4619 | array( |
|
| 4620 | 'id' => '3-' . md5('swap-this'), |
|
| 4621 | 'type' => UrlAlias::LOCATION, |
|
| 4622 | 'destination' => 319, |
|
| 4623 | 'languageCodes' => array( |
|
| 4624 | 'cro-HR', |
|
| 4625 | ), |
|
| 4626 | 'pathData' => array( |
|
| 4627 | array( |
|
| 4628 | 'always-available' => false, |
|
| 4629 | 'translations' => array( |
|
| 4630 | 'cro-HR' => 'dva', |
|
| 4631 | ), |
|
| 4632 | ), |
|
| 4633 | array( |
|
| 4634 | 'always-available' => false, |
|
| 4635 | 'translations' => array( |
|
| 4636 | 'cro-HR' => 'swap-this', |
|
| 4637 | ), |
|
| 4638 | ), |
|
| 4639 | ), |
|
| 4640 | 'alwaysAvailable' => false, |
|
| 4641 | 'isHistory' => false, |
|
| 4642 | 'isCustom' => false, |
|
| 4643 | 'forward' => false, |
|
| 4644 | ) |
|
| 4645 | ), |
|
| 4646 | $urlAlias |
|
| 4647 | ); |
|
| 4648 | ||
| 4649 | $urlAlias = $handler->lookup('dva/swap-that'); |
|
| 4650 | $this->assertEquals( |
|
| 4651 | new UrlAlias( |
|
| 4652 | array( |
|
| 4653 | 'id' => '3-' . md5('swap-that'), |
|
| 4654 | 'type' => UrlAlias::LOCATION, |
|
| 4655 | 'destination' => 319, |
|
| 4656 | 'languageCodes' => array( |
|
| 4657 | 'cro-HR', |
|
| 4658 | ), |
|
| 4659 | 'pathData' => array( |
|
| 4660 | array( |
|
| 4661 | 'always-available' => false, |
|
| 4662 | 'translations' => array( |
|
| 4663 | 'cro-HR' => 'dva', |
|
| 4664 | ), |
|
| 4665 | ), |
|
| 4666 | array( |
|
| 4667 | 'always-available' => false, |
|
| 4668 | 'translations' => array( |
|
| 4669 | 'cro-HR' => 'swap-that', |
|
| 4670 | ), |
|
| 4671 | ), |
|
| 4672 | ), |
|
| 4673 | 'alwaysAvailable' => false, |
|
| 4674 | 'isHistory' => true, |
|
| 4675 | 'isCustom' => false, |
|
| 4676 | 'forward' => false, |
|
| 4677 | ) |
|
| 4678 | ), |
|
| 4679 | $urlAlias |
|
| 4680 | ); |
|
| 4681 | ||
| 4682 | $urlAlias = $handler->lookup('jedan/swap-this'); |
|
| 4683 | $this->assertEquals( |
|
| 4684 | new UrlAlias( |
|
| 4685 | array( |
|
| 4686 | 'id' => '2-' . md5('swap-this'), |
|
| 4687 | 'type' => UrlAlias::LOCATION, |
|
| 4688 | 'destination' => 318, |
|
| 4689 | 'languageCodes' => array( |
|
| 4690 | 'cro-HR', |
|
| 4691 | ), |
|
| 4692 | 'pathData' => array( |
|
| 4693 | array( |
|
| 4694 | 'always-available' => false, |
|
| 4695 | 'translations' => array( |
|
| 4696 | 'cro-HR' => 'jedan', |
|
| 4697 | ), |
|
| 4698 | ), |
|
| 4699 | array( |
|
| 4700 | 'always-available' => false, |
|
| 4701 | 'translations' => array( |
|
| 4702 | 'cro-HR' => 'swap-this', |
|
| 4703 | ), |
|
| 4704 | ), |
|
| 4705 | ), |
|
| 4706 | 'alwaysAvailable' => false, |
|
| 4707 | 'isHistory' => true, |
|
| 4708 | 'isCustom' => false, |
|
| 4709 | 'forward' => false, |
|
| 4710 | ) |
|
| 4711 | ), |
|
| 4712 | $urlAlias |
|
| 4713 | ); |
|
| 4714 | } |
|
| 4715 | ||
| 4716 | /** |
|
| 4717 | * Test for the locationSwapped() method. |
|
| @@ 4721-4866 (lines=146) @@ | ||
| 4718 | * |
|
| 4719 | * @group swap |
|
| 4720 | */ |
|
| 4721 | public function testLocationSwappedWithReusingNopEntry() |
|
| 4722 | { |
|
| 4723 | $handler = $this->getHandler(); |
|
| 4724 | $this->insertDatabaseFixture(__DIR__ . '/_fixtures/urlaliases_swap_reusing_nop.php'); |
|
| 4725 | ||
| 4726 | $countBeforeReusing = $this->countRows(); |
|
| 4727 | ||
| 4728 | $handler->locationSwapped(316, 314, 317, 315); |
|
| 4729 | ||
| 4730 | $this->assertEquals( |
|
| 4731 | $countBeforeReusing + 1, |
|
| 4732 | $this->countRows() |
|
| 4733 | ); |
|
| 4734 | ||
| 4735 | $urlAlias = $handler->lookup('jedan/swap-that'); |
|
| 4736 | $this->assertEquals( |
|
| 4737 | new UrlAlias( |
|
| 4738 | array( |
|
| 4739 | 'id' => '2-' . md5('swap-that'), |
|
| 4740 | 'type' => UrlAlias::LOCATION, |
|
| 4741 | 'destination' => 316, |
|
| 4742 | 'languageCodes' => array( |
|
| 4743 | 'cro-HR', |
|
| 4744 | ), |
|
| 4745 | 'pathData' => array( |
|
| 4746 | array( |
|
| 4747 | 'always-available' => false, |
|
| 4748 | 'translations' => array( |
|
| 4749 | 'cro-HR' => 'jedan', |
|
| 4750 | ), |
|
| 4751 | ), |
|
| 4752 | array( |
|
| 4753 | 'always-available' => false, |
|
| 4754 | 'translations' => array( |
|
| 4755 | 'cro-HR' => 'swap-that', |
|
| 4756 | ), |
|
| 4757 | ), |
|
| 4758 | ), |
|
| 4759 | 'alwaysAvailable' => false, |
|
| 4760 | 'isHistory' => false, |
|
| 4761 | 'isCustom' => false, |
|
| 4762 | 'forward' => false, |
|
| 4763 | ) |
|
| 4764 | ), |
|
| 4765 | $urlAlias |
|
| 4766 | ); |
|
| 4767 | ||
| 4768 | $urlAlias = $handler->lookup('dva/swap-this'); |
|
| 4769 | $this->assertEquals( |
|
| 4770 | new UrlAlias( |
|
| 4771 | array( |
|
| 4772 | 'id' => '3-' . md5('swap-this'), |
|
| 4773 | 'type' => UrlAlias::LOCATION, |
|
| 4774 | 'destination' => 317, |
|
| 4775 | 'languageCodes' => array( |
|
| 4776 | 'cro-HR', |
|
| 4777 | ), |
|
| 4778 | 'pathData' => array( |
|
| 4779 | array( |
|
| 4780 | 'always-available' => false, |
|
| 4781 | 'translations' => array( |
|
| 4782 | 'cro-HR' => 'dva', |
|
| 4783 | ), |
|
| 4784 | ), |
|
| 4785 | array( |
|
| 4786 | 'always-available' => false, |
|
| 4787 | 'translations' => array( |
|
| 4788 | 'cro-HR' => 'swap-this', |
|
| 4789 | ), |
|
| 4790 | ), |
|
| 4791 | ), |
|
| 4792 | 'alwaysAvailable' => false, |
|
| 4793 | 'isHistory' => false, |
|
| 4794 | 'isCustom' => false, |
|
| 4795 | 'forward' => false, |
|
| 4796 | ) |
|
| 4797 | ), |
|
| 4798 | $urlAlias |
|
| 4799 | ); |
|
| 4800 | ||
| 4801 | $urlAlias = $handler->lookup('dva/swap-that'); |
|
| 4802 | $this->assertEquals( |
|
| 4803 | new UrlAlias( |
|
| 4804 | array( |
|
| 4805 | 'id' => '3-' . md5('swap-that'), |
|
| 4806 | 'type' => UrlAlias::LOCATION, |
|
| 4807 | 'destination' => 317, |
|
| 4808 | 'languageCodes' => array( |
|
| 4809 | 'cro-HR', |
|
| 4810 | ), |
|
| 4811 | 'pathData' => array( |
|
| 4812 | array( |
|
| 4813 | 'always-available' => false, |
|
| 4814 | 'translations' => array( |
|
| 4815 | 'cro-HR' => 'dva', |
|
| 4816 | ), |
|
| 4817 | ), |
|
| 4818 | array( |
|
| 4819 | 'always-available' => false, |
|
| 4820 | 'translations' => array( |
|
| 4821 | 'cro-HR' => 'swap-that', |
|
| 4822 | ), |
|
| 4823 | ), |
|
| 4824 | ), |
|
| 4825 | 'alwaysAvailable' => false, |
|
| 4826 | 'isHistory' => true, |
|
| 4827 | 'isCustom' => false, |
|
| 4828 | 'forward' => false, |
|
| 4829 | ) |
|
| 4830 | ), |
|
| 4831 | $urlAlias |
|
| 4832 | ); |
|
| 4833 | ||
| 4834 | $urlAlias = $handler->lookup('jedan/swap-this'); |
|
| 4835 | $this->assertEquals( |
|
| 4836 | new UrlAlias( |
|
| 4837 | array( |
|
| 4838 | 'id' => '2-' . md5('swap-this'), |
|
| 4839 | 'type' => UrlAlias::LOCATION, |
|
| 4840 | 'destination' => 316, |
|
| 4841 | 'languageCodes' => array( |
|
| 4842 | 'cro-HR', |
|
| 4843 | ), |
|
| 4844 | 'pathData' => array( |
|
| 4845 | array( |
|
| 4846 | 'always-available' => false, |
|
| 4847 | 'translations' => array( |
|
| 4848 | 'cro-HR' => 'jedan', |
|
| 4849 | ), |
|
| 4850 | ), |
|
| 4851 | array( |
|
| 4852 | 'always-available' => false, |
|
| 4853 | 'translations' => array( |
|
| 4854 | 'cro-HR' => 'swap-this', |
|
| 4855 | ), |
|
| 4856 | ), |
|
| 4857 | ), |
|
| 4858 | 'alwaysAvailable' => false, |
|
| 4859 | 'isHistory' => true, |
|
| 4860 | 'isCustom' => false, |
|
| 4861 | 'forward' => false, |
|
| 4862 | ) |
|
| 4863 | ), |
|
| 4864 | $urlAlias |
|
| 4865 | ); |
|
| 4866 | } |
|
| 4867 | ||
| 4868 | /** |
|
| 4869 | * Test for the locationSwapped() method. |
|