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