@browserless/test 10.2.3 → 10.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +35 -16
  2. package/package.json +5 -4
package/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  const { imgDiff } = require('img-diff-js')
4
4
  const { onExit } = require('signal-exit')
5
- const { createServer } = require('http')
5
+ const { runServer } = require('./util')
6
6
  const { copy } = require('fs-extra')
7
7
  const temp = require('temperment')
8
8
  const pdf = require('pdf-parse')
@@ -29,8 +29,8 @@ const imageComparison = async (t, expectedFilename, filename) => {
29
29
  return looksSame(expectedFilename, actualFilename)
30
30
  }
31
31
 
32
- const serverUrl = (() => {
33
- const server = createServer((_, res) => {
32
+ const getUrl = t =>
33
+ runServer(t, ({ res }) => {
34
34
  res.setHeader('Content-Type', 'text/html')
35
35
  return res.end(`<!DOCTYPE html>
36
36
  <html lang="en">
@@ -43,10 +43,7 @@ const serverUrl = (() => {
43
43
  <p>hello world</p>
44
44
  </body>
45
45
  </html>`)
46
- }).listen()
47
-
48
- return `http://[::]:${server.address().port}`
49
- })()
46
+ })
50
47
 
51
48
  module.exports = (browser, teardown = browser.close) => {
52
49
  onExit(teardown)
@@ -54,24 +51,33 @@ module.exports = (browser, teardown = browser.close) => {
54
51
  test('.html', async t => {
55
52
  const browserless = await browser.createContext()
56
53
  t.teardown(browserless.destroyContext)
57
- const html = await browserless.html(serverUrl, { adblock: false })
54
+ const url = await getUrl(t)
55
+ const html = await browserless.html(url, {
56
+ adblock: false
57
+ })
58
58
  t.snapshot(html)
59
59
  })
60
60
 
61
61
  test('.text', async t => {
62
62
  const browserless = await browser.createContext()
63
63
  t.teardown(browserless.destroyContext)
64
- const text = await browserless.text(serverUrl)
64
+ const url = await getUrl(t)
65
+ const text = await browserless.text(url)
65
66
 
66
67
  t.snapshot(text)
67
68
  })
68
69
 
69
70
  test('.screenshot (png)', async t => {
70
- const filepath = temp.file({ extension: 'png' })
71
+ const filepath = temp.file({
72
+ extension: 'png'
73
+ })
71
74
 
72
75
  const browserless = await browser.createContext()
73
76
  t.teardown(browserless.destroyContext)
74
- await browserless.screenshot(serverUrl, { path: filepath })
77
+ const url = await getUrl(t)
78
+ await browserless.screenshot(url, {
79
+ path: filepath
80
+ })
75
81
 
76
82
  const { diffCount } = await imageComparison(t, filepath, 'example.png')
77
83
 
@@ -82,11 +88,17 @@ module.exports = (browser, teardown = browser.close) => {
82
88
  })
83
89
 
84
90
  test('.screenshot (jpeg)', async t => {
85
- const filepath = temp.file({ extension: 'jpeg' })
91
+ const filepath = temp.file({
92
+ extension: 'jpeg'
93
+ })
86
94
 
87
95
  const browserless = await browser.createContext()
88
96
  t.teardown(browserless.destroyContext)
89
- await browserless.screenshot(serverUrl, { type: 'jpeg', path: filepath })
97
+ const url = await getUrl(t)
98
+ await browserless.screenshot(url, {
99
+ type: 'jpeg',
100
+ path: filepath
101
+ })
90
102
 
91
103
  const { diffCount } = await imageComparison(t, filepath, 'example.jpeg')
92
104
 
@@ -97,11 +109,17 @@ module.exports = (browser, teardown = browser.close) => {
97
109
  })
98
110
 
99
111
  test('.screenshot with device emulation', async t => {
100
- const filepath = temp.file({ extension: 'png' })
112
+ const filepath = temp.file({
113
+ extension: 'png'
114
+ })
101
115
 
102
116
  const browserless = await browser.createContext()
103
117
  t.teardown(browserless.destroyContext)
104
- await browserless.screenshot(serverUrl, { device: 'iPhone 6', path: filepath })
118
+ const url = await getUrl(t)
119
+ await browserless.screenshot(url, {
120
+ device: 'iPhone 6',
121
+ path: filepath
122
+ })
105
123
 
106
124
  const { diffCount } = await imageComparison(t, filepath, 'iphone.png')
107
125
 
@@ -114,7 +132,8 @@ module.exports = (browser, teardown = browser.close) => {
114
132
  test('.pdf', async t => {
115
133
  const browserless = await browser.createContext()
116
134
  t.teardown(browserless.destroyContext)
117
- const buffer = await browserless.pdf(serverUrl)
135
+ const url = await getUrl(t)
136
+ const buffer = await browserless.pdf(url)
118
137
 
119
138
  const data = await pdf(buffer)
120
139
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@browserless/test",
3
3
  "description": "A test suite for browserless API",
4
4
  "homepage": "https://browserless.js.org",
5
- "version": "10.2.3",
5
+ "version": "10.3.0",
6
6
  "main": "index.js",
7
7
  "author": {
8
8
  "email": "hello@microlink.io",
@@ -29,12 +29,13 @@
29
29
  "test"
30
30
  ],
31
31
  "devDependencies": {
32
- "ava": "latest",
32
+ "async-listen": "latest",
33
+ "ava": "5",
33
34
  "browserless": "latest",
34
35
  "fs-extra": "latest",
35
36
  "img-diff-js": "latest",
36
37
  "pdf-parse": "latest",
37
- "puppeteer": "~21.6.0",
38
+ "puppeteer": "latest",
38
39
  "signal-exit": "latest",
39
40
  "temperment": "latest"
40
41
  },
@@ -46,7 +47,7 @@
46
47
  "index.js"
47
48
  ],
48
49
  "license": "MIT",
49
- "gitHead": "8e5f4dbe536f5dfb99b60f714d709859ee2900e3",
50
+ "gitHead": "6de02ac566c97aa7f31a3faaca0a02668884cd9c",
50
51
  "scripts": {
51
52
  "coverage": "exit 0",
52
53
  "test": "exit 0"