Skip to content

Commit e961a9c

Browse files
dirPagination: Add test for object reference in pagination-id
1 parent c6df2ff commit e961a9c

File tree

1 file changed

+36
-12
lines changed

1 file changed

+36
-12
lines changed

src/directives/pagination/dirPagination.spec.js

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/**
1+
/**
22
* Created by Michael on 04/05/14.
33
*/
44

@@ -117,9 +117,9 @@ describe('dirPagination directive', function() {
117117
it('should work inside a transcluded directive (ng-if)', function() {
118118
$scope.collection = myCollection;
119119
var html = '<div ng-if="true">' +
120-
'<ul class="list"><li dir-paginate="item in collection | itemsPerPage: 5">{{ item }}</li></ul> ' +
121-
'<dir-pagination-controls></dir-pagination-controls>' +
122-
'</div>';
120+
'<ul class="list"><li dir-paginate="item in collection | itemsPerPage: 5">{{ item }}</li></ul> ' +
121+
'<dir-pagination-controls></dir-pagination-controls>' +
122+
'</div>';
123123
containingElement.append($compile(html)($scope));
124124
$scope.$apply();
125125

@@ -465,9 +465,9 @@ describe('dirPagination directive', function() {
465465
$scope.collection = myCollection;
466466
$scope.showList = false;
467467
html = '<div ng-if="showList">' +
468-
'<ul class="list"><li dir-paginate="item in collection | itemsPerPage: 10">{{ item }}</li></ul> ' +
469-
'</div>' +
470-
'<dir-pagination-controls></dir-pagination-controls>';
468+
'<ul class="list"><li dir-paginate="item in collection | itemsPerPage: 10">{{ item }}</li></ul> ' +
469+
'</div>' +
470+
'<dir-pagination-controls></dir-pagination-controls>';
471471
containingElement.append($compile(html)($scope));
472472
$scope.$apply();
473473
}
@@ -566,7 +566,7 @@ describe('dirPagination directive', function() {
566566
$scope.currentPage = 1;
567567
var html = '<dir-pagination-controls ' + attributes + ' ></dir-pagination-controls>' +
568568
'<table>' +
569-
'<tr dir-paginate="item in collection | itemsPerPage: 10"><td>{{ item }}</td></tr>' +
569+
'<tr dir-paginate="item in collection | itemsPerPage: 10"><td>{{ item }}</td></tr>' +
570570
'</table>';
571571
containingElement.append($compile(html)($scope));
572572
$scope.$apply();
@@ -843,6 +843,30 @@ describe('dirPagination directive', function() {
843843
});
844844
});
845845

846+
describe('dymanic pagination-id', function() {
847+
848+
function compileWithDynamicId(paginationId, customExpression) {
849+
var html;
850+
html = '<ul class="list"><li dir-paginate="'+ customExpression + '" current-page="1" pagination-id="' + paginationId + '" >{{ item }}</li></ul> ' +
851+
'<dir-pagination-controls pagination-id="' + paginationId + '"></dir-pagination-controls>';
852+
containingElement.append($compile(html)($scope));
853+
$scope.$apply();
854+
}
855+
856+
it('should allow object reference', function() {
857+
function compile() {
858+
$scope.myId = {
859+
foo: 'foo'
860+
};
861+
$scope.collection = myCollection;
862+
compileWithDynamicId('myId.foo', 'item in collection | itemsPerPage: 10');
863+
}
864+
865+
expect(compile).not.toThrow();
866+
expect(getListItems().length).toEqual(10);
867+
});
868+
});
869+
846870
});
847871

848872
describe('pagination controls template API', function() {
@@ -914,10 +938,10 @@ describe('dirPagination directive', function() {
914938
$scope.itemsPerPage = itemsPerPage || 10;
915939
$scope.currentPage = currentPage || 1;
916940
html = '<div>' +
917-
'<div dir-paginate-start="item in collection | itemsPerPage: itemsPerPage" current-page="currentPage">header</div>' +
918-
'<p>{{ item }}</p>' +
919-
'<div dir-paginate-end>footer</div>' +
920-
'</div> ';
941+
'<div dir-paginate-start="item in collection | itemsPerPage: itemsPerPage" current-page="currentPage">header</div>' +
942+
'<p>{{ item }}</p>' +
943+
'<div dir-paginate-end>footer</div>' +
944+
'</div> ';
921945
containingElement.append($compile(html)($scope));
922946
$scope.$apply();
923947
}

0 commit comments

Comments
 (0)