diff --git a/src/tablesort.js b/src/tablesort.js index a037385..e71c12f 100644 --- a/src/tablesort.js +++ b/src/tablesort.js @@ -146,7 +146,7 @@ } else if (sortOrder === 'descending') { sortOrder = 'ascending'; } else { - sortOrder = that.options.descending ? 'ascending' : 'descending'; + sortOrder = that.options.descending ? 'descending' : 'ascending'; } header.setAttribute('aria-sort', sortOrder); @@ -216,9 +216,9 @@ // the double negatives cancel out if (sortOrder === 'descending') { newRows.sort(stabilize(sortFunction, true)); - newRows.reverse(); } else { newRows.sort(stabilize(sortFunction, false)); + newRows.reverse(); } // append rows that already exist rather than creating new ones diff --git a/test/spec/tablesort.js b/test/spec/tablesort.js index db1fadd..9e8c016 100644 --- a/test/spec/tablesort.js +++ b/test/spec/tablesort.js @@ -68,30 +68,30 @@ tape('uses data-sort-order', function(t) { event.initEvent('click', true, false); el1.dispatchEvent(event); - t.equal(table.rows[1].cells[0].innerHTML, '3'); + t.equal(table.rows[1].cells[0].innerHTML, '1'); t.equal(table.rows[2].cells[0].innerHTML, '2'); - t.equal(table.rows[3].cells[0].innerHTML, '1'); + t.equal(table.rows[3].cells[0].innerHTML, '3'); event.initEvent('click', true, false); el1.dispatchEvent(event); - t.equal(table.rows[1].cells[0].innerHTML, '1'); + t.equal(table.rows[1].cells[0].innerHTML, '3'); t.equal(table.rows[2].cells[0].innerHTML, '2'); - t.equal(table.rows[3].cells[0].innerHTML, '3'); + t.equal(table.rows[3].cells[0].innerHTML, '1'); event.initEvent('click', true, false); el2.dispatchEvent(event); - t.equal(tableDescend.rows[1].cells[0].innerHTML, '1'); + t.equal(tableDescend.rows[1].cells[0].innerHTML, '3'); t.equal(tableDescend.rows[2].cells[0].innerHTML, '2'); - t.equal(tableDescend.rows[3].cells[0].innerHTML, '3'); + t.equal(tableDescend.rows[3].cells[0].innerHTML, '1'); event.initEvent('click', true, false); el2.dispatchEvent(event); - t.equal(tableDescend.rows[1].cells[0].innerHTML, '3'); + t.equal(tableDescend.rows[1].cells[0].innerHTML, '1'); t.equal(tableDescend.rows[2].cells[0].innerHTML, '2'); - t.equal(tableDescend.rows[3].cells[0].innerHTML, '1'); + t.equal(tableDescend.rows[3].cells[0].innerHTML, '3'); t.end(); });