# Copyright (c) 2013-2014 Index Data ApS. http://indexdata.com
-PHANTOMJS_TIMEOUT=18
-PHANTOMJS= ../node_modules/phantomjs/bin/phantomjs
+PHANTOMJS_TIMEOUT=30
+PHANTOMJS= perl ../bin/bomb.pl --timeout=${PHANTOMJS_TIMEOUT} ../node_modules/phantomjs/bin/phantomjs
IMAGES= ./images
SCREENSHOT_WIDTH_HEIGHT= 1000 1200
PERL_SCRIPTS= ../bin/bomb.pl
PROG= ../phantom/screenshot.js
MD5= $(shell which md5 md5sum)
-TIMEOUT=5
+TESTS= koha demos mike # koha.url
+TIMEOUT=4
+PREFIX= test
PHANTOMJS_URL= http://cph.koha.indexdata.com/cgi-bin/koha/opac-search.pl?q=sushi
PHANTOMJS_URL= http://www.indexdata.com/
all: help
clean:
- rm -f mkws-error.png mkws-error.html
+ rm -f index-*.html
+ rm -f iframe-*.html
rm -f ${IMAGES}/*.png
- rm -f ${IMAGES}/index.html
distclean: clean
+ rm -f ${IMAGES}/*.png.tmp
test: check
screenshot:
- file=$$(echo "${PHANTOMJS_URL}" | ${MD5} | perl -npe 's,\s.*,,'); \
- ${PHANTOMJS} ${PROG} ${PHANTOMJS_URL} ${IMAGES}/$$file.png ${SCREENSHOT_WIDTH_HEIGHT} ${TIMEOUT}
+ file=${PREFIX}.$$(echo "${PHANTOMJS_URL}" | perl -npe 's,(\W),-,g; s/-$$//;'); \
+ ${PHANTOMJS} ${PROG} "${PHANTOMJS_URL}" ${IMAGES}/tmp.$$file.png ${SCREENSHOT_WIDTH_HEIGHT} ${TIMEOUT}; \
+ mv -f ${IMAGES}/tmp.$$file.png ${IMAGES}/$$file.png
-screenshots:
- for i in $$(cat url.txt); do \
- make PHANTOMJS_URL="$$i" TIMEOUT=4 screenshot; \
- done; wait
- make index
+screenshots: clean estimate-time iframe
+ set -e; \
+ for t in ${TESTS}; do \
+ for i in $$(cat url.$$t); do \
+ ${MAKE} PHANTOMJS_URL="$$i" TIMEOUT=4 PREFIX=$$t screenshot; \
+ done; \
+ ${MAKE} PREFIX=$$t index; \
+ done
+
+estimate-time:
+ @wc -l url.* | tail -n1 | awk '{print "Estimeate run time: " $$1 * (1 + '${TIMEOUT}'), "seconds" }'
+ @echo ""
index:
- cd ${IMAGES}; ls *.png | perl -ne 'chomp; print qq{<img src="$$_">$$_</img><hr/>\n}' > index.html
+ ( cd ${IMAGES}; ls -tr ${PREFIX}.*.png | perl -ne 'chomp; print qq{<h2>$$_</h2><img src="'${IMAGES}/'$$_"/><br/><br/><p/>\n}' ) > index-${PREFIX}.html
+
+iframe: index-iframe-demo
+index-iframe-demo:
+ ( cat url.demos | perl -ne 'chomp; print qq{<h2>$$_</h2><iframe width="900px" height="600px" src="$$_"></iframe>\n}' ) > iframe-demos.html
+
+tidy:
+ for i in iframe-demos.html index-*.html; do \
+ tidy -i -m $$i >/dev/null 2>&1; \
+ perl -i -npe 's,(</head>),<link type="text/css" rel="stylesheet" href="screenshots.css" />\n$$1,' $$i; \
+ done
help:
@echo "make [ all | clean | distclean ]"
@echo " [ screenshots ]"
- @echo " [ screenshot | index ]"
+ @echo " [ screenshot | index | iframe | tidy ]"
+ @echo ""
+ @echo "Examples: "
@echo ""
+ @echo "make TESTS=mike screenshots"