diff options
Diffstat (limited to 'vendor/blueimp/jquery-file-upload/wdio')
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') }) }) |