]> git.joonet.de Git - adminer.git/commitdiff
Tests: Fix MySQL PDO
authorJakub Vrana <jakub@vrana.cz>
Mon, 31 Mar 2025 09:23:19 +0000 (11:23 +0200)
committerJakub Vrana <jakub@vrana.cz>
Mon, 31 Mar 2025 09:23:43 +0000 (11:23 +0200)
tests/generate-pdo.php

index 407411422cd20a124e5c2e39258f386c5fe5a468..3a4c6bd7f49bfeb02a0f7dba1437177b3af5e572 100755 (executable)
@@ -12,7 +12,9 @@ foreach (glob("*.html") as $filename) {
                }, $file);
                $file = str_replace("<tr><td>open</td><td>/coverage.php?coverage=0</td><td></td></tr>\n", "", $file);
                $file = str_replace("<tr><td>click</td><td>link=Explain</td><td></td></tr>\n<tr><td>verifyTextPresent</td><td>Clustered Index Scan</td><td></td></tr>\n", "", $file); // MS SQL PDO doesn't support EXPLAIN
-               $file = preg_replace("~//input\[@value='Login']~", "\\0</td><td></td></tr>\n<tr><td>verifyTextPresent</td><td>PDO_", $file, 1);
+               preg_match_all("~//input\[@value='Login']~", $file, $matches, PREG_OFFSET_CAPTURE);
+               list($val, $offset) = $matches[0][count($matches[0]) > 1 ? 1 : 0]; // MySQL log-ins three times, we check the second one
+               $file = substr_replace($file, "</td><td></td></tr>\n<tr><td>verifyTextPresent</td><td>PDO_", $offset + strlen($val), 0);
                file_put_contents("pdo-$filename", $file);
        }
 }