165 changes: 82 additions & 83 deletions tests/test.js
Expand Up @@ -6,75 +6,75 @@
elem.twbsPagination(opts);
};

QUnit.test("Test destroy called before initialization", function () {
ok(pag1.twbsPagination('destroy'));
QUnit.test("Test destroy called before initialization", function (assert) {
assert.ok(pag1.twbsPagination('destroy'));
});

QUnit.test("Test 'getPages' method (EVEN visible pages number)", function () {
QUnit.test("Test 'getPages' method (EVEN visible pages number)", function (assert) {
destroyAndCreateWithOpts(pag1, {
totalPages: 30
});

deepEqual(pag1.twbsPagination('getPages', 1), {currentPage: 1, numeric: [1, 2, 3, 4, 5]});
deepEqual(pag1.twbsPagination('getPages', 2), {currentPage: 2, numeric: [1, 2, 3, 4, 5]});
deepEqual(pag1.twbsPagination('getPages', 3), {currentPage: 3, numeric: [1, 2, 3, 4, 5]});
assert.deepEqual(pag1.twbsPagination('getPages', 1), {currentPage: 1, numeric: [1, 2, 3, 4, 5]});
assert.deepEqual(pag1.twbsPagination('getPages', 2), {currentPage: 2, numeric: [1, 2, 3, 4, 5]});
assert.deepEqual(pag1.twbsPagination('getPages', 3), {currentPage: 3, numeric: [1, 2, 3, 4, 5]});

deepEqual(pag1.twbsPagination('getPages', 4), {currentPage: 4, numeric: [2, 3, 4, 5, 6]});
deepEqual(pag1.twbsPagination('getPages', 5), {currentPage: 5, numeric: [3, 4, 5, 6, 7]});
deepEqual(pag1.twbsPagination('getPages', 20), {currentPage: 20, numeric: [18, 19, 20, 21, 22]});
assert.deepEqual(pag1.twbsPagination('getPages', 4), {currentPage: 4, numeric: [2, 3, 4, 5, 6]});
assert.deepEqual(pag1.twbsPagination('getPages', 5), {currentPage: 5, numeric: [3, 4, 5, 6, 7]});
assert.deepEqual(pag1.twbsPagination('getPages', 20), {currentPage: 20, numeric: [18, 19, 20, 21, 22]});

deepEqual(pag1.twbsPagination('getPages', 27), {currentPage: 27, numeric: [25, 26, 27, 28, 29]});
deepEqual(pag1.twbsPagination('getPages', 28), {currentPage: 28, numeric: [26, 27, 28, 29, 30]});
deepEqual(pag1.twbsPagination('getPages', 29), {currentPage: 29, numeric: [26, 27, 28, 29, 30]});
deepEqual(pag1.twbsPagination('getPages', 30), {currentPage: 30, numeric: [26, 27, 28, 29, 30]});
assert.deepEqual(pag1.twbsPagination('getPages', 27), {currentPage: 27, numeric: [25, 26, 27, 28, 29]});
assert.deepEqual(pag1.twbsPagination('getPages', 28), {currentPage: 28, numeric: [26, 27, 28, 29, 30]});
assert.deepEqual(pag1.twbsPagination('getPages', 29), {currentPage: 29, numeric: [26, 27, 28, 29, 30]});
assert.deepEqual(pag1.twbsPagination('getPages', 30), {currentPage: 30, numeric: [26, 27, 28, 29, 30]});
});

QUnit.test("Test 'getPages' method (ODD visible pages number)", function () {
QUnit.test("Test 'getPages' method (ODD visible pages number)", function (assert) {
destroyAndCreateWithOpts(pag1, {
totalPages: 30,
visiblePages: 6
});

deepEqual(pag1.twbsPagination('getPages', 1), {currentPage: 1, numeric: [1, 2, 3, 4, 5, 6]});
deepEqual(pag1.twbsPagination('getPages', 2), {currentPage: 2, numeric: [1, 2, 3, 4, 5, 6]});
deepEqual(pag1.twbsPagination('getPages', 3), {currentPage: 3, numeric: [1, 2, 3, 4, 5, 6]});
assert.deepEqual(pag1.twbsPagination('getPages', 1), {currentPage: 1, numeric: [1, 2, 3, 4, 5, 6]});
assert.deepEqual(pag1.twbsPagination('getPages', 2), {currentPage: 2, numeric: [1, 2, 3, 4, 5, 6]});
assert.deepEqual(pag1.twbsPagination('getPages', 3), {currentPage: 3, numeric: [1, 2, 3, 4, 5, 6]});

deepEqual(pag1.twbsPagination('getPages', 4), {currentPage: 4, numeric: [2, 3, 4, 5, 6, 7]});
deepEqual(pag1.twbsPagination('getPages', 5), {currentPage: 5, numeric: [3, 4, 5, 6, 7, 8]});
deepEqual(pag1.twbsPagination('getPages', 20), {currentPage: 20, numeric: [18, 19, 20, 21, 22, 23]});
assert.deepEqual(pag1.twbsPagination('getPages', 4), {currentPage: 4, numeric: [2, 3, 4, 5, 6, 7]});
assert.deepEqual(pag1.twbsPagination('getPages', 5), {currentPage: 5, numeric: [3, 4, 5, 6, 7, 8]});
assert.deepEqual(pag1.twbsPagination('getPages', 20), {currentPage: 20, numeric: [18, 19, 20, 21, 22, 23]});

deepEqual(pag1.twbsPagination('getPages', 27), {currentPage: 27, numeric: [25, 26, 27, 28, 29, 30]});
deepEqual(pag1.twbsPagination('getPages', 28), {currentPage: 28, numeric: [25, 26, 27, 28, 29, 30]});
deepEqual(pag1.twbsPagination('getPages', 29), {currentPage: 29, numeric: [25, 26, 27, 28, 29, 30]});
deepEqual(pag1.twbsPagination('getPages', 30), {currentPage: 30, numeric: [25, 26, 27, 28, 29, 30]});
assert.deepEqual(pag1.twbsPagination('getPages', 27), {currentPage: 27, numeric: [25, 26, 27, 28, 29, 30]});
assert.deepEqual(pag1.twbsPagination('getPages', 28), {currentPage: 28, numeric: [25, 26, 27, 28, 29, 30]});
assert.deepEqual(pag1.twbsPagination('getPages', 29), {currentPage: 29, numeric: [25, 26, 27, 28, 29, 30]});
assert.deepEqual(pag1.twbsPagination('getPages', 30), {currentPage: 30, numeric: [25, 26, 27, 28, 29, 30]});
});

QUnit.test("Test 'getPages' method (total < visible)", function () {
QUnit.test("Test 'getPages' method (total < visible)", function (assert) {
destroyAndCreateWithOpts(pag1, {
totalPages: 3,
visiblePages: 5
});
deepEqual(pag1.twbsPagination('getPages', 1), {currentPage: 1, numeric: [1, 2, 3]});
deepEqual(pag1.twbsPagination('getPages', 2), {currentPage: 2, numeric: [1, 2, 3]});
deepEqual(pag1.twbsPagination('getPages', 3), {currentPage: 3, numeric: [1, 2, 3]});
assert.deepEqual(pag1.twbsPagination('getPages', 1), {currentPage: 1, numeric: [1, 2, 3]});
assert.deepEqual(pag1.twbsPagination('getPages', 2), {currentPage: 2, numeric: [1, 2, 3]});
assert.deepEqual(pag1.twbsPagination('getPages', 3), {currentPage: 3, numeric: [1, 2, 3]});
});

QUnit.test("Test classes appended for pagination", function () {
QUnit.test("Test classes appended for pagination", function (assert) {
destroyAndCreateWithOpts(pag1, {
totalPages: 3,
visiblePages: 5
});
equal(pag1.find('.page-item').length, 7);
equal(pag1.find('.next').length, 1);
equal(pag1.find('.prev').length, 1);
equal(pag1.find('.last').length, 1);
equal(pag1.find('.first').length, 1);
equal(pag1.find('.page-item.active').length, 1);
equal(pag1.find('.prev.disabled').length, 1);
equal(pag1.find('.first.disabled').length, 1);
assert.equal(pag1.find('.page-item').length, 7);
assert.equal(pag1.find('.next').length, 1);
assert.equal(pag1.find('.prev').length, 1);
assert.equal(pag1.find('.last').length, 1);
assert.equal(pag1.find('.first').length, 1);
assert.equal(pag1.find('.page-item.active').length, 1);
assert.equal(pag1.find('.prev.disabled').length, 1);
assert.equal(pag1.find('.first.disabled').length, 1);
});

QUnit.test("Test custom classes appended for pagination", function () {
QUnit.test("Test custom classes appended for pagination", function (assert) {
destroyAndCreateWithOpts(pag1, {
totalPages: 10,
visiblePages: 5,
Expand All @@ -86,28 +86,28 @@
activeClass: 'my-active-class',
disabledClass: 'my-disabled-class'
});
equal(pag1.find('.my-page').length, 5);
equal(pag1.find('.my-next-page').length, 1);
equal(pag1.find('.my-prev-page').length, 1);
equal(pag1.find('.my-last-page').length, 1);
equal(pag1.find('.my-first-page').length, 1);
equal(pag1.find('.my-page.my-active-class').length, 1);
equal(pag1.find('.my-prev-page.my-disabled-class').length, 1);
equal(pag1.find('.my-first-page.my-disabled-class').length, 1);
assert.equal(pag1.find('.my-page').length, 5);
assert.equal(pag1.find('.my-next-page').length, 1);
assert.equal(pag1.find('.my-prev-page').length, 1);
assert.equal(pag1.find('.my-last-page').length, 1);
assert.equal(pag1.find('.my-first-page').length, 1);
assert.equal(pag1.find('.my-page.my-active-class').length, 1);
assert.equal(pag1.find('.my-prev-page.my-disabled-class').length, 1);
assert.equal(pag1.find('.my-first-page.my-disabled-class').length, 1);
});

QUnit.test("Test page numbers text", function () {
QUnit.test("Test page numbers text", function (assert) {
destroyAndCreateWithOpts(pag1, {
totalPages: 2
});
equal(pag1.find('.page-item:eq(2)').text(), '1');
equal(pag1.find('.next').text(), 'Next');
equal(pag1.find('.prev').text(), 'Previous');
equal(pag1.find('.first').text(), 'First');
equal(pag1.find('.last').text(), 'Last');
assert.equal(pag1.find('.page-item:eq(2)').text(), '1');
assert.equal(pag1.find('.next').text(), 'Next');
assert.equal(pag1.find('.prev').text(), 'Previous');
assert.equal(pag1.find('.first').text(), 'First');
assert.equal(pag1.find('.last').text(), 'Last');
});

QUnit.test("Test custom texts", function () {
QUnit.test("Test custom texts", function (assert) {
destroyAndCreateWithOpts(pag1, {
totalPages: 2,
page: '[{{page}}]',
Expand All @@ -116,41 +116,40 @@
next: '>>',
last: '(last)[{{total_pages}}]'
});
equal(pag1.find('.page-item:eq(2)').text(), '[1]');
equal(pag1.find('.next').text(), '>>');
equal(pag1.find('.prev').text(), '<<');
equal(pag1.find('.first').text(), '(first)');
equal(pag1.find('.last').text(), '(last)[2]');
assert.equal(pag1.find('.page-item:eq(2)').text(), '[1]');
assert.equal(pag1.find('.next').text(), '>>');
assert.equal(pag1.find('.prev').text(), '<<');
assert.equal(pag1.find('.first').text(), '(first)');
assert.equal(pag1.find('.last').text(), '(last)[2]');
});

QUnit.test("Test 'getPageFromQueryString' method", function () {
QUnit.test("Test 'getPageFromQueryString' method", function (assert) {
destroyAndCreateWithOpts(pag1, {pageVariable: 'page'});
equal(pag1.twbsPagination('getPageFromQueryString', '?page=1'), 1);
equal(pag1.twbsPagination('getPageFromQueryString', '?page='), null);
equal(pag1.twbsPagination('getPageFromQueryString', '?page'), null);
equal(pag1.twbsPagination('getPageFromQueryString', '?'), null);
equal(pag1.twbsPagination('getPageFromQueryString', ''), null)
;
equal(pag1.twbsPagination('getPageFromQueryString', '?page=2'), 2);
equal(pag1.twbsPagination('getPageFromQueryString', '?page=3&param=taram'), 3);
equal(pag1.twbsPagination('getPageFromQueryString', '?page=4&param=test&opilki'), 4);
equal(pag1.twbsPagination('getPageFromQueryString', '?page=5&param=test or not&opilki='), 5);
equal(pag1.twbsPagination('getPageFromQueryString', '?ID=1&keyWord=net&page=6'), 6);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?page=1'), 1);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?page='), null);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?page'), null);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?'), null);
assert.equal(pag1.twbsPagination('getPageFromQueryString', ''), null);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?page=2'), 2);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?page=3&param=taram'), 3);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?page=4&param=test&opilki'), 4);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?page=5&param=test or not&opilki='), 5);
assert.equal(pag1.twbsPagination('getPageFromQueryString', '?ID=1&keyWord=net&page=6'), 6);
});

QUnit.test("Test 'generateQueryString' method", function () {
QUnit.test("Test 'generateQueryString' method", function (assert) {
destroyAndCreateWithOpts(pag1, {pageVariable: 'page'});
equal(pag1.twbsPagination('generateQueryString', 1, '?page=1'), '?page=1');
equal(pag1.twbsPagination('generateQueryString', 1, '?page='), '?page=1');
equal(pag1.twbsPagination('generateQueryString', 1, '?page'), '?page=1');
equal(pag1.twbsPagination('generateQueryString', 1, '?'), '');
equal(pag1.twbsPagination('generateQueryString', 1, ''), window.location.search);

equal(pag1.twbsPagination('generateQueryString', 2, '?page=1'), '?page=2');
equal(pag1.twbsPagination('generateQueryString', 3, '?page=2&param=taram'), '?page=3&param=taram');
equal(pag1.twbsPagination('generateQueryString', 4, '?page=3&param=test&opilki'), '?page=4&param=test&opilki');
equal(pag1.twbsPagination('generateQueryString', 5, '?page=4&param=test or not&opilki='), '?page=5&param=test or not&opilki=');
equal(pag1.twbsPagination('generateQueryString', 6, '?ID=1&keyWord=net&page=50'), '?ID=1&keyWord=net&page=6');
assert.equal(pag1.twbsPagination('generateQueryString', 1, '?page=1'), '?page=1');
assert.equal(pag1.twbsPagination('generateQueryString', 1, '?page='), '?page=1');
assert.equal(pag1.twbsPagination('generateQueryString', 1, '?page'), '?page=1');
assert.equal(pag1.twbsPagination('generateQueryString', 1, '?'), '');
assert.equal(pag1.twbsPagination('generateQueryString', 1, ''), window.location.search);

assert.equal(pag1.twbsPagination('generateQueryString', 2, '?page=1'), '?page=2');
assert.equal(pag1.twbsPagination('generateQueryString', 3, '?page=2&param=taram'), '?page=3&param=taram');
assert.equal(pag1.twbsPagination('generateQueryString', 4, '?page=3&param=test&opilki'), '?page=4&param=test&opilki');
assert.equal(pag1.twbsPagination('generateQueryString', 5, '?page=4&param=test or not&opilki='), '?page=5&param=test or not&opilki=');
assert.equal(pag1.twbsPagination('generateQueryString', 6, '?ID=1&keyWord=net&page=50'), '?ID=1&keyWord=net&page=6');
});

QUnit.test("Test 'hideOnlyOnePage' option", function (assert) {
Expand Down Expand Up @@ -419,4 +418,4 @@
);
$html.remove();
});
})(window.jQuery);
})(window.jQuery);
4 changes: 2 additions & 2 deletions twbs-pagination.jquery.json
@@ -1,6 +1,6 @@
{
"name": "twbs-pagination",
"version": "1.4.1",
"version": "1.4.2",
"title": "jQuery Bootstrap Pagination",
"author": {
"name": "Eugene Simakin",
Expand All @@ -26,4 +26,4 @@
"demo": "http://esimakin.github.io/twbs-pagination/",
"download": "https://github.com/esimakin/twbs-pagination/zipball/master",
"bugs": "https://github.com/esimakin/twbs-pagination/issues"
}
}