From 0e240ef2d09f15dcf3b9c7cb4db5d9e1d1988430 Mon Sep 17 00:00:00 2001 From: eXeCUT Date: Tue, 3 Oct 2017 16:00:27 +0300 Subject: [PATCH 1/2] Container type for pjax must be string --- framework/assets/yii.js | 2 +- tests/js/tests/yii.test.js | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/framework/assets/yii.js b/framework/assets/yii.js index 618e9a5..518153c 100644 --- a/framework/assets/yii.js +++ b/framework/assets/yii.js @@ -165,7 +165,7 @@ window.yii = (function ($) { if (usePjax) { pjaxContainer = $e.data('pjax-container') || $e.closest('[data-pjax-container]'); if (!pjaxContainer.length) { - pjaxContainer = $('body'); + pjaxContainer = 'body'; } pjaxOptions = { container: pjaxContainer, diff --git a/tests/js/tests/yii.test.js b/tests/js/tests/yii.test.js index daaa1e1..5197d09 100644 --- a/tests/js/tests/yii.test.js +++ b/tests/js/tests/yii.test.js @@ -328,7 +328,7 @@ describe('yii', function () { // container needs to be checked separately if (typeof pjaxOptions.container === 'string') { - assert.equal(pjaxOptions.container, '#' + pjaxContainerId || 'body'); + assert.equal(pjaxOptions.container, pjaxContainerId ? ('#' + pjaxContainerId) : 'body'); } else { assert.instanceOf(pjaxOptions.container, $); assert.equal(pjaxOptions.container.attr('id'), pjaxContainerId || 'body'); @@ -380,9 +380,13 @@ describe('yii', function () { var pjaxOptions = pjaxSubmitStub.getCall(0).args[1]; // container needs to be checked separately + if (typeof pjaxOptions.container === 'string') { + assert.equal(pjaxOptions.container, 'body'); + } else { + assert.instanceOf(pjaxOptions.container, $); + assert.equal(pjaxOptions.container.attr('id'), 'body'); + } - assert.instanceOf(pjaxOptions.container, $); - assert.equal(pjaxOptions.container.attr('id'), 'body'); delete pjaxOptions.container; assert.deepEqual(pjaxOptions, { From 85f8709f14bdcb07a0936bc8befc1f5bd9569abd Mon Sep 17 00:00:00 2001 From: Dmitry Naumenko Date: Wed, 4 Oct 2017 18:11:54 +0300 Subject: [PATCH 2/2] Fixed test --- tests/js/tests/yii.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/js/tests/yii.test.js b/tests/js/tests/yii.test.js index 5197d09..5c4c1b0 100644 --- a/tests/js/tests/yii.test.js +++ b/tests/js/tests/yii.test.js @@ -328,7 +328,7 @@ describe('yii', function () { // container needs to be checked separately if (typeof pjaxOptions.container === 'string') { - assert.equal(pjaxOptions.container, pjaxContainerId ? ('#' + pjaxContainerId) : 'body'); + assert.equal(pjaxOptions.container, pjaxContainerId || 'body'); } else { assert.instanceOf(pjaxOptions.container, $); assert.equal(pjaxOptions.container.attr('id'), pjaxContainerId || 'body'); @@ -498,7 +498,7 @@ describe('yii', function () { 'link, data-pjax="1"': ['.link-pjax-1', 'body'], 'link, data-pjax="true"': ['.link-pjax-true', 'body'], 'link, data-pjax, outside a container': [ - '.link-pjax-outside-container', 'pjax-separate-container' + '.link-pjax-outside-container', '#pjax-separate-container' ], 'link href, data-pjax, inside a container': ['.link-pjax-inside-container', 'pjax-container-2'] }, function (elementSelector, expectedPjaxContainerId) {