remove datatable unit tests
[contractdashboard.git] / media / aoColumns.bUseRendered.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
// DATA_TEMPLATE: dom_data
oTest.fnStart( "aoColumns.bUseRendered" );
 
/* bUseRendered is used to alter sorting data, if false then the original data is used for
 * sorting rather than the rendered data
 */
 
$(document).ready( function () {
        /* Check the default */
        var mTmp = 0;
        
        var oTable = $('#example').dataTable( {
                "aoColumns": [
                        null,
                        { "fnRender": function (a) {
                                if ( mTmp == 0 ) {
                                        mTmp++;
                                        return "aaa";
                                } else
                                        return a.aData[a.iDataColumn];
                        } },
                        null,
                        null,
                        null
                ]
        } );
        var oSettings = oTable.fnSettings();
        
        oTest.fnTest( 
                "Default for bUseRendered is true - rendered data is used for sorting",
                function () { $('#example thead th:eq(1)').click(); },
                function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'aaa'; }
        );
        
        oTest.fnTest( 
                "When bUseRendered is false, original data is used for sorting",
                function () {
                        mTmp = 0;
                        oSession.fnRestore();
                        oTable = $('#example').dataTable( {
                                "aoColumns": [
                                        null,
                                        { 
                                                "bUseRendered": false,
                                                "fnRender": function (a) {
                                                        if ( mTmp == 0 ) {
                                                                mTmp++;
                                                                return "aaa";
                                                        } else {
                                                                return a.aData[a.iDataColumn];
                                                        }
                                                }
                                        },
                                        null,
                                        null,
                                        null
                                ]
                        } );
                        $('#example thead th:eq(1)').click();
                },
                function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
        );
        
        
        oTest.fnTest( 
                "bUseRendered set to false on one columns and true (default) on two others",
                function () {
                        mTmp = 0;
                        var mTmp2 = 0;
                        var mTmp3 = 0;
                        
                        oSession.fnRestore();
                        oTable = $('#example').dataTable( {
                                "aoColumns": [
                                        {
                                                "fnRender": function (a) {
                                                        if ( mTmp == 0 ) {
                                                                mTmp++;
                                                                return "aaa1";
                                                        } else {
                                                                return a.aData[a.iDataColumn];
                                                        }
                                                }
                                        },
                                        { 
                                                "bUseRendered": false,
                                                "fnRender": function (a) {
                                                        if ( mTmp2 == 0 ) {
                                                                mTmp2++;
                                                                return "aaa2";
                                                        } else {
                                                                return a.aData[a.iDataColumn];
                                                        }
                                                }
                                        },
                                        {
                                                "fnRender": function (a) {
                                                        if ( mTmp3 == 0 ) {
                                                                mTmp3++;
                                                                return "zzz3";
                                                        } else {
                                                                return a.aData[a.iDataColumn];
                                                        }
                                                }
                                        },
                                        null,
                                        null
                                ]
                        } );
                },
                function () { return $('#example tbody tr:eq(0) td:eq(0)').html() == 'aaa1'; }
        );
        
        oTest.fnTest( 
                "Multi-column rendering - 2nd column sorting",
                function () { $('#example thead th:eq(1)').click(); },
                function () { return $('#example tbody tr:eq(0) td:eq(1)').html() == 'All others'; }
        );
        
        oTest.fnTest( 
                "Multi-column rendering - 3rd column sorting",
                function () {
                        $('#example thead th:eq(2)').click();
                        $('#example thead th:eq(2)').click();
                },
                function () { return $('#example tbody tr:eq(0) td:eq(2)').html() == 'zzz3'; }
        );
        
        oTest.fnTest( 
                "Multi-column rendering - 4th column sorting",
                function () { $('#example thead th:eq(3)').click(); },
                function () { return $('#example tbody tr:eq(0) td:eq(3)').html() == '-'; }
        );
        
        oTest.fnTest( 
                "Multi-column rendering - 5th column sorting",
                function () { $('#example thead th:eq(4)').click(); },
                function () { return $('#example tbody tr:eq(0) td:eq(4)').html() == 'A'; }
        );
        
        
        
        
        oTest.fnComplete();
} );