Merge branch 'master' of ssh://git.indexdata.com:222/home/git/private/mkws
authorWolfram Schneider <wosch@indexdata.dk>
Tue, 4 Feb 2014 16:31:53 +0000 (16:31 +0000)
committerWolfram Schneider <wosch@indexdata.dk>
Tue, 4 Feb 2014 16:31:53 +0000 (16:31 +0000)
test/Makefile
test/images/.gitkeep [new file with mode: 0644]
test/phantom/screenshot.js
test/spec/mkws-pazpar2.js
tools/htdocs/mkws.css
tools/htdocs/mkws.js

index 7e38ebc..5f059cc 100644 (file)
@@ -6,11 +6,13 @@ NPM_INSTALL_FLAGS=-q
 PHANTOMJS=     ./node_modules/phantomjs/bin/phantomjs
 PHANTOMJS_URL= https://mkws-dev.indexdata.com/jasmine-popup.html       
 PHANTOMJS_TIMEOUT=     12      
+IMAGES=        ./images
+SCREENSHOT_WIDTH=      360 480 640 768 1024 1200 1440 2048
 
 all: check
 
 clean:
-       rm -f mkws-error.png mkws-error.html
+       rm -f mkws-error.png mkws-error.html images/*.png
 
 distclean: clean
        rm -rf node_modules
@@ -31,6 +33,21 @@ terse:
 phantomjs:
        ${PHANTOMJS} phantom/evaluate.js ${PHANTOMJS_URL} ${PHANTOMJS_TIMEOUT}
 
+screenshot:
+       ${PHANTOMJS} phantom/screenshot.js ${PHANTOMJS_URL} ${IMAGES}/screenshot.png 1200 1000
+
+screenshot-mkws:
+       for i in ${SCREENSHOT_WIDTH}; do \
+           ${PHANTOMJS} phantom/screenshot.js http://mkws.indexdata.com ${IMAGES}/mkws-$$i.png $$i 1000 &  \
+       done; wait
+       ls -l ${IMAGES}
+
+screenshot-indexdata:
+       for i in ${SCREENSHOT_WIDTH}; do \
+           ${PHANTOMJS} phantom/screenshot.js http://www.indexdata.com ${IMAGES}/indexdata-$$i.png $$i 1000 &  \
+       done; wait
+       ls -l ${IMAGES}
+
 jsbeautifier jsb indent:
        for i in ./spec*/*.js ./js/*.js ./phantom/*.js; do \
          jsbeautifier -j $$i > $@.tmp && mv -f $@.tmp $$i; \
@@ -41,5 +58,6 @@ node_modules:
        npm install ${NPM_INSTALL_FLAGS} jQuery xmlhttprequest jsdom request jasmine-node phantomjs
 
 help:
-       @echo "make [ all | check | phantomjs | clean | distclean ]"
+       @echo "make [ all | check | clean | distclean ]"
+       @echo "     [ phantomjs | screenshot ]"
        @echo "     [ jsbeautifier | node-modules ]"
diff --git a/test/images/.gitkeep b/test/images/.gitkeep
new file mode 100644 (file)
index 0000000..e69de29
index a91addf..316b03c 100644 (file)
@@ -15,10 +15,16 @@ page.viewportSize = {
     height: system.args[4] ? system.args[4] : 1000
 };
 
+page.clipRect = {
+    width: page.viewportSize.width,
+    height: page.viewportSize.height
+};
+
 page.open(url, function () {
     // small delay
     setTimeout(function () {
-        page.render(file_png);
+        var ret = page.render(file_png);
         phantom.exit();
     }, 200);
 });
+
index b6959b7..92230ab 100644 (file)
@@ -318,19 +318,19 @@ describe("Show record", function () {
 
 describe("Check switch menu Records/Targets", function () {
     it("check mkwsSwitch", function () {
-        expect($("div#mkwsSwitch").length).toBe(1);
+        expect($("div.mkwsSwitch").length).toBe(1);
 
         // expect 2 clickable links
-        expect($("div#mkwsSwitch a").length).toBe(2);
+        expect($("div.mkwsSwitch a").length).toBe(2);
     });
 
     it("switch to target view", function () {
-        var click = $("a#mkwsSwitch_targets").trigger("click");
+        var click = $("div.mkwsSwitch").children('a').eq(1).trigger("click");
         debug("target view click is success: " + click.length);
         expect(click.length).toBe(1);
 
         // now the target table must be visible
-        expect($("div#mkwsBytarget").is(":visible")).toBe(true);
+        expect($("div.mkwsBytarget").is(":visible")).toBe(true);
         expect($("div#mkwsRecords").is(":visible")).toBe(false);
 
         // wait a half second, to show the target view
@@ -341,12 +341,12 @@ describe("Check switch menu Records/Targets", function () {
 
         // look for table header
         runs(function () {
-            expect($("div#mkwsBytarget").html()).toMatch(/Target ID/);
+            expect($("div.mkwsBytarget").html()).toMatch(/Target ID/);
         });
     });
 
     it("switch back to record view", function () {
-        var click = $("a#mkwsSwitch_records").trigger("click");
+        var click = $("div.mkwsSwitch").children('a').eq(0).trigger("click");
         debug("record view click is success: " + click.length);
         expect(click.length).toBe(1);
 
index 4db8315..ef5c1c8 100644 (file)
@@ -1,12 +1,12 @@
 #mkwsLang,
-#mkwsSwitch,
+#mkwsSwitch, .mkwsSwitch,
 #mkwsSearch, .mkwsSearch,
 #mkwsTermlists,
 #mkwsRanking,
 #mkwsPager,
 #mkwsNavi,
 #mkwsRecords,
-#mkwsTargets,
+#mkwsTargets, .mkwsTargets,
 #mkwsStat,
 #mkwsMOTD {
     font-family: Gill Sans, "Gillius ADF", Gillius, GilliusADF, Verdana, Sans-Serif;
     float: right;
 }
 
-#mkwsSwitch {
+#mkwsSwitch, .mkwsSwitch {
     float: right;
     padding-left: 1em;
     padding-top: 0.4em;
 }
 
-#mkwsTargets {
+#mkwsTargets, .mkwsTargets {
     background-color: #fafafa;
 }
 
@@ -53,7 +53,7 @@
     font-weight: bold;
 }
 
-#mkwsSwitch a,
+#mkwsSwitch a, .mkwsSwitch a,
 #mkwsLang a,
 #mkwsTermlists a,
 #mkwsRanking a,
@@ -64,7 +64,7 @@
     text-decoration: none;
 }
 
-#mkwsSwitch a:hover,
+#mkwsSwitch a:hover, .mkwsSwitch a:hover,
 #mkwsLang a:hover,
 #mkwsTermlists a:hover,
 #mkwsPager a:hover,
     padding: 0.3em;
 }
 
-#mkwsBytarget table thead tr td {
+.mkwsBytarget table thead tr td {
     background-color: #132194;
     color: white;
     font-weight: bold;
     padding: 0.2em 0.5em;
 }
 
-#mkwsBytarget table tbody tr:nth-child(odd) {
+.mkwsBytarget table tbody tr:nth-child(odd) {
     background-color: #e0f0ff;
 }
 
-#mkwsBytarget table tbody tr:nth-child(even) {
+.mkwsBytarget table tbody tr:nth-child(even) {
     background-color: #d0e0ff;
 }
 
-#mkwsBytarget table tbody tr td {
+.mkwsBytarget table tbody tr td {
     padding: 0.2em 0.5em;
 }
index b735cf6..17c10b1 100644 (file)
@@ -373,7 +373,7 @@ function team($, teamName) {
 
     function my_onbytarget(data, teamName) {
        debug("target for " + teamName);
-       var targetDiv = document.getElementById("mkwsBytarget");
+       var targetDiv = $('.mkwsBytarget.mkwsTeam_' + teamName);
        if (!targetDiv) {
            // No mkwsTargets div.
            return;
@@ -396,7 +396,7 @@ function team($, teamName) {
        }
 
        table += '</tbody></table>';
-       targetDiv.innerHTML = table;
+       targetDiv.html(table);
     }
 
     ////////////////////////////////////////////////////////////////////////////////
@@ -704,30 +704,31 @@ function team($, teamName) {
     mkws.switchView = function(view) {
        debug("switchView: " + view);
 
-       var targets = document.getElementById('mkwsTargets');
-       var results = document.getElementById('mkwsResults') ||
-           document.getElementById('mkwsRecords');
-       var blanket = document.getElementById('mkwsBlanket');
-       var motd    = document.getElementById('mkwsMOTD');
+       //var targets = document.getElementById('mkwsTargets');
+       var targets = $('#mkwsTargets');
+       var results = $('#mkwsResults,#mkwsRecords');
+       var blanket = $('#mkwsBlanket');
+       var motd    = $('#mkwsMOTD');
 
        switch(view) {
         case 'targets':
-            if (targets) targets.style.display = "block";
-            if (results) results.style.display = "none";
-            if (blanket) blanket.style.display = "none";
-            if (motd) motd.style.display = "none";
+            if (targets) targets.css('display', 'block');
+            if (results) results.css('display', 'none');
+            if (blanket) blanket.css('display', 'none');
+            if (motd) motd.css('display', 'none');
             break;
         case 'records':
-            if (targets) targets.style.display = "none";
-            if (results) results.style.display = "block";
-            if (blanket) blanket.style.display = "block";
-            if (motd) motd.style.display = "none";
+            if (targets) targets.css('display', 'none');
+            if (results) results.css('display', 'block');
+            if (blanket) blanket.css('display', 'block');
+            if (motd) motd.css('display', 'none');
             break;
        case 'none':
-            if (targets) targets.style.display = "none";
-            if (results) results.style.display = "none";
-            if (blanket) blanket.style.display = "none";
-            if (motd) motd.style.display = "none";
+           alert("mkws.switchView('none') shouldn't happen");
+            if (targets) targets.css('display', 'none');
+            if (results) results.css('display', 'none');
+            if (blanket) blanket.css('display', 'none');
+            if (motd) motd.css('display', 'none');
             break;
         default:
             alert("Unknown view '" + view + "'");
@@ -984,18 +985,20 @@ function team($, teamName) {
 
 
     function mkws_html_switch() {
-       debug("HTML switch");
+       debug("HTML switch for team " + m_teamName);
 
-       $("#mkwsSwitch").append($('<a href="#" id="mkwsSwitch_records" onclick="mkws.switchView(\'records\')">' + M('Records') + '</a>'));
-       $("#mkwsSwitch").append($("<span/>", { text: " | " }));
-       $("#mkwsSwitch").append($('<a href="#" id="mkwsSwitch_targets" onclick="mkws.switchView(\'targets\')">' + M('Targets') + '</a>'));
+       var node = $(".mkwsSwitch.mkwsTeam_" + m_teamName);
+       node.append($('<a href="#" onclick="mkws.switchView(\'records\')">' + M('Records') + '</a>'));
+       node.append($("<span/>", { text: " | " }));
+       node.append($('<a href="#" onclick="mkws.switchView(\'targets\')">' + M('Targets') + '</a>'));
 
        debug("HTML targets");
-       $("#mkwsTargets").html('\
-<div id="mkwsBytarget" class="mkwsBytarget mkwsTeam_AUTO">\
+       var node = $(".mkwsTargets.mkwsTeam_" + m_teamName);
+       node.html('\
+<div class="mkwsBytarget mkwsTeam_' + m_teamName + '">\
   No information available yet.\
 </div>');
-       $("#mkwsTargets").css("display", "none");
+       node.css("display", "none");
     }
 
 
@@ -1095,7 +1098,7 @@ function team($, teamName) {
            $("#mkwsTermlistContainer1").hide();
            $("#mkwsTermlistContainer2").show();
            for(var i = 0; i < list.length; i++) {
-               $("#" + list[i]).hide();
+               $("#" + list[i]).hide(); // ### make team-aware
            }
        } else if ($(window).width() > width &&
                   parentId === "mkwsTermlistContainer2") {
@@ -1104,7 +1107,7 @@ function team($, teamName) {
            $("#mkwsTermlistContainer1").show();
            $("#mkwsTermlistContainer2").hide();
            for(var i = 0; i < list.length; i++) {
-               $("#" + list[i]).show();
+               $("#" + list[i]).show(); // ### make team-aware
            }
        }
     };