From 67c313c86de625ce1bc356be3d56d9a8ecd0c3cb Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Fri, 14 Mar 2025 07:27:58 +0100 Subject: [PATCH] Tests SQLite: Add more --- tests/sqlite.html | 237 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 211 insertions(+), 26 deletions(-) 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 @@ - + @@ -24,32 +24,210 @@ - - - - - - +
SQLite
Login
open/adminer/sqlite.php
selectname=langlabel=English
typename=nameadminer_test.sqlite
clickcss=input[type="submit"]
verifyTextPresentDatabase has been created.
clicklink=Create table
typename=nameinterprets
clickcss=label.block > input[name="auto_increment_col"]
typename=fields[1.1][field]name
selectname=fields[1.1][type]label=text
click(//input[@value='Save'])[2]
+ + + + + + + + + + + + + + - - - +
Create table
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite
clickAndWaitlink=Create table
typenameinterprets
typefields[1][field]id
selectfields[1][type]label=integer
click//input[@name='auto_increment_col' and @value='1']
typefields[1.1][field]name
selectfields[1.1][type]label=text
typefields[1.1][length]50
clickAndWait//input[@value='Save']
verifyTextPresentTable has been created.
clicklink=New item
typename=fields[name]Michael Jackson
clickcss=input[type="submit"]
+ + + + + + + + + + + + + + +
Create index
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=interprets
clickAndWaitlink=Alter indexes
selectindexes[2][type]label=PRIMARY
selectindexes[2][columns][1]label=name
verifyValuename=indexes[2][name]interprets_name
clickAndWait//input[@value='Save']
verifyTextPresenthas more than one primary key
selectindexes[2][type]label=INDEX
clickAndWait//input[@value='Save']
verifyTextPresentIndexes have been altered.
+ + + + + + + + + + + + + + + + + +
Create table 2
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=interprets
clickAndWaitlink=Create table
typenamealbums
typefields[1][field]id
selectfields[1][type]label=integer
click//input[@name='auto_increment_col' and @value='1']
typefields[1.1][field]interpret
selectfields[1.1][type]label=integer
typefields[1.11][field]title
selectfields[1.11][type]label=text
typefields[1.11][length]50
clickAndWait//input[@value='Save']
verifyTextPresentTable has been created.
+ + + + + + + + + + +
Foreign key
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=albums
clickAndWaitlink=Add foreign key
selectAndWaittablelabel=interprets
selectsource[0]label=interpret
clickAndWait//input[@value='Save']
verifyTextPresentForeign key has been created.
+ + + + + + + + + + + + + + + +
Alter table
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=interprets
clickAndWaitlink=Alter table
clickadd[2]
typefields[2.1][field]albums
selectfields[2.1][type]label=integer
typefields[2.1][length]
uncheckname=defaults
clickAndWaitname=defaults
typename=fields[2.1][default]0
clickAndWait//input[@value='Save']
verifyTextPresentTable has been altered.
+ + + + + + + + + +
Create trigger
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&trigger=albums
selectTiminglabel=AFTER
runScriptdocument.querySelector('[name="Statement"]').value = 'BEGIN\nUPDATE interprets SET albums = albums + 1 WHERE id = NEW.interpret';\nEND
clickAndWait//input[@value='Save']
verifyTextPresentTrigger has been created.
+ + + + + + + + + + + + + + + + + + +
Check constraints
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&table=albums
clicklink=Create check
runScriptdocument.querySelector('[name="clause"]').value = 'interpret > 0'
click//input[@value='Save']
verifyTextPresentCheck has been created.
clickAndWaitlink=New item
typefields[interpret]0
click//input[@value='Save']
verifyTextPresentCHECK constraint failed
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&check=albums&name=interpret+%3E+0
verifyTextPresentinterpret > 0
chooseOkOnNextConfirmationDrop interpret > 0?
clickname=drop
verifyTextPresentCheck has been dropped.
+ + + + + + + + + +
Create view
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&view=
runScriptdocument.querySelector('[name="select"]').value = 'SELECT albums.id, albums.title, interprets.name FROM albums LEFT JOIN interprets ON albums.interpret = interprets.id'
typenamealbums_interprets
clickAndWait//input[@value='Save']
verifyTextPresentView has been created.
+ + + + + + + - - - - - - - - - - - - - - - + + + + + +
Insert
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&edit=interprets
typefields[name]Michael Jackson
clickAndWait//input[@value='Save']
verifyTextPresentItem 1 has been inserted.
clicklink=Create table
typename=namealbums
clickcss=label.block > input[name="auto_increment_col"]
typename=fields[1.1][field]interpret
selectname=fields[1.1][on_delete]label=CASCADE
typename=fields[1.11][field]title
selectname=fields[1.11][type]label=text
click(//input[@value='Save'])[2]
verifyTextPresentinterprets(id)
clicklink=New item
typename=fields[interpret]1
typename=fields[title]Dangerous
clickcss=input[type="submit"]
clicklink=1
verifyTextPresentSelect: interprets
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&edit=albums
typefields[interpret]1
typefields[title]Dangerous
clickAndWait//input[@value='Save']
verifyTextPresentItem 1 has been inserted.
+ + + + + + + + + + +
Clone
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums
clickcheck[]
clickAndWaitclone
typefields[title]Black and White
clickAndWait//input[@value='Save']
verifyTextPresentItem 2 has been inserted.
+ + + + + + + + + +
Explain
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums
clickAndWaitlink=Edit
clickAndWait//input[@value='Execute']
clicklink=Explain
verifyTextPresentSCAN albums
+ + + + + + + +
Reference
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums
clickAndWaitlink=1
verifyTextPresentMichael Jackson
+ + + + + + + + +
Update
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&edit=albums&where%5Bid%5D=2
typefields[title]Black or White
clickAndWait//input[@value='Save']
verifyTextPresentItem 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']
chooseOkOnNextConfirmationAre you sure?
clickdelete
verifyTextPresent1 item has been affected.
+ + + + + + + + + + +
Truncate
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&select=albums
clickall
waitForCheckedall
chooseOkOnNextConfirmationAre you sure?
clickdelete
verifyTextPresentNo rows.
+ + + + + + + + + + + + + +
Export
open/adminer/sqlite.php?sqlite=&username=ODBC&db=adminer_test.sqlite&dump=
clickoutput
clickformat
selecttable_stylelabel=DROP+CREATE
selectdata_stylelabel=INSERT
clickAndWait//input[@value='Export']
verifyTextPresentCREATE TABLE "interprets"
verifyTextPresentCREATE TRIGGER "albums_ai"
verifyTextPresentINSERT INTO "interprets"
verifyTextPresentVIEW "albums_interprets"
@@ -64,7 +242,7 @@ - + @@ -74,6 +252,13 @@
clickAndWait//input[@value='Save']
verifyTextPresentnormal + 200
clicklink=Alter indexes
selectname=indexes[2][columns][1]label=stored
selectname=indexes[1][columns][1]label=stored
clickAndWait//input[@value='Save']
verifyTextPresentIndexes have been altered.
clicklink=New item
verifyTextPresent220
+ + + + + +
Variables
open/adminer/sqlite.php?sqlite=&username=ODBC&variables=
verifyTextPresentintegrity_check
+
Drop