diff --git a/src/core.js b/src/core.js
index 6346eb7b..e4d94f52 100644
--- a/src/core.js
+++ b/src/core.js
@@ -2848,7 +2848,7 @@ TableFilter.prototype = {
var slcR = this.resultsPerPageSlc;
var slcPagesSelIndex = (this.pageSelectorType==this.fltTypeSlc) ?
this.pagingSlc.selectedIndex :
- parseInt(this.pagingSlc.value-1,10);
+ parseInt(this.pagingSlc.value-1, 10);
this.pagingLength = parseInt(slcR.options[slcR.selectedIndex].value,10);
this.startPagingRow = this.pagingLength*slcPagesSelIndex;
diff --git a/test/test-config.js b/test/test-config.js
index 16fad928..aeffe7ce 100644
--- a/test/test-config.js
+++ b/test/test-config.js
@@ -3,7 +3,7 @@
// Configure RequireJS so it resolves relative module paths from the `src`
// folder.
require.config({
- baseUrl: '../src',
+ baseUrl: '../src'
});
}());
\ No newline at end of file
diff --git a/test/test-grid-layout.html b/test/test-grid-layout.html
index 4790cff4..b5138bec 100644
--- a/test/test-grid-layout.html
+++ b/test/test-grid-layout.html
@@ -2,7 +2,7 @@
- TableFilter alternate rows tests
+ TableFilter grid layout
diff --git a/test/test-store.html b/test/test-store.html
new file mode 100644
index 00000000..dd4b9976
--- /dev/null
+++ b/test/test-store.html
@@ -0,0 +1,82 @@
+
+
+
+
+ TableFilter store
+
+
+
+
+
+
+
+
+
+ From |
+ Destination |
+ Road Distance (km) |
+ By Air (hrs) |
+ By Rail (hrs) |
+
+
+ Sydney |
+ Adelaide |
+ 1412 |
+ 1.4 |
+ 25.3 |
+
+
+ Sydney |
+ Brisbane |
+ 982 |
+ 1.5 |
+ 16 |
+
+
+ Sydney |
+ Canberra |
+ 286 |
+ .6 |
+ 4.3 |
+
+
+ Sydney |
+ Melbourne |
+ 872 |
+ 1.1 |
+ 10.5 |
+
+
+ Adelaide |
+ Perth |
+ 2781 |
+ 3.1 |
+ 38 |
+
+
+ Adelaide |
+ Alice Springs |
+ 1533 |
+ 2 |
+ 20.25 |
+
+
+ Adelaide |
+ Brisbane |
+ 2045 |
+ 2.15 |
+ 40 |
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/test-store.js b/test/test-store.js
new file mode 100644
index 00000000..a39bb89d
--- /dev/null
+++ b/test/test-store.js
@@ -0,0 +1,64 @@
+requirejs(['test-config', '../src/core'], function(config, TableFilter){
+
+ QUnit.start();
+
+ var Store = require('modules/store').Store;
+ var Cookie = require('cookie').Cookie;
+
+ var tf = new TableFilter('demo', {
+ paging: true,
+ paging_length: 2,
+ results_per_page: ['Results per page', [2,4,6]],
+ remember_grid_values: true,
+ remember_page_number: true,
+ remember_page_length: true
+ });
+
+ Cookie.remove(tf.fltsValuesCookie);
+ Cookie.remove(tf.pgNbCookie);
+ Cookie.remove(tf.pgLenCookie);
+
+ tf.init();
+ tf._ClearFilters();
+
+ module('Sanity checks');
+ test('Store module', function() {
+ deepEqual(tf.Cpt.Store instanceof Store, true, 'Store type');
+ notEqual(tf.Cpt.Store, null, 'Store instanciated');
+ deepEqual(tf.Cpt.Store.duration, 100000, 'Store duration');
+ });
+
+ module('Check page number persistence');
+ test('Page number value', function() {
+ tf._ClearFilters();
+ tf._Filter();
+ tf._ChangePage(1);
+ var cookieName = tf.pgNbCookie;
+ deepEqual(tf.Cpt.Store.getPageNb(cookieName), '2', 'Page number value');
+ tf._ClearFilters();
+ tf._Filter();
+ });
+
+ module('Check page length persistence');
+ test('Page length value', function() {
+ tf.resultsPerPageSlc.options[2].selected = true;
+ tf._ChangeResultsPerPage();
+ var cookieName = tf.pgLenCookie;
+ deepEqual(tf.Cpt.Store.getPageLength(cookieName), '2', 'Page length value');
+ tf._ClearFilters();
+ tf._Filter();
+ });
+
+ module('Check filters persistence');
+ test('Filters value', function() {
+ tf.SetFilterValue(0, 'Sydney');
+ tf.SetFilterValue(3, '1.5');
+ tf._Filter();
+ var cookieName = tf.fltsValuesCookie;
+ deepEqual(tf.Cpt.Store.getFilterValues(cookieName)[0], 'Sydney', 'Filter 0 value');
+ deepEqual(tf.Cpt.Store.getFilterValues(cookieName)[3], '1.5', 'Filter 3 value');
+ tf._ClearFilters();
+ tf._Filter();
+ });
+
+});