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