X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=test%2Fspec%2Fmkws-pazpar2.js;h=e01f5fef8d5110a86adb720f421b4b18c8de158a;hb=ab01c349aa177a9dd8a91967a5ea1eca23526fc8;hp=2cfe93d1c798cc9bfcebfa1c56c86b070510c2f6;hpb=5fce8c968981efbd7fc063faa833f7d8093dd630;p=mkws-moved-to-github.git diff --git a/test/spec/mkws-pazpar2.js b/test/spec/mkws-pazpar2.js index 2cfe93d..e01f5fe 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,136 @@ 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")); + }); + + xit("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); + }); +}); + describe("Check status client counter", function () { var $ = mkws.$; @@ -580,7 +710,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 +727,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 +772,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 +797,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 +806,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 +824,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']"); @@ -716,7 +856,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 +868,24 @@ describe("Check SortBy options", function () { }); }); -describe("Check async widget discovery", function () { - var $ = mkws.$; - it("initialises a new widget", function() { - $("div.mkws-search").after('