Skip to content

Commit b5256ae

Browse files
committed
Simplify integration test setup, don't post artefact to imagebin, log as dataURI to console
1 parent 2ef59fd commit b5256ae

File tree

4 files changed

+23
-43
lines changed

4 files changed

+23
-43
lines changed

.travis.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ env:
66
- DISPLAY=:99.0
77
before_script:
88
- sh -e /etc/init.d/xvfb start
9-
script:
10-
- npm test publish_smoke_test_diff
119
deploy:
1210
provider: npm
1311
email: christoph.burgmer@gmail.com

go

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,6 @@
11
#!/bin/bash
22
set -e
33

4-
PUBLISH_SMOKE_TEST_DIFF="$1"
5-
SMOKE_TEST_DIFF="build/rasterizeHtmlSmokeTestDiff.png"
6-
7-
installDependencies() {
8-
npm install
9-
}
10-
11-
build() {
12-
./node_modules/.bin/grunt
13-
}
14-
15-
runIntegrationTest() {
16-
./node_modules/.bin/slimerjs test/phantomIntegrationTest.js
17-
}
18-
19-
main() {
20-
if [ ! -d node_modules ]; then
21-
installDependencies
22-
fi
23-
24-
build
25-
if ! ./test/integrationTest.js; then
26-
if [[ -n "$PUBLISH_SMOKE_TEST_DIFF" ]]; then
27-
curl -F file="@${SMOKE_TEST_DIFF}" https://imagebin.ca/upload.php
28-
fi
29-
exit 1
30-
fi
31-
}
32-
33-
main
4+
npm install
5+
./node_modules/.bin/grunt
6+
./test/integrationTest.js

test/diffHelperPage.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,12 @@
4848
});
4949
});
5050
};
51-
5251
</script>
52+
<style>
53+
body {
54+
margin: 0;
55+
}
56+
</style>
5357
</head>
5458
<body>
5559
</body>

test/integrationTest.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,20 @@
77
const path = require("path");
88
const puppeteer = require('puppeteer');
99

10+
const viewport = { width: 200, height: 100 };
11+
1012
const fileUrl = (relPath) => {
1113
return 'file://' + path.resolve(process.cwd(), relPath);
1214
};
1315

14-
var dataUriForBase64PNG = (pngBase64) => {
15-
return "data:image/png;base64," + pngBase64;
16+
const screenshotToDataUri = (screenshot) => {
17+
return "data:image/png;base64," + screenshot.toString('base64');
1618
};
1719

20+
const sleep = async (inMs) => {
21+
await new Promise(fulfill => setTimeout(fulfill, inMs));
22+
}
23+
1824
const renderPage = async (browser, url, successCallback) => {
1925
const page = await browser.newPage();
2026

@@ -26,31 +32,30 @@ const renderPage = async (browser, url, successCallback) => {
2632
page.on('pageerror', msg => {
2733
console.error(msg);
2834
});
29-
await page.setViewport({ width: 200, height: 100 });
35+
await page.setViewport(viewport);
3036
await page.goto(url);
3137

32-
await new Promise(fulfill => setTimeout(fulfill, 500));
38+
await sleep(500);
3339

3440
const screenshot = await page.screenshot();
35-
return dataUriForBase64PNG(screenshot.toString('base64'));
41+
return screenshotToDataUri(screenshot);
3642
};
3743

3844
const runTest = async (browser) => {
3945
const imageUrl = await renderPage(browser, fileUrl('test/integrationTestPage.html'));
4046
const targetImageUrl = await renderPage(browser, fileUrl('test/fixtures/testResult.png'));
41-
console.log('imageUrl', imageUrl);
42-
console.log('targetImageUrl', targetImageUrl);
47+
console.log('Rendered test page', imageUrl);
4348

4449
const imageDiffPage = await browser.newPage();
50+
await imageDiffPage.setViewport(viewport);
4551
await imageDiffPage.goto(fileUrl('test/diffHelperPage.html'));
4652

4753
const equal = await imageDiffPage.evaluate(function (url1, url2) {
4854
return isEqual(url1, url2, 5);
4955
}, imageUrl, targetImageUrl);
5056

51-
const screenshotTarget = 'build/rasterizeHtmlSmokeTestDiff.png';
52-
console.log('Writing diff to ' + screenshotTarget);
53-
await imageDiffPage.screenshot({path: screenshotTarget});
57+
const screenshot = await imageDiffPage.screenshot();
58+
console.log('Rendered diff', screenshotToDataUri(screenshot));
5459

5560
return equal;
5661
};

0 commit comments

Comments
 (0)