in android-lang/testSrc/com/android/tools/idea/lang/androidSql/parser/AndroidSqlParserTest.kt [211:392]
fun testParameters() {
assertEquals(
"""
FILE
AndroidSqlSelectStatementImpl(SELECT_STATEMENT)
AndroidSqlSelectCoreImpl(SELECT_CORE)
AndroidSqlSelectCoreSelectImpl(SELECT_CORE_SELECT)
PsiElement(SELECT)('SELECT')
AndroidSqlResultColumnsImpl(RESULT_COLUMNS)
AndroidSqlResultColumnImpl(RESULT_COLUMN)
PsiElement(*)('*')
AndroidSqlFromClauseImpl(FROM_CLAUSE)
PsiElement(FROM)('FROM')
AndroidSqlTableOrSubqueryImpl(TABLE_OR_SUBQUERY)
AndroidSqlFromTableImpl(FROM_TABLE)
AndroidSqlDefinedTableNameImpl(DEFINED_TABLE_NAME)
PsiElement(IDENTIFIER)('user')
AndroidSqlWhereClauseImpl(WHERE_CLAUSE)
PsiElement(WHERE)('WHERE')
AndroidSqlEquivalenceExpressionImpl(EQUIVALENCE_EXPRESSION)
AndroidSqlColumnRefExpressionImpl(COLUMN_REF_EXPRESSION)
AndroidSqlColumnNameImpl(COLUMN_NAME)
PsiElement(IDENTIFIER)('id')
PsiElement(=)('=')
AndroidSqlLiteralExpressionImpl(LITERAL_EXPRESSION)
AndroidSqlBindParameterImpl(BIND_PARAMETER)
PsiElement(NUMBERED_PARAMETER)('?')
"""
.trimIndent(),
toParseTreeText("SELECT * FROM user WHERE id = ?"),
)
assertEquals(
"""
FILE
AndroidSqlSelectStatementImpl(SELECT_STATEMENT)
AndroidSqlSelectCoreImpl(SELECT_CORE)
AndroidSqlSelectCoreSelectImpl(SELECT_CORE_SELECT)
PsiElement(SELECT)('SELECT')
AndroidSqlResultColumnsImpl(RESULT_COLUMNS)
AndroidSqlResultColumnImpl(RESULT_COLUMN)
PsiElement(*)('*')
AndroidSqlFromClauseImpl(FROM_CLAUSE)
PsiElement(FROM)('FROM')
AndroidSqlTableOrSubqueryImpl(TABLE_OR_SUBQUERY)
AndroidSqlFromTableImpl(FROM_TABLE)
AndroidSqlDefinedTableNameImpl(DEFINED_TABLE_NAME)
PsiElement(IDENTIFIER)('user')
AndroidSqlWhereClauseImpl(WHERE_CLAUSE)
PsiElement(WHERE)('WHERE')
AndroidSqlEquivalenceExpressionImpl(EQUIVALENCE_EXPRESSION)
AndroidSqlColumnRefExpressionImpl(COLUMN_REF_EXPRESSION)
AndroidSqlColumnNameImpl(COLUMN_NAME)
PsiElement(IDENTIFIER)('id')
PsiElement(=)('=')
AndroidSqlLiteralExpressionImpl(LITERAL_EXPRESSION)
AndroidSqlBindParameterImpl(BIND_PARAMETER)
PsiElement(NUMBERED_PARAMETER)('?1')
"""
.trimIndent(),
toParseTreeText("SELECT * FROM user WHERE id = ?1"),
)
assertEquals(
"""
FILE
AndroidSqlSelectStatementImpl(SELECT_STATEMENT)
AndroidSqlSelectCoreImpl(SELECT_CORE)
AndroidSqlSelectCoreSelectImpl(SELECT_CORE_SELECT)
PsiElement(SELECT)('SELECT')
AndroidSqlResultColumnsImpl(RESULT_COLUMNS)
AndroidSqlResultColumnImpl(RESULT_COLUMN)
PsiElement(*)('*')
AndroidSqlFromClauseImpl(FROM_CLAUSE)
PsiElement(FROM)('FROM')
AndroidSqlTableOrSubqueryImpl(TABLE_OR_SUBQUERY)
AndroidSqlFromTableImpl(FROM_TABLE)
AndroidSqlDefinedTableNameImpl(DEFINED_TABLE_NAME)
PsiElement(IDENTIFIER)('user')
AndroidSqlWhereClauseImpl(WHERE_CLAUSE)
PsiElement(WHERE)('WHERE')
AndroidSqlEquivalenceExpressionImpl(EQUIVALENCE_EXPRESSION)
AndroidSqlColumnRefExpressionImpl(COLUMN_REF_EXPRESSION)
AndroidSqlColumnNameImpl(COLUMN_NAME)
PsiElement(IDENTIFIER)('id')
PsiElement(=)('=')
AndroidSqlLiteralExpressionImpl(LITERAL_EXPRESSION)
AndroidSqlBindParameterImpl(BIND_PARAMETER)
PsiElement(NAMED_PARAMETER)(':userId')
"""
.trimIndent(),
toParseTreeText("SELECT * FROM user WHERE id = :userId"),
)
assertEquals(
"""
FILE
AndroidSqlSelectStatementImpl(SELECT_STATEMENT)
AndroidSqlSelectCoreImpl(SELECT_CORE)
AndroidSqlSelectCoreSelectImpl(SELECT_CORE_SELECT)
PsiElement(SELECT)('SELECT')
AndroidSqlResultColumnsImpl(RESULT_COLUMNS)
AndroidSqlResultColumnImpl(RESULT_COLUMN)
PsiElement(*)('*')
AndroidSqlFromClauseImpl(FROM_CLAUSE)
PsiElement(FROM)('FROM')
AndroidSqlTableOrSubqueryImpl(TABLE_OR_SUBQUERY)
AndroidSqlFromTableImpl(FROM_TABLE)
AndroidSqlDefinedTableNameImpl(DEFINED_TABLE_NAME)
PsiElement(IDENTIFIER)('user')
AndroidSqlWhereClauseImpl(WHERE_CLAUSE)
PsiElement(WHERE)('WHERE')
AndroidSqlEquivalenceExpressionImpl(EQUIVALENCE_EXPRESSION)
AndroidSqlColumnRefExpressionImpl(COLUMN_REF_EXPRESSION)
AndroidSqlColumnNameImpl(COLUMN_NAME)
PsiElement(IDENTIFIER)('id')
PsiElement(=)('=')
AndroidSqlLiteralExpressionImpl(LITERAL_EXPRESSION)
AndroidSqlBindParameterImpl(BIND_PARAMETER)
PsiElement(NAMED_PARAMETER)('@userId')
"""
.trimIndent(),
toParseTreeText("SELECT * FROM user WHERE id = @userId"),
)
assertEquals(
"""
FILE
AndroidSqlSelectStatementImpl(SELECT_STATEMENT)
AndroidSqlSelectCoreImpl(SELECT_CORE)
AndroidSqlSelectCoreSelectImpl(SELECT_CORE_SELECT)
PsiElement(SELECT)('SELECT')
AndroidSqlResultColumnsImpl(RESULT_COLUMNS)
AndroidSqlResultColumnImpl(RESULT_COLUMN)
PsiElement(*)('*')
AndroidSqlFromClauseImpl(FROM_CLAUSE)
PsiElement(FROM)('FROM')
AndroidSqlTableOrSubqueryImpl(TABLE_OR_SUBQUERY)
AndroidSqlFromTableImpl(FROM_TABLE)
AndroidSqlDefinedTableNameImpl(DEFINED_TABLE_NAME)
PsiElement(IDENTIFIER)('user')
AndroidSqlWhereClauseImpl(WHERE_CLAUSE)
PsiElement(WHERE)('WHERE')
AndroidSqlEquivalenceExpressionImpl(EQUIVALENCE_EXPRESSION)
AndroidSqlColumnRefExpressionImpl(COLUMN_REF_EXPRESSION)
AndroidSqlColumnNameImpl(COLUMN_NAME)
PsiElement(IDENTIFIER)('id')
PsiElement(=)('=')
AndroidSqlLiteralExpressionImpl(LITERAL_EXPRESSION)
AndroidSqlBindParameterImpl(BIND_PARAMETER)
PsiElement(NAMED_PARAMETER)('${'$'}userId')
"""
.trimIndent(),
toParseTreeText("SELECT * FROM user WHERE id = \$userId"),
)
assertEquals(
"""
FILE
AndroidSqlSelectStatementImpl(SELECT_STATEMENT)
AndroidSqlSelectCoreImpl(SELECT_CORE)
AndroidSqlSelectCoreSelectImpl(SELECT_CORE_SELECT)
PsiElement(SELECT)('SELECT')
AndroidSqlResultColumnsImpl(RESULT_COLUMNS)
AndroidSqlResultColumnImpl(RESULT_COLUMN)
PsiElement(*)('*')
AndroidSqlFromClauseImpl(FROM_CLAUSE)
PsiElement(FROM)('FROM')
AndroidSqlTableOrSubqueryImpl(TABLE_OR_SUBQUERY)
AndroidSqlFromTableImpl(FROM_TABLE)
AndroidSqlDefinedTableNameImpl(DEFINED_TABLE_NAME)
PsiElement(IDENTIFIER)('user')
AndroidSqlWhereClauseImpl(WHERE_CLAUSE)
PsiElement(WHERE)('WHERE')
AndroidSqlEquivalenceExpressionImpl(EQUIVALENCE_EXPRESSION)
AndroidSqlColumnRefExpressionImpl(COLUMN_REF_EXPRESSION)
AndroidSqlColumnNameImpl(COLUMN_NAME)
PsiElement(IDENTIFIER)('id')
PsiElement(=)('=')
AndroidSqlLiteralExpressionImpl(LITERAL_EXPRESSION)
AndroidSqlBindParameterImpl(BIND_PARAMETER)
PsiElement(NAMED_PARAMETER)(':userId')
"""
.trimIndent(),
toParseTreeText("SELECT * FROM user WHERE id = :userId"),
)
}