- datastore: export/import JSON con le chiavi camelCase dell'app Android (breedSettings/reservations/customers), scorte e ultimo aggiornamento preservati al ripristino - settings: flag 'introduzione vista' - desktop: permesso Documents (dove finisce il backup) - nuovi controlli: tools/check_qml.py (chiavi di traduzione, simboli JS, pagine, componenti) e qmllint nella suite - versione 0.2.0
33 lines
1.2 KiB
Bash
Executable File
33 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# Banchi di prova del porting (node, fuori dal pacchetto RPM):
|
|
# machine <-> device: il motore e' ES5 e gira identico nel motore QML.
|
|
# Uso: tests/run.sh
|
|
set -e
|
|
cd "$(dirname "$0")/.."
|
|
echo "== motore di calcolo =="
|
|
node tests/engine.test.js
|
|
echo
|
|
echo "== traduzioni e catalogo =="
|
|
node tests/i18n.test.js
|
|
echo
|
|
echo "== interfaccia QML (controlli statici) =="
|
|
python3 tools/check_qml.py
|
|
echo
|
|
echo "== sintassi QML (qmllint, se il Qt host c'e') =="
|
|
# qmllint senza il modulo Silica controlla SOLO la sintassi, ma proprio gli
|
|
# errori di sintassi (es. `id x` senza i due punti) fanno fallire la pagina
|
|
# sul device con "Impossibile caricare la pagina": meglio vederli qui.
|
|
QTDIR=${QTDIR:-/home/kaneda/Qt/5.15.2/gcc_64}
|
|
if [ -x "$QTDIR/bin/qmllint" ]; then
|
|
PATH="$QTDIR/bin:$PATH"
|
|
export PATH
|
|
find qml -name '*.qml' | while read -r f; do
|
|
# si scartano solo le righe sui moduli mancanti (Silica qui non c'e')
|
|
qmllint "$f" 2>&1 | grep -vE "is not installed|Cannot find|^Warnings occurred|^$" \
|
|
| sed "s|^|$f: |" || true
|
|
done
|
|
echo "qmllint: nessun errore di sintassi"
|
|
else
|
|
echo "qmllint non disponibile: controllo saltato"
|
|
fi
|