diff --git a/dist/tablefilter/tablefilter.js b/dist/tablefilter/tablefilter.js
index 8bcf60f5..f0773eaa 100644
--- a/dist/tablefilter/tablefilter.js
+++ b/dist/tablefilter/tablefilter.js
@@ -1,6 +1,6 @@
/**
* TableFilter v0.0.0 by Max Guglielmi
- * build date: 2015-07-25T08:31:07.539Z
+ * build date: 2015-07-25T10:29:25.846Z
* MIT License
*/
diff --git a/dist/tablefilter/tf-1.js b/dist/tablefilter/tf-1.js
index 10a0904b..ef318baa 100644
--- a/dist/tablefilter/tf-1.js
+++ b/dist/tablefilter/tf-1.js
@@ -1,6 +1,6 @@
/**
* TableFilter v0.0.0 by Max Guglielmi
- * build date: 2015-07-25T08:31:07.539Z
+ * build date: 2015-07-25T10:29:25.846Z
* MIT License
*/
diff --git a/test/test-api.html b/test/test-api.html
new file mode 100644
index 00000000..43c576f6
--- /dev/null
+++ b/test/test-api.html
@@ -0,0 +1,78 @@
+
+
+
+
+ TableFilter API tests
+
+
+
+
+
+
+
+
+ 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-api.js b/test/test-api.js
new file mode 100644
index 00000000..22db5d5f
--- /dev/null
+++ b/test/test-api.js
@@ -0,0 +1,84 @@
+(function(win, TableFilter) {
+
+ var tf = new TableFilter('demo', {
+ base_path: '../dist/tablefilter/'
+ });
+ tf.init();
+
+ module('Sanity checks');
+ test('TableFilter object', function() {
+ deepEqual(tf.id, 'demo', 'id check');
+ deepEqual(tf.getFiltersRowIndex(), 0, 'Filters row index');
+ deepEqual(tf.getHeadersRowIndex(), 1, 'Headers row index');
+ deepEqual(tf.getCellsNb(), 5, 'cells collection length');
+ deepEqual(tf.getRowsNb(), 7, 'rows collection length');
+ deepEqual(tf.getFilterId(0), 'flt0_demo', 'filter DOM element id');
+ });
+
+ module('Public methods');
+ test('Get filters values', function() {
+ equal(tf.getFilterValue(0), '', 'Column 0 filter value');
+ tf.setFilterValue(0, 'Syd');
+ tf.setFilterValue(1, 'Ade');
+ deepEqual(tf.getFilterValue(0), 'Syd', 'Column 0 filter value');
+ deepEqual(tf.getFiltersValue(), ['syd', 'ade', '', '', '']);
+
+ });
+
+ test('Filter table', function() {
+ tf.clearFilters();
+ deepEqual(tf.getFilterValue(0), '',
+ 'Column 0 filter value after clearing filters');
+ tf.setFilterValue(0, 'Syd');
+ tf.filter();
+ deepEqual(tf.getValidRows().length, 4, 'Filtered rows number');
+ });
+
+ test('Clear filters', function() {
+ tf.clearFilters();
+ deepEqual(tf.nbVisibleRows, 7, 'Filtered rows number');
+ deepEqual(tf.getFiltersValue(), ['', '', '', '', '']);
+ });
+
+ test('Get table data', function() {
+ deepEqual(tf.getColValues(0),
+ [
+ 'sydney','sydney','sydney',
+ 'sydney','adelaide','adelaide','adelaide'
+ ],
+ 'Get specified column values'
+ );
+ deepEqual(
+ tf.getTableData(),
+ [
+ [2, ['Sydney','Adelaide','1412','1.4','25.3']],
+ [3, ['Sydney','Brisbane','982','1.5','16']],
+ [4, ['Sydney','Canberra','286','.6','4.3']],
+ [5, ['Sydney','Melbourne','872','1.1','10.5']],
+ [6, ['Adelaide','Perth','2781','3.1','38']],
+ [7, ['Adelaide','Alice Springs','1533','2','20.25']],
+ [8, ['Adelaide','Brisbane','2045','2.15','40']]
+ ],
+ 'Get table data'
+ );
+ tf.setFilterValue(0, 'Adelaide');
+ tf.filter();
+ deepEqual(
+ tf.getFilteredData(),
+ [
+ [6, ['Adelaide','Perth','2781','3.1','38']],
+ [7, ['Adelaide','Alice Springs','1533','2','20.25']],
+ [8, ['Adelaide','Brisbane','2045','2.15','40']]
+ ],
+ 'Get filtered table data'
+ );
+ deepEqual(
+ tf.getFilteredDataCol(0),
+ ['Adelaide','Adelaide','Adelaide'],
+ 'Get specified column filtered values'
+ );
+ tf.clearFilters();
+ tf.filter();
+ });
+
+})(window, TableFilter);