1 |
|
2 | var tf = new TableFilter('demo', {
|
3 | base_path: '../dist/tablefilter/',
|
4 | state: {
|
5 | types: ['cookie'],
|
6 | filters: true,
|
7 | page_number: true,
|
8 | page_length: true
|
9 | },
|
10 | paging: {
|
11 | results_per_page: ['Records: ', [2, 4, 6]]
|
12 | }
|
13 | });
|
14 | tf.init();
|
15 | var state = tf.feature('state');
|
16 | var storage = state.storage;
|
17 |
|
18 | module('Sanity checks');
|
19 | test('State instance', function() {
|
20 | deepEqual(typeof storage, 'object', 'Storage is instantiated');
|
21 | deepEqual(storage.enableCookie, true, 'Cookies enabled');
|
22 | deepEqual(storage.enableLocalStorage, false, 'Local storage disabled');
|
23 | deepEqual(storage.state, state, 'State instance');
|
24 | deepEqual(storage.emitter, state.emitter, 'Emitter instance');
|
25 | });
|
26 |
|
27 | module('Behaviour');
|
28 | test('Can save and retrieve state', function() {
|
29 |
|
30 | var stateObj = {
|
31 | 'page': 2,
|
32 | 'page_length': 4,
|
33 | 'col_2': {'flt': '>500'}
|
34 | };
|
35 |
|
36 |
|
37 | state.emitter.emit('state-changed', tf, stateObj);
|
38 |
|
39 |
|
40 | deepEqual(storage.retrieve(), stateObj, 'State saved');
|
41 | });
|
42 |
|
43 | test('Can sync state', function() {
|
44 |
|
45 | storage.save({'page':2,'page_length':4,'col_2':{'flt':'>500'}});
|
46 |
|
47 |
|
48 | storage.sync();
|
49 |
|
50 |
|
51 | deepEqual(tf.getValidRows(), [2,3,5,6,7,8], 'Table filters are synced');
|
52 | });
|
53 |
|
54 | test('Can remove state', function() {
|
55 |
|
56 | storage.save({'page':2,'page_length':4,'col_2':{'flt':'>500'}});
|
57 |
|
58 |
|
59 | storage.remove();
|
60 |
|
61 |
|
62 | deepEqual(storage.retrieve(), null, 'State removed from storage');
|
63 | });
|
64 |
|
65 | test('Can get storage key', function() {
|
66 |
|
67 | deepEqual(storage.getKey(),
|
68 | '{"key":"TF_demo","path":"/test/test-storage-cookie.html"}',
|
69 | 'Storage key returned'
|
70 | );
|
71 | });
|
72 |
|
73 | module('Tear-down');
|
74 | test('Can destroy', function() {
|
75 |
|
76 | storage.destroy();
|
77 |
|
78 |
|
79 | deepEqual(storage.state, null, 'State instance is null');
|
80 | deepEqual(storage.emitter, null, 'Emitter instance is null');
|
81 | deepEqual(storage.retrieve(), null, 'Persisted state cleared');
|
82 | });
|