X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=test%2Fspec%2Fmkws-pazpar2.js;h=81da33aeb6b0e7c572bde0d6c817eb6dde5aec20;hp=ccc161e789e5e1064ffe2eafe128fb051c99df00;hb=3ded31cbe638989905a85b0c342494590ce3ac36;hpb=e6978fb1ecf71cd48f9edec659e63dfcfe2a43f8 diff --git a/test/spec/mkws-pazpar2.js b/test/spec/mkws-pazpar2.js index ccc161e..81da33a 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) } @@ -526,6 +526,142 @@ describe("Check switch menu Records/Targets", function () { }); }); +describe("Check translations", function () { + var $ = mkws.$; + + // handle html entities, "Zurück" => "Zurück" + var M = function (string) { + var text = $("").html(mkws.M(string)).text() + debug("translate check for: " + text); + return text; + }; + var lang = function () { + return mkws.config.lang + }; + + function check_translation(list, text) { + expect(list.length).toBe(text.length); + + for (var i = 0; i < text.length; i++) { + expect($(list[i]).text()).toBe(M(text[i])); + } + } + + 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", + "relevance": "Relevanz", + "title": "Titel", + "newest": "Neueste", + "oldest": "Älteste", + + "dummy": "dummy" + }, +*/ + + it("search button", function () { + var list = $(".mkws-pager-desc > span"); + expect($("form > input[type=submit]").attr("value")).toBe(M("Search")); + }); + + it("switch", function () { + var list = $(".mkws-switch > a") + var text = ["Records", "Targets"]; + + check_translation(list, text); + }); + + + it("ranking form", function () { + var list = $(".mkws-ranking > form > span"); + var text = ["Sort by", "and show", "per page"]; + + check_translation(list, text); + + // 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()); + } + + + expect($("select.mkws-sort > option[selected=selected]").text()).toBe(M("relevance")); + }); + + it("facets sidebar", function () { + var list = $(".mkws-facet-title"); + var text = ["Sources", "Subjects", "Authors"]; + + check_translation(list, text); + }); + + it("facets navigation/filter", function () { + var list = $(".mkws-navi > span"); + var text = ["source", "author"]; + + check_translation(list, text); + }); + + it("navigation", function () { + var list = $(".mkws-pager-desc > span"); + var text = ["Displaying", "to", "of", "found"]; + + check_translation(list, text); + + expect($(".mkws-next").text()).toBe(M("Next")); + expect($(".mkws-prev").text()).toBe(M("Prev")); + }); + + it("record details", function () { + var text = ["Title", "Date", "Author"]; // , "Subject", "Locations"]; + var list = $("div.mkws-details table > tbody > tr > th"); + + // compare only the first 3 elements + list = list.splice(0, text.length) + + check_translation(list, text); + }); + + /* not tested + * + * Status line: -- Active clients : 0/1 -- Retrieved records : 4/4 + * + */ +}); + describe("Check status client counter", function () { var $ = mkws.$; @@ -580,7 +716,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 +733,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 +778,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); + } }); }); @@ -661,7 +803,7 @@ describe("Check per page options", function () { describe("Check SortBy options", function () { var $ = mkws.$; - it("show per page", function () { + it("sort by title", function () { if (!jasmine_config.check_sortby) { debug("ignore check for sort by"); return; @@ -670,11 +812,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 +830,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 +853,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 +862,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 +874,24 @@ 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); - }); - }); + +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 */