diff --git a/tests/sqlite.html b/tests/sqlite.html
index f225000b..2939d306 100644
--- a/tests/sqlite.html
+++ b/tests/sqlite.html
@@ -8,7 +8,7 @@
-SQLite |
+Login |
open | /adminer/sqlite.php | |
select | name=lang | label=English |
@@ -24,32 +24,210 @@
type | name=name | adminer_test.sqlite |
click | css=input[type="submit"] | |
verifyTextPresent | Database has been created. | |
-click | link=Create table | |
-type | name=name | interprets |
-click | css=label.block > input[name="auto_increment_col"] | |
-type | name=fields[1.1][field] | name |
-select | name=fields[1.1][type] | label=text |
-click | (//input[@value='Save'])[2] | |
+
+
+
+Create table |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite | |
+clickAndWait | link=Create table | |
+type | name | interprets |
+type | fields[1][field] | id |
+select | fields[1][type] | label=integer |
+click | //input[@name='auto_increment_col' and @value='1'] | |
+type | fields[1.1][field] | name |
+select | fields[1.1][type] | label=text |
+type | fields[1.1][length] | 50 |
+clickAndWait | //input[@value='Save'] | |
verifyTextPresent | Table has been created. | |
-click | link=New item | |
-type | name=fields[name] | Michael Jackson |
-click | css=input[type="submit"] | |
+
+
+
+Create index |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=interprets | |
+clickAndWait | link=Alter indexes | |
+select | indexes[2][type] | label=PRIMARY |
+select | indexes[2][columns][1] | label=name |
+verifyValue | name=indexes[2][name] | interprets_name |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | has more than one primary key | |
+select | indexes[2][type] | label=INDEX |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Indexes have been altered. | |
+
+
+
+Create table 2 |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=interprets | |
+clickAndWait | link=Create table | |
+type | name | albums |
+type | fields[1][field] | id |
+select | fields[1][type] | label=integer |
+click | //input[@name='auto_increment_col' and @value='1'] | |
+type | fields[1.1][field] | interpret |
+select | fields[1.1][type] | label=integer |
+type | fields[1.11][field] | title |
+select | fields[1.11][type] | label=text |
+type | fields[1.11][length] | 50 |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Table has been created. | |
+
+
+
+Foreign key |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=albums | |
+clickAndWait | link=Add foreign key | |
+selectAndWait | table | label=interprets |
+select | source[0] | label=interpret |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Foreign key has been created. | |
+
+
+
+Alter table |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=interprets | |
+clickAndWait | link=Alter table | |
+click | add[2] | |
+type | fields[2.1][field] | albums |
+select | fields[2.1][type] | label=integer |
+type | fields[2.1][length] | |
+uncheck | name=defaults | |
+clickAndWait | name=defaults | |
+type | name=fields[2.1][default] | 0 |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Table has been altered. | |
+
+
+
+Create trigger |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&trigger=albums | |
+select | Timing | label=AFTER |
+runScript | document.querySelector('[name="Statement"]').value = 'BEGIN\nUPDATE interprets SET albums = albums + 1 WHERE id = NEW.interpret';\nEND | |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Trigger has been created. | |
+
+
+
+Check constraints |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=albums | |
+click | link=Create check | |
+runScript | document.querySelector('[name="clause"]').value = 'interpret > 0' | |
+click | //input[@value='Save'] | |
+verifyTextPresent | Check has been created. | |
+clickAndWait | link=New item | |
+type | fields[interpret] | 0 |
+click | //input[@value='Save'] | |
+verifyTextPresent | CHECK constraint failed | |
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&check=albums&name=interpret+%3E+0 | |
+verifyTextPresent | interpret > 0 | |
+chooseOkOnNextConfirmation | Drop interpret > 0? | |
+click | name=drop | |
+verifyTextPresent | Check has been dropped. | |
+
+
+
+Create view |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&view= | |
+runScript | document.querySelector('[name="select"]').value = 'SELECT albums.id, albums.title, interprets.name FROM albums LEFT JOIN interprets ON albums.interpret = interprets.id' | |
+type | name | albums_interprets |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | View has been created. | |
+
+
+
+Insert |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&edit=interprets | |
+type | fields[name] | Michael Jackson |
+clickAndWait | //input[@value='Save'] | |
verifyTextPresent | Item 1 has been inserted. | |
-click | link=Create table | |
-type | name=name | albums |
-click | css=label.block > input[name="auto_increment_col"] | |
-type | name=fields[1.1][field] | interpret |
-select | name=fields[1.1][on_delete] | label=CASCADE |
-type | name=fields[1.11][field] | title |
-select | name=fields[1.11][type] | label=text |
-click | (//input[@value='Save'])[2] | |
-verifyTextPresent | interprets(id) | |
-click | link=New item | |
-type | name=fields[interpret] | 1 |
-type | name=fields[title] | Dangerous |
-click | css=input[type="submit"] | |
-click | link=1 | |
-verifyTextPresent | Select: interprets | |
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&edit=albums | |
+type | fields[interpret] | 1 |
+type | fields[title] | Dangerous |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Item 1 has been inserted. | |
+
+
+
+Clone |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums | |
+click | check[] | |
+clickAndWait | clone | |
+type | fields[title] | Black and White |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Item 2 has been inserted. | |
+
+
+
+Explain |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums | |
+clickAndWait | link=Edit | |
+clickAndWait | //input[@value='Execute'] | |
+click | link=Explain | |
+verifyTextPresent | SCAN albums | |
+
+
+
+Reference |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums | |
+clickAndWait | link=1 | |
+verifyTextPresent | Michael Jackson | |
+
+
+
+Update |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&edit=albums&where%5Bid%5D=2 | |
+type | fields[title] | Black or White |
+clickAndWait | //input[@value='Save'] | |
+verifyTextPresent | Item has been updated. | |
+
+
+
+Delete |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums | |
+click | //input[@name='check[]' and @value='where%5Bid%5D=2'] | |
+waitForChecked | //input[@name='check[]' and @value='where%5Bid%5D=2'] | |
+chooseOkOnNextConfirmation | Are you sure? | |
+click | delete | |
+verifyTextPresent | 1 item has been affected. | |
+
+
+
+Truncate |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums | |
+click | all | |
+waitForChecked | all | |
+chooseOkOnNextConfirmation | Are you sure? | |
+click | delete | |
+verifyTextPresent | No rows. | |
+
+
+
+Export |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&dump= | |
+click | output | |
+click | format | |
+select | table_style | label=DROP+CREATE |
+select | data_style | label=INSERT |
+clickAndWait | //input[@value='Export'] | |
+verifyTextPresent | CREATE TABLE "interprets" | |
+verifyTextPresent | CREATE TRIGGER "albums_ai" | |
+verifyTextPresent | INSERT INTO "interprets" | |
+verifyTextPresent | VIEW "albums_interprets" | |
@@ -64,7 +242,7 @@
clickAndWait | //input[@value='Save'] | |
verifyTextPresent | normal + 200 | |
click | link=Alter indexes | |
-select | name=indexes[2][columns][1] | label=stored |
+select | name=indexes[1][columns][1] | label=stored |
clickAndWait | //input[@value='Save'] | |
verifyTextPresent | Indexes have been altered. | |
click | link=New item | |
@@ -74,6 +252,13 @@
verifyTextPresent | 220 | |
+
+Variables |
+
+open | /adminer/sqlite.php?sqlite=&username=ODBC&variables= | |
+verifyTextPresent | integrity_check | |
+
+