blob: e4eeba26face1baa59f6d5ab6341b728d43c4913 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {testFrameQuerySelectorAllFn, testFrameQuerySelectorFn} from "/script/tobago-test.js";
import {TobagoTestTool} from "/tobago/test/tobago-test-tool.js";
QUnit.test("Basics: Name", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1\\:columnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "22";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Earth", "365.26", "",
"Elara", "259.65", "1905",
"Enceladus", "1.37", "1789",
"Epimetheus", "0.69", "1980");
});
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Proteus", "1.12", "1989",
"Prospero", "-1962.95", "1999",
"Prometheus", "0.61", "1980",
"Praxidike", "625.3", "2000");
});
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Earth", "365.26", "",
"Elara", "259.65", "1905",
"Enceladus", "1.37", "1789",
"Epimetheus", "0.69", "1980");
});
TTT.startTest();
});
QUnit.test("Basics: Period", function (assert) {
let colPeriodFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1\\:columnPeriod_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colPeriodFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colPeriodFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colPeriodFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colPeriodFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colPeriodFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "29";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Rosalind", "0.56", "1986",
"Pan", "0.58", "1990",
"Atlas", "0.6", "1980",
"Prometheus", "0.61", "1980");
});
TTT.action(function () {
colPeriodFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Callisto", "16.69", "1610",
"Titan", "15.95", "1655",
"Oberon", "13.46", "1787",
"Titania", "8.71", "1787");
});
TTT.action(function () {
colPeriodFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Rosalind", "0.56", "1986",
"Pan", "0.58", "1990",
"Atlas", "0.6", "1980",
"Prometheus", "0.61", "1980");
});
TTT.startTest();
});
QUnit.test("Basics: Year", function (assert) {
let colYearFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1\\:columnDiscoverYear_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colYearFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colYearFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colYearFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colYearFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colYearFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "22";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(4, function () {
assert.equal(rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1892", "row0col2");
assert.equal(rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1898", "row1col2");
assert.equal(rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1904", "row2col2");
assert.equal(rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1905", "row3col2");
});
TTT.action(function () {
colYearFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(4, function () {
assert.equal(rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1999", "row0col2");
assert.equal(rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1999", "row1col2");
assert.equal(rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1997", "row2col2");
assert.equal(rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1997", "row3col2");
});
TTT.action(function () {
colYearFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(4, function () {
assert.equal(rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1892", "row0col2");
assert.equal(rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1898", "row1col2");
assert.equal(rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1904", "row2col2");
assert.equal(rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1905", "row3col2");
});
TTT.startTest();
});
/**
* 1. goto line 8
* 2. goto line 9
*/
QUnit.test("Basics: left paging", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1\\:columnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "8";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Bianca", "0.43", "1986",
"Caliban", "-579.39", "1997",
"Callirrhoe", "758.8", "2000",
"Callisto", "16.69", "1610");
});
TTT.action(function () {
leftPagingFn().value = "9";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Caliban", "-579.39", "1997",
"Callirrhoe", "758.8", "2000",
"Callisto", "16.69", "1610",
"Calypso", "1.89", "1980");
});
TTT.startTest();
});
/**
* 1. goto page 7
* 2. goto page 16
* 3. goto page 13
*/
QUnit.test("Basics: center paging", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1\\:columnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-left input");
let centerPagingFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-center li .page-link");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "1";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"1986U10", "0.64", "1999",
"Adrastea", "0.3", "1979",
"Amalthea", "0.5", "1892",
"Ananke", "-629.77", "1951");
});
TTT.action(function () {
centerPagingFn().item(6).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Epimetheus", "0.69", "1980",
"Erinome", "728.3", "2000",
"Europa", "3.55", "1610",
"Galatea", "0.43", "1989");
});
TTT.action(function () {
centerPagingFn().item(10).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Phoebe", "-550.48", "1898",
"Pluto", "90800.0", "1930",
"Portia", "0.51", "1986",
"Praxidike", "625.3", "2000");
});
TTT.action(function () {
centerPagingFn().item(3).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Neptune", "60190.0", "1846",
"Nereid", "360.13", "1949",
"Oberon", "13.46", "1787",
"Ophelia", "0.38", "1986");
});
TTT.startTest();
});
/**
* 1. goto first page
* 2. goto page 2 by pressing arrow-right
* 3. goto last page
* 4. goto page 21 by pressing arrow-left
* 5. goto page 14
*/
QUnit.test("Basics: right paging", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1\\:columnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-left input");
let rightPagingFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-right .page-link");
let jumpToPageFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s1 .tobago-sheet-paging-markup-right .page-link input");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "22";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Earth", "365.26", "",
"Elara", "259.65", "1905",
"Enceladus", "1.37", "1789",
"Epimetheus", "0.69", "1980");
});
TTT.action(function () {
rightPagingFn().item(0).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"1986U10", "0.64", "1999",
"Adrastea", "0.3", "1979",
"Amalthea", "0.5", "1892",
"Ananke", "-629.77", "1951");
});
TTT.action(function () {
rightPagingFn().item(3).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Ariel", "2.52", "1851",
"Atlas", "0.6", "1980",
"Belinda", "0.62", "1986",
"Bianca", "0.43", "1986");
});
TTT.action(function () {
rightPagingFn().item(4).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Triton", "-5.88", "1846",
"Umbriel", "4.14", "1851",
"Uranus", "30685.0", "1781",
"Venus", "224.7", "");
});
TTT.action(function () {
rightPagingFn().item(1).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Thebe", "0.67", "1979",
"Themisto", "130.02", "2000",
"Titan", "15.95", "1655",
"Titania", "8.71", "1787");
});
TTT.action(function () {
jumpToPageFn().value = "14";
jumpToPageFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Neptune", "60190.0", "1846",
"Nereid", "360.13", "1949",
"Oberon", "13.46", "1787",
"Ophelia", "0.38", "1986");
});
TTT.startTest();
});
QUnit.test("Custom Sorting: Name", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2\\:customColumnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "22";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Earth", "365.26", "",
"Elara", "259.65", "1905",
"Enceladus", "1.37", "1789",
"Epimetheus", "0.69", "1980");
});
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Proteus", "1.12", "1989",
"Prospero", "-1962.95", "1999",
"Prometheus", "0.61", "1980",
"Praxidike", "625.3", "2000");
});
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Earth", "365.26", "",
"Elara", "259.65", "1905",
"Enceladus", "1.37", "1789",
"Epimetheus", "0.69", "1980");
});
TTT.startTest();
});
QUnit.test("Custom Sorting: Period", function (assert) {
let colPeriodFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2\\:customColumnPeriod_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colPeriodFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colPeriodFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colPeriodFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colPeriodFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colPeriodFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "29";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Mimas", "0.94", "1789",
"Proteus", "1.12", "1989",
"Deimos", "1.26", "1877",
"Enceladus", "1.37", "1789");
});
TTT.action(function () {
colPeriodFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Elara", "259.65", "1905",
"Lysithea", "259.22", "1938",
"Himalia", "250.57", "1904",
"Leda", "238.72", "1974");
});
TTT.action(function () {
colPeriodFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Mimas", "0.94", "1789",
"Proteus", "1.12", "1989",
"Deimos", "1.26", "1877",
"Enceladus", "1.37", "1789");
});
TTT.startTest();
});
QUnit.test("Custom Sorting: Year", function (assert) {
let colYearFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2\\:customColumnYear_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colYearFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colYearFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colYearFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colYearFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colYearFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "22";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(4, function () {
assert.equal(rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1789", "row0col2");
assert.equal(rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1846", "row1col2");
assert.equal(rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1846", "row2col2");
assert.equal(rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1848", "row3col2");
});
TTT.action(function () {
colYearFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(4, function () {
assert.equal(rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1989", "row0col2");
assert.equal(rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1989", "row1col2");
assert.equal(rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1989", "row2col2");
assert.equal(rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1986", "row3col2");
});
TTT.action(function () {
colYearFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(4, function () {
assert.equal(rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1789", "row0col2");
assert.equal(rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1846", "row1col2");
assert.equal(rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1846", "row2col2");
assert.equal(rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim(), "1848", "row3col2");
});
TTT.startTest();
});
/**
* 1. goto line 8
* 2. goto line 9
*/
QUnit.test("Custom Sorting: left paging", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2\\:customColumnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-left input");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "8";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Bianca", "0.43", "1986",
"Caliban", "-579.39", "1997",
"Callirrhoe", "758.8", "2000",
"Callisto", "16.69", "1610");
});
TTT.action(function () {
leftPagingFn().value = "9";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Caliban", "-579.39", "1997",
"Callirrhoe", "758.8", "2000",
"Callisto", "16.69", "1610",
"Calypso", "1.89", "1980");
});
TTT.startTest();
});
/**
* 1. goto page 7
* 2. goto page 16
* 3. goto page 13
*/
QUnit.test("Custom Sorting: center paging", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2\\:customColumnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-left input");
let centerPagingFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-center li .page-link");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "1";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"1986U10", "0.64", "1999",
"Adrastea", "0.3", "1979",
"Amalthea", "0.5", "1892",
"Ananke", "-629.77", "1951");
});
TTT.action(function () {
centerPagingFn().item(6).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Epimetheus", "0.69", "1980",
"Erinome", "728.3", "2000",
"Europa", "3.55", "1610",
"Galatea", "0.43", "1989");
});
TTT.action(function () {
centerPagingFn().item(10).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Phoebe", "-550.48", "1898",
"Pluto", "90800.0", "1930",
"Portia", "0.51", "1986",
"Praxidike", "625.3", "2000");
});
TTT.action(function () {
centerPagingFn().item(3).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Neptune", "60190.0", "1846",
"Nereid", "360.13", "1949",
"Oberon", "13.46", "1787",
"Ophelia", "0.38", "1986");
});
TTT.startTest();
});
/**
* 1. goto first page
* 2. goto page 2 by pressing arrow-right
* 3. goto last page
* 4. goto page 21 by pressing arrow-left
* 5. goto page 14
*/
QUnit.test("Custom Sorting: right paging", function (assert) {
let colNameFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2\\:customColumnName_sorter");
let rowsFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-bodyTable tbody .tobago-sheet-row");
let leftPagingFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-left input");
let rightPagingFn = testFrameQuerySelectorAllFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-right .page-link");
let rightPagingInputFn = testFrameQuerySelectorFn("#page\\:mainForm\\:s2 .tobago-sheet-paging-markup-right .page-link input");
let TTT = new TobagoTestTool(assert);
if (!colNameFn().classList.contains("tobago-sheet-header-markup-ascending")) {
TTT.action(function () {
colNameFn().dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
}
TTT.asserts(3, function () {
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-sortable"));
assert.ok(colNameFn().classList.contains("tobago-sheet-header-markup-ascending"));
assert.notOk(colNameFn().classList.contains("tobago-sheet-header-markup-descending"));
});
TTT.action(function () {
leftPagingFn().value = "22";
leftPagingFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Earth", "365.26", "",
"Elara", "259.65", "1905",
"Enceladus", "1.37", "1789",
"Epimetheus", "0.69", "1980");
});
TTT.action(function () {
rightPagingFn().item(0).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"1986U10", "0.64", "1999",
"Adrastea", "0.3", "1979",
"Amalthea", "0.5", "1892",
"Ananke", "-629.77", "1951");
});
TTT.action(function () {
rightPagingFn().item(3).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Ariel", "2.52", "1851",
"Atlas", "0.6", "1980",
"Belinda", "0.62", "1986",
"Bianca", "0.43", "1986");
});
TTT.action(function () {
rightPagingFn().item(4).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Triton", "-5.88", "1846",
"Umbriel", "4.14", "1851",
"Uranus", "30685.0", "1781",
"Venus", "224.7", "");
});
TTT.action(function () {
rightPagingFn().item(1).dispatchEvent(new Event("click", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Thebe", "0.67", "1979",
"Themisto", "130.02", "2000",
"Titan", "15.95", "1655",
"Titania", "8.71", "1787");
});
TTT.action(function () {
rightPagingInputFn().value = "14";
rightPagingInputFn().dispatchEvent(new Event("blur", {bubbles: true}));
});
TTT.waitForResponse();
TTT.asserts(12, function () {
ajaxExecuteBodyTableCheck(assert, rowsFn,
"Neptune", "60190.0", "1846",
"Nereid", "360.13", "1949",
"Oberon", "13.46", "1787",
"Ophelia", "0.38", "1986");
});
TTT.startTest();
});
function ajaxExecuteBodyTableCheck(assert, rowsFn, row0col0, row0col1, row0col2, row1col0, row1col1, row1col2,
row2col0, row2col1, row2col2, row3col0, row3col1, row3col2) {
let $row0Col0 = rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(0).textContent.trim();
let $row0Col1 = rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(1).textContent.trim();
let $row0Col2 = rowsFn().item(0).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim();
let $row1Col0 = rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(0).textContent.trim();
let $row1Col1 = rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(1).textContent.trim();
let $row1Col2 = rowsFn().item(1).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim();
let $row2Col0 = rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(0).textContent.trim();
let $row2Col1 = rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(1).textContent.trim();
let $row2Col2 = rowsFn().item(2).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim();
let $row3Col0 = rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(0).textContent.trim();
let $row3Col1 = rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(1).textContent.trim();
let $row3Col2 = rowsFn().item(3).querySelectorAll(".tobago-sheet-cell").item(2).textContent.trim();
assert.equal($row0Col0, row0col0, "row0col0");
assert.equal($row0Col1, row0col1, "row0col1");
assert.equal($row0Col2, row0col2, "row0col2");
assert.equal($row1Col0, row1col0, "row1col0");
assert.equal($row1Col1, row1col1, "row1col1");
assert.equal($row1Col2, row1col2, "row1col2");
assert.equal($row2Col0, row2col0, "row2col0");
assert.equal($row2Col1, row2col1, "row2col1");
assert.equal($row2Col2, row2col2, "row2col2");
assert.equal($row3Col0, row3col0, "row3col0");
assert.equal($row3Col1, row3col1, "row3col1");
assert.equal($row3Col2, row3col2, "row3col2");
}