Skip to content
This repository was archived by the owner on Oct 8, 2021. It is now read-only.

Commit bfbdebb

Browse files
author
Gabriel Schulhof
committed
Table: Add columntoggle refresh test
This adds tests for f61d376. Closes gh-7086
1 parent f61d376 commit bfbdebb

File tree

3 files changed

+85
-1
lines changed

3 files changed

+85
-1
lines changed

js/widgets/table.columntoggle.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ $.widget( "mobile.table", $.mobile.table, {
178178

179179
if ( !create && this.options.mode === "columntoggle" ) {
180180
// columns not being replaced must be cleared from input toggle-locks
181-
this._unlockCells( this.element.find( ".ui-table-cell-hidden, .ui-table-cell-visible" ) );
181+
this._unlockCells( this.element.find( ".ui-table-cell-hidden, " +
182+
".ui-table-cell-visible" ) );
182183

183184
// update columntoggles and cells
184185
this._addToggles( this._menu, create );
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1">
6+
<title>jQuery Mobile Table Integration Test</title>
7+
8+
<script src="../../../external/requirejs/require.js"></script>
9+
<script src="../../../js/requirejs.config.js"></script>
10+
<script src="../../../js/jquery.tag.inserter.js"></script>
11+
<script src="../../jquery.setNameSpace.js"></script>
12+
<script src="../../jquery.testHelper.js"></script>
13+
<script src="../../../external/qunit/qunit.js"></script>
14+
<script>
15+
$.testHelper.asyncLoad([
16+
[ "widgets/page" ],
17+
[
18+
"widgets/table.columntoggle"
19+
],
20+
[ "jquery.mobile.init" ],
21+
[
22+
"columntoggle_refresh_core.js"
23+
]
24+
]);
25+
</script>
26+
<link rel="stylesheet" href="../../../css/themes/default/jquery.mobile.css" />
27+
<link rel="stylesheet" href="../../../external/qunit/qunit.css"/>
28+
<link rel="stylesheet" href="../../jqm-tests.css"/>
29+
30+
<script src="../../swarminject.js"></script>
31+
</head>
32+
<body>
33+
<div id="qunit"></div>
34+
<div data-nstest-role="page">
35+
<div class="ui-content" role="main">
36+
<table id="refresh-column-count-test" data-nstest-role="table" id="table-column-toggle" data-nstest-mode="columntoggle" class="ui-responsive table-stroke">
37+
<thead>
38+
<tr>
39+
<th data-nstest-priority="2">Rank</th>
40+
<th>Movie Title</th>
41+
<th data-nstest-priority="3">Year</th>
42+
<th data-nstest-priority="1"><abbr title="Rotten Tomato Rating">Rating</abbr></th>
43+
<th data-nstest-priority="5">Reviews</th>
44+
</tr>
45+
</thead>
46+
<tbody>
47+
<tr>
48+
<th>1</th>
49+
<td><a href="http://en.wikipedia.org/wiki/Citizen_Kane" data-nstest-rel="external">Citizen Kane</a></td>
50+
<td>1941</td>
51+
<td>100%</td>
52+
<td>74</td>
53+
</tr>
54+
<tr>
55+
<th>2</th>
56+
<td><a href="http://en.wikipedia.org/wiki/Casablanca_(film)" data-nstest-rel="external">Casablanca</a></td>
57+
<td>1942</td>
58+
<td>97%</td>
59+
<td>64</td>
60+
</tr>
61+
</tbody>
62+
</table>
63+
</div>
64+
</div>
65+
</body>
66+
</html>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module( "Table integration tests" );
2+
3+
test( "Table refresh does not drop columns", function() {
4+
var eventNs = ".tableRefreshDoesNotDropColumns",
5+
table = $( "#refresh-column-count-test" ),
6+
checkbox = $( "#refresh-column-count-test-popup" )
7+
.find( "input" ).eq( 2 );
8+
9+
expect( 1 );
10+
11+
checkbox.prop( "checked", false ).trigger( "change" );
12+
table.table( "refresh" );
13+
deepEqual( $( "thead tr > *:visible", table[ 0 ] ).length,
14+
$( "tbody tr:first > *:visible", table[ 0 ] ).length,
15+
"Number of visible headers columns equals number of visible " +
16+
"data columns" );
17+
});

0 commit comments

Comments
 (0)