]> git.joonet.de Git - adminer.git/commitdiff
Tests: Run also in PDO
authorJakub Vrana <jakub@vrana.cz>
Sat, 22 Mar 2025 06:22:06 +0000 (07:22 +0100)
committerJakub Vrana <jakub@vrana.cz>
Sat, 22 Mar 2025 07:47:03 +0000 (08:47 +0100)
.gitignore
tests/generate-pdo.php [new file with mode: 0755]
tests/pgsql.html
tests/sqlite.html

index 131e7cf17ce2a001873dc3f81e2a050d6c9f0611..9eb1a893d5b4599b4055827b849ac3a46bd0acc3 100644 (file)
@@ -4,6 +4,7 @@
 /editor/adminer-dark.css
 /adminer*.php
 /editor*.php
+/tests/pdo-*.html
 /vendor/
 adminer-plugins/
 adminer-plugins.php
diff --git a/tests/generate-pdo.php b/tests/generate-pdo.php
new file mode 100755 (executable)
index 0000000..24fdaa6
--- /dev/null
@@ -0,0 +1,16 @@
+#!/usr/bin/env php
+<?php
+// Katalon Recorder has global variables: https://docs.katalon.com/katalon-platform/plugins-and-add-ons/katalon-recorder-extension/get-your-job-done/automate-scenarios/global-variables-in-katalon-recorder
+// It's possible to use them in URL in Katalon Studio but apparently not in Recorder: https://forum.katalon.com/t/45673/2
+
+foreach (glob("*.html") as $filename) {
+       if (!preg_match('~^pdo-~', $filename)) {
+               $file = file_get_contents($filename);
+               $file = preg_replace_callback('~/(adminer(/sqlite)?|editor/example)\.php(\??)~', function ($match) {
+                       return "/$match[1].php?ext=pdo" . ($match[3] ? "&amp;" : "");
+               }, $file);
+               $file = str_replace("<tr><td>open</td><td>/coverage.php?coverage=0</td><td></td></tr>\n", "", $file);
+               $file = preg_replace("~//input\[@value='Login']~", "\\0</td><td></td></tr>\n<tr><td>verifyTextPresent</td><td>PDO_", $file, 1);
+               file_put_contents("pdo-$filename", $file);
+       }
+}
index dcb3d4082d5c13efece9c54bdd97837241ae0033..cec4f9d2a1f990d744df2eae0b0c01c19491bd8d 100644 (file)
@@ -16,7 +16,6 @@
 <tr><td>select</td><td>name=auth[driver]</td><td>label=PostgreSQL</td></tr>
 <tr><td>type</td><td>id=username</td><td>ODBC</td></tr>
 <tr><td>type</td><td>name=auth[password]</td><td>ODBC</td></tr>
-<tr><td>type</td><td>name=auth[db]</td><td>adminer_test</td></tr>
 <tr><td>clickAndWait</td><td>//input[@value='Login']</td><td></td></tr>
 </tbody></table>
 
index 8fbacf0832deb8a9642dd7beed50e4fff6e451a3..eda367529cee2f4f27b543a9d784e69d6bee4a48 100644 (file)
@@ -16,7 +16,7 @@
 <tr><td>select</td><td>name=auth[driver]</td><td>label=SQLite</td></tr>
 <tr><td>type</td><td>id=username</td><td>ODBC</td></tr>
 <tr><td>type</td><td>name=auth[password]</td><td>YOUR_PASSWORD_HERE</td></tr>
-<tr><td>click</td><td>css=input[type="submit"]</td><td></td></tr>
+<tr><td>click</td><td>//input[@value='Login']</td><td></td></tr>
 <tr><td>click</td><td>link=Create database</td><td></td></tr>
 <tr><td>type</td><td>name=name</td><td>adminer_test</td></tr>
 <tr><td>click</td><td>css=input[type="submit"]</td><td></td></tr>