mirror of
https://github.com/Llewellynvdm/nativefier.git
synced 2024-12-23 10:38:55 +00:00
62 lines
1.8 KiB
Plaintext
62 lines
1.8 KiB
Plaintext
|
#!/usr/bin/env bash
|
||
|
# Manual test to validate some hard-to-programmatically-test features work.
|
||
|
|
||
|
set -eo pipefail
|
||
|
|
||
|
missingDeps=false
|
||
|
if ! command -v mktemp > /dev/null; then echo "Missing mktemp"; missingDeps=true; fi
|
||
|
if ! command -v uname > /dev/null; then echo "Missing uname"; missingDeps=true; fi
|
||
|
if ! command -v node > /dev/null; then echo "Missing node"; missingDeps=true; fi
|
||
|
if [ "$missingDeps" = true ]; then exit 1; fi
|
||
|
|
||
|
|
||
|
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||
|
nativefier_dir="$script_dir/.."
|
||
|
pushd "$nativefier_dir"
|
||
|
|
||
|
printf "\n***** Creating test dirs & resources *****\n"
|
||
|
tmp_dir=$(mktemp -d -t nativefier-manual-test-XXXXX)
|
||
|
resources_dir="$tmp_dir/resources"
|
||
|
mkdir "$resources_dir"
|
||
|
injected_css="$resources_dir/inject.css"
|
||
|
injected_js="$resources_dir/inject.js"
|
||
|
echo '* { background-color: blue; }' > "$injected_css"
|
||
|
echo 'alert("hello world from inject");' > "$injected_js"
|
||
|
|
||
|
printf "\n***** Building test app *****\n"
|
||
|
node ./lib/cli.js 'https://npmjs.com/' \
|
||
|
--inject "$injected_css" \
|
||
|
--inject "$injected_js" \
|
||
|
--name "app" \
|
||
|
"$tmp_dir"
|
||
|
|
||
|
printf "\n***** Test checklist *****
|
||
|
- Injected js: should show an alert saying hello
|
||
|
- Injected css: should make npmjs all blue
|
||
|
- Internal links open internally
|
||
|
- External links open in browser
|
||
|
- Keyboard shortcuts: {back, forward, zoom in/out/zero} work
|
||
|
- Console: no Electron runtime deprecation warnings/error logged
|
||
|
"
|
||
|
|
||
|
printf "\n***** Running app *****\n"
|
||
|
if [ "$(uname -s)" = "Darwin" ]; then
|
||
|
open -a 'app-darwin-x64/app.app'
|
||
|
else
|
||
|
"$tmp_dir/app-linux-x64/app"
|
||
|
fi
|
||
|
|
||
|
printf "\nDid everything work as expected? [yN] "
|
||
|
read -r response
|
||
|
if [ "$response" != 'y' ]; then
|
||
|
echo "Back to fixing"
|
||
|
exit 1
|
||
|
else
|
||
|
echo "Yayyyyyyyyyyy"
|
||
|
fi
|
||
|
|
||
|
if [ -n "$tmp_dir" ]; then
|
||
|
printf "\n***** Deleting test dir %s *****\n" "$tmp_dir"
|
||
|
rm -rf "$tmp_dir"
|
||
|
fi
|