aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/blueimp/jquery-file-upload/wdio
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/blueimp/jquery-file-upload/wdio')
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/bin/forward-ports.sh85
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh43
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/conf/edge.js23
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/conf/internet-explorer.js24
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/conf/safari.js24
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/hooks/index.js12
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js45
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js14
8 files changed, 44 insertions, 226 deletions
diff --git a/vendor/blueimp/jquery-file-upload/wdio/bin/forward-ports.sh b/vendor/blueimp/jquery-file-upload/wdio/bin/forward-ports.sh
deleted file mode 100644
index 20bd43282..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/bin/forward-ports.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/sh
-
-#
-# Adds TCP/UDP port forwarding rules to the pf firewall (MacOS/BSD).
-#
-# Adds rules for both TCP and UDP in addition to those from /etc/pf.conf.
-# Requires an existing rdr-anchor entry in /etc/pf.conf.
-# Only adds rules temporarily, without changing any files.
-#
-# Usage: ./forward-ports.sh [[nic:]port=[ip:]port [...]]
-#
-# If no network interface is given, forwards from all interfaces.
-# If no IP is given, forwards to 127.0.0.1.
-# If no port forwarding rule is given, resets to the rules from /etc/pf.conf.
-#
-# e.g. forwarding ports 80 and 443 on network interface en0 to ports 8080 and
-# 8443 on localhost respectively:
-# ./forward-ports.sh en0:80=8080 en0:443=8443
-#
-# Copyright 2019, Sebastian Tschan
-# https://blueimp.net
-#
-# Licensed under the MIT license:
-# https://opensource.org/licenses/MIT
-#
-
-set -e
-
-RULES=
-NEWLINE='
-'
-
-print_usage_exit() {
- if [ -n "$RULES" ]; then
- printf '\nError in custom rules:\n%s\n' "$RULES" >&2
- fi
- echo "Usage: $0 [[nic:]port=[ip:]port [...]]" >&2
- exit 1
-}
-
-print_nat_rules() {
- echo
- echo 'Loaded NAT rules:'
- sudo pfctl -s nat 2>/dev/null
- echo
-}
-
-# Print usage and exit if option arguments like "-h" are used:
-if [ "${1#-}" != "$1" ]; then print_usage_exit; fi
-
-while test $# -gt 0; do
- # Separate the from=to parts:
- from=${1%=*}
- to=${1#*=}
- # If from part has a nic defined, extract it, else forward from all:
- case "$from" in
- *:*) nic="on ${from%:*}";;
- *) nic=;;
- esac
- # Extract the port to forward from:
- from_port=${from##*:}
- # If to part has an IP defined, extract it, else forward to 127.0.0.1:
- case "$to" in
- *:*) to_ip=${to%:*};;
- *) to_ip=127.0.0.1;;
- esac
- # Extract the port to forward to:
- to_port=${to##*:}
- # Create the packet filter (pf) forwarding rule for both TCP and UDP:
- rule=$(
- printf \
- 'rdr pass %s inet proto %s from any to any port %s -> %s port %s' \
- "$nic" '{tcp udp}' "$from_port" "$to_ip" "$to_port"
- )
- # Add it to the list of rules:
- RULES="$RULES$rule$NEWLINE"
- shift
-done
-
-# Add the rules after the line matching "rdr-anchor" in /etc/pf.conf, print the
-# combined rules to STDOUT and load the rules into pf from STDIN.
-# Finally, display the loaded NAT rules or print the script usage on failure:
-# shellcheck disable=SC2015
-printf %s "$RULES" | sed -e '/rdr-anchor/r /dev/stdin' /etc/pf.conf |
-sudo pfctl -Ef - 2>/dev/null && print_nat_rules || print_usage_exit
diff --git a/vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh b/vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh
deleted file mode 100644
index d6bee1da7..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-
-if [ "$1" = -t ]; then
- BIN='/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver'
- shift
-else
- BIN=safaridriver
-fi
-
-SCREEN='Capture screen'
-
-if [ -z "$1" ]; then
- OUTPUT=$(ffmpeg -f avfoundation -list_devices true -i - 2>&1 | grep "$SCREEN")
- if [ "$(echo "$OUTPUT" | grep -c ^)" -gt 1 ]; then
- echo 'Please select the input device by entering its [index] number:' >&2
- echo "$OUTPUT" >&2
- read -r INDEX
- fi
-else
- INDEX=$1
-fi
-
-echo 'Starting safaridriver on 127.0.0.1:4444 ...' >&2
-"$BIN" -p 4444 & pid=$!
-
-# shellcheck disable=SC2064
-trap "kill $pid; exit" INT TERM
-
-echo 'Starting mjpeg-server on 127.0.0.1:9000 ...' >&2
-mjpeg-server -a 127.0.0.1:9000 -- ffmpeg \
- -loglevel error \
- -probesize 32 \
- -fpsprobesize 0 \
- -analyzeduration 0 \
- -fflags nobuffer \
- -f avfoundation \
- -capture_cursor 1 \
- -r "${FPS:-15}" \
- -pixel_format yuyv422 \
- -i "${INDEX:-$SCREEN}" \
- -f mpjpeg \
- -q "${QUALITY:-2}" \
- -
diff --git a/vendor/blueimp/jquery-file-upload/wdio/conf/edge.js b/vendor/blueimp/jquery-file-upload/wdio/conf/edge.js
deleted file mode 100644
index 887294460..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/conf/edge.js
+++ /dev/null
@@ -1,23 +0,0 @@
-'use strict'
-
-/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
-const config = {
- hostname: process.env.WINDOWS_HOST || 'host.docker.internal',
- capabilities: [
- {
- // Set maxInstances to 1 if screen recordings are enabled:
- // maxInstances: 1,
- browserName: 'MicrosoftEdge'
- }
- ],
- videos: {
- enabled: false,
- inputFormat: 'mjpeg',
- startDelay: 500,
- stopDelay: 500
- },
- assetsDir: process.env.WINDOWS_ASSETS_DIR || process.env.MACOS_ASSETS_DIR
-}
-
-exports.config = Object.assign({}, require('./chrome').config, config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/conf/internet-explorer.js b/vendor/blueimp/jquery-file-upload/wdio/conf/internet-explorer.js
deleted file mode 100644
index 223a50190..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/conf/internet-explorer.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict'
-
-/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
-const config = {
- hostname: process.env.WINDOWS_HOST || 'host.docker.internal',
- port: 4445,
- capabilities: [
- {
- // IEDriverServer supports no parallel sessions:
- maxInstances: 1,
- browserName: 'internet explorer'
- }
- ],
- videos: {
- enabled: true,
- inputFormat: 'mjpeg',
- startDelay: 500,
- stopDelay: 500
- },
- assetsDir: process.env.WINDOWS_ASSETS_DIR
-}
-
-exports.config = Object.assign({}, require('./chrome').config, config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/conf/safari.js b/vendor/blueimp/jquery-file-upload/wdio/conf/safari.js
deleted file mode 100644
index d252d0d5d..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/conf/safari.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict'
-
-/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
-const config = {
- // Docker for Mac host address:
- hostname: 'host.docker.internal',
- capabilities: [
- {
- // safaridriver supports no parallel sessions:
- maxInstances: 1,
- browserName: 'safari'
- }
- ],
- videos: {
- enabled: true,
- inputFormat: 'mjpeg',
- startDelay: 500,
- stopDelay: 500
- },
- assetsDir: process.env.MACOS_ASSETS_DIR
-}
-
-exports.config = Object.assign({}, require('./chrome').config, config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js b/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js
index f369f5614..918502c3a 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js
@@ -5,11 +5,21 @@
const cmds = require('wdio-screen-commands')
/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.HookFunctions */
+/** @type WebdriverIO.HookFunctionExtension */
const config = {
before: async () => {
+ // Add browser commands:
browser.addCommand('saveScreenshotByName', cmds.saveScreenshotByName)
browser.addCommand('saveAndDiffScreenshot', cmds.saveAndDiffScreenshot)
+ // Add element commands:
+ browser.addCommand('saveScreenshotByName', cmds.saveScreenshotByName, true)
+ browser.addCommand(
+ 'saveAndDiffScreenshot',
+ cmds.saveAndDiffScreenshot,
+ true
+ )
+ if (browser.config.appium)
+ await browser.updateSettings(browser.config.appium)
if (browser.config.maximizeWindow) await browser.maximizeWindow()
},
beforeTest: async test => {
diff --git a/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js b/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js
index eccb6feb4..32ba5c39a 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js
@@ -32,42 +32,47 @@ class FileUpload {
* Opens the file upload form.
*
* @param {number} [timeout] Wait timeout
- * @returns {FileUpload} FileUpload object
*/
- open(timeout) {
- browser.url('/')
- this.fileinput.waitForExist({ timeout })
- return this
+ async open(timeout) {
+ await browser.url('/')
+ await this.fileinput.waitForExist({ timeout })
}
/**
* Uploads files.
*
* @param {Array<string>} files Files to upload
* @param {number} [timeout] Wait timeout
- * @returns {FileUpload} FileUpload object
*/
- upload(files, timeout) {
- this.fileinput.addValue(files.join('\n'))
- browser.waitUntil(() => !this.processing.length, { timeout })
- this.start.click()
- browser.waitUntil(() => !!this.downloads.length, { timeout })
- browser.waitUntil(() => !this.uploads.length, { timeout })
- return this
+ async upload(files, timeout) {
+ await this.fileinput.addValue(files.join('\n'))
+ await browser.waitUntil(async () => !(await this.processing.length), {
+ timeout
+ })
+ await this.start.click()
+ await browser.waitUntil(async () => !!(await this.downloads.length), {
+ timeout
+ })
+ await browser.waitUntil(async () => !(await this.uploads.length), {
+ timeout
+ })
}
/**
* Deletes uploaded files.
*
* @param {number} [timeout] Wait timeout
- * @returns {FileUpload} FileUpload object
*/
- delete(timeout) {
- this.toggle.click()
- browser.waitUntil(() => this.downloads.length === this.checked.length, {
+ async delete(timeout) {
+ await this.toggle.click()
+ await browser.waitUntil(
+ async () => (await this.downloads.length) === (await this.checked.length),
+ {
+ timeout
+ }
+ )
+ await this.remove.click()
+ await browser.waitUntil(async () => !(await this.downloads.length), {
timeout
})
- this.remove.click()
- browser.waitUntil(() => !this.downloads.length, { timeout })
- return this
}
}
diff --git a/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js b/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js
index 95e77e7d8..0cc2782e9 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js
@@ -8,16 +8,18 @@ const assetsDir = browser.config.assetsDir
describe('File Upload', () => {
if (!assetsDir) return
- it('uploads files', () => {
- FileUpload.open().upload([
+ it('uploads files', async () => {
+ await FileUpload.open()
+ await FileUpload.upload([
assetsDir + 'black+white-60x40.gif',
assetsDir + 'black+white-3x2.jpg'
])
- browser.saveAndDiffScreenshot('Files uploaded')
+ await browser.saveAndDiffScreenshot('Files uploaded')
})
- it('deletes files', () => {
- FileUpload.open().delete()
- browser.saveAndDiffScreenshot('Files deleted')
+ it('deletes files', async () => {
+ await FileUpload.open()
+ await FileUpload.delete()
+ await browser.saveAndDiffScreenshot('Files deleted')
})
})