X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=test%2Fspec%2Fmkws-pazpar2.js;h=cb7e426286ae302089b8c11dfad1013e37a2707a;hp=29ce17705e8d811ce899ce9627b05d1e5cb1a0bb;hb=201aef532e48d5389f89cfc33f6059278f57177c;hpb=c1bd11003bc594199803e0012dcb8f114c8b99af diff --git a/test/spec/mkws-pazpar2.js b/test/spec/mkws-pazpar2.js index 29ce177..cb7e426 100644 --- a/test/spec/mkws-pazpar2.js +++ b/test/spec/mkws-pazpar2.js @@ -7,7 +7,7 @@ // get references from mkws.js, lazy evaluation var debug = function (text) { // use a debug function with time stamps - mkws.teams["AUTO"].log("Jasmine: " + text); + mkws.teams["AUTO"].info("Jasmine: " + text); //mkws.log("Jasmine: " + text) } @@ -227,13 +227,13 @@ describe("Check pazpar2 hit counter", function () { }); }); -describe("Check Termlist", function () { +describe("Check Facets", function () { var $ = mkws.$; - it("found Termlist", function () { - var termlist = $("div.mkws-facets"); - debug("Termlist success: " + termlist.length); - expect(termlist.length).toBe(1); + it("found Facets", function () { + var facets = $("div.mkws-facets"); + debug("Facet success: " + facets.length); + expect(facets.length).toBe(1); waitsFor(function () { return $("div.mkws-facet[data-mkws-facet='xtargets']").length == 1 ? true : false; @@ -242,7 +242,7 @@ describe("Check Termlist", function () { // everything displayed? runs(function () { var sources = $("div.mkws-facet[data-mkws-facet='xtargets']"); - debug("Termlist sources success: " + sources.length); + debug("Facet sources success: " + sources.length); expect(sources.length).toBe(1); var subjects = $("div.mkws-facet[data-mkws-facet='subject']"); @@ -580,7 +580,9 @@ describe("Check removable facets links", function () { runs(function () { $("div.mkws-records").bind("DOMNodeInserted DOMNodeRemoved propertychange", function () { waitcount++; - debug("DOM change mkws-records for removeable: " + waitcount); + if (waitcount <= 5 || (waitcount % 5 == 0)) { + debug("DOM change mkws-records for removeable: " + waitcount); + } }); }); @@ -595,7 +597,9 @@ describe("Check removable facets links", function () { $("div.mkws-records").bind("DOMNodeInserted DOMNodeRemoved propertychange", function () { waitcount++; - debug("DOM change mkws-records for removeable2: " + waitcount); + if (waitcount <= 5 || (waitcount % 5 == 0)) { + debug("DOM change mkws-records for removeable2: " + waitcount); + } }); var click = $("a.mkws-removable").eq(0).trigger("click"); @@ -638,7 +642,9 @@ describe("Check per page options", function () { $("div.mkws-records").bind("DOMNodeInserted DOMNodeRemoved propertychange", function () { waitcount++; - debug("DOM change mkws-records, per page: " + waitcount); + if (waitcount <= 5 || (waitcount % 10 == 0)) { + debug("DOM change mkws-records, per page: " + waitcount); + } }); }); @@ -670,11 +676,13 @@ describe("Check SortBy options", function () { var waitcount = 0; var sort_value = 'title:1'; var per_page_number = 20; + + // keep current title list var title_list_old = title_list("xxx "); function title_list(prefix) { var list = []; - var terms = $("div.mkws-records > div.mkws-summary > a"); + var terms = $("div.mkws-records > div.mkws-summary > div.mkws-field-data span.mkws-field-title"); for (var i = 0; i < terms.length; i++) { var term = $(terms[i]).text().trim(); list.push(term); @@ -686,7 +694,9 @@ describe("Check SortBy options", function () { runs(function () { $("div.mkws-records").bind("DOMNodeInserted DOMNodeRemoved propertychange", function () { waitcount++; - debug("DOM change mkws-records, sort by: " + waitcount); + if (waitcount <= 5 || (waitcount % 10 == 0)) { + debug("DOM change mkws-records, sort by: " + waitcount); + } }); var select = $("select.mkws-sort option[selected='selected']"); @@ -707,7 +717,7 @@ describe("Check SortBy options", function () { $("div.mkws-records").unbind("DOMNodeInserted DOMNodeRemoved propertychange"); debug("unbind by sort"); - var records = $("div.mkws-records > div.mkws-summary > a"); + var records = $("div.mkws-records > div.mkws-summary"); debug("Sort by got now " + records.length + " records"); expect(records.length).toBe(per_page_number); }); @@ -716,7 +726,7 @@ describe("Check SortBy options", function () { var title_list_new = title_list("yyy "); var diff_flag = 0; for (var i = 0; i < title_list_old.length; i++) { - debug((i+1) + ". " + title_list_old[i] + " :: " + title_list_new[i]); + debug((i + 1) + ". " + title_list_old[i] + " :: " + title_list_new[i]); if (title_list_old[i] != title_list_new[i]) { diff_flag++; @@ -728,23 +738,115 @@ describe("Check SortBy options", function () { }); }); -describe("Check async widget discovery", function () { - var $ = mkws.$; - it("initialises a new widget", function() { - $("div.mkws-search").after('
'); - mkws.init("Another search box", "#asyncSearch"); - waitsFor(function () { - return $("#asyncSearch input").length >= 1 ? true : false; - }, "Call init() to build an .mkws-search", 750); - runs(function () { - var numInput = $("div.mkws-search input").length; - debug("Input elements present: " + numInput); - expect(numInput).toBe(4); - var numRec = $("div.mkws-records > div.mkws-summary > a").length; - debug("Records should still be present. There are: " + numRec); - expect(numRec).toBeGreaterThan(0); +describe("Check translations", function () { + var $ = mkws.$; + // handle html entities, "Zurück" => "Zurück" + var M = function (string) { + return $("").html(mkws.M(string)).text() + }; + var lang = function () { + return mkws.config.lang + }; + + it("check language", function () { + var lang = mkws.config.lang; + debug("lang: " + lang); + expect(lang).toMatch(/^(de|da|)$/); + }); + +/* + locale_lang: { + "de": { + "Authors": "Autoren", + "Subjects": "Schlagwörter", + "Sources": "Daten und Quellen", + "source": "datenquelle", + "Facets": "Termlisten", + "Next": "Weiter", + "Prev": "Zurück", + "Search": "Suche", + "Sort by": "Sortieren nach", + "and show": "und zeige", + "per page": "pro Seite", + "Displaying": "Zeige", + "to": "von", + "of": "aus", + "found": "gefunden", + "Title": "Titel", + "Author": "Autor", + "author": "autor", + "Date": "Datum", + "Subject": "Schlagwort", + "subject": "schlagwort", + "Location": "Ort", + "Records": "Datensätze", + "Targets": "Datenbanken", + + "dummy": "dummy" + }, +*/ + + it("ranking form", function () { + var list = $(".mkws-ranking > form > span"); + + expect(list.length).toBe(3); + + expect($(list[0]).text()).toBe(M("Sort by")); + expect($(list[1]).text()).toBe(M("and show")); + expect($(list[2]).text()).toBe(M("per page")); + + // double check + if (lang == "de") { + expect("Sortieren nach").toBe(M("Sort by")); + expect("Sortieren nach").toBe($(list[0]).text()); + } else if (lang == "da") { + expect("Sorter efter").toBe(M("Sort by")); + expect("Sorter efter").toBe($(list[0]).text()); + } + }); + + xit("facets", function () { + var list = $(".mkws-facet-title"); + + expect(list.length).toBe(3); + + expect($(list[0]).text()).toBe(M("Sources")); + expect($(list[1]).text()).toBe(M("Subjects")); + expect($(list[2]).text()).toBe(M("Authors")); + }); + + it("navigation", function () { + var list = $(".mkws-pager-desc > span"); + + expect(list.length).toBe(4); + + expect($(list[0]).text()).toBe(M("Displaying")); + expect($(list[1]).text()).toBe(M("to")); + expect($(list[2]).text()).toBe(M("of")); + expect($(list[3]).text()).toBe(M("found")); + + expect($(".mkws-next").text()).toBe(M("Next")); + expect($(".mkws-prev").text()).toBe(M("Prev")); + }); +}); + +xdescribe("Check async widget discovery", function () { + var $ = mkws.$; + it("initialises a new widget", function () { + $("div.mkws-search").after('
'); + mkws.init("Another search box", "#asyncSearch"); + waitsFor(function () { + return $("#asyncSearch input").length >= 1 ? true : false; + }, "Call init() to build an .mkws-search", 750); + runs(function () { + var numInput = $("div.mkws-search input").length; + debug("Input elements present: " + numInput); + expect(numInput).toBe(4); + var numRec = $("div.mkws-records > div.mkws-summary").length; + debug("Records should still be present. There are: " + numRec); + expect(numRec).toBeGreaterThan(0); + }); }); - }); }); /* done */