- 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: 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 & sleep 1; \
+ done; wait; \
+ ${MAKE} PREFIX=$$t index; \
+ done
+ ${MAKE} tidy help-url
+
+help-url:
+ @echo ""
+ @echo "Please check now: http://localhost/test/widgets/"
+
+estimate-time:
+ @wc -l url.* | tail -n1 | awk '{print "Estimeate run time: " $$1 * (1 + '${TIMEOUT}') * 0.5, "seconds" }'
+ @echo ""
+
+index:
+ ( 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,(^\s*</head>),<link type="text/css" rel="stylesheet" href="screenshots.css" /> $$1,' $$i; \
+ done