1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * you may not use this file except in compliance with the License. 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * You may obtain a copy of the License at 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 8adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 10adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.support; 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport SQLite.Function; 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport SQLite.FunctionContext; 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic class MockFunction implements SQLite.Function{ 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project private StringBuffer acc = new StringBuffer(); 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static boolean getAggValueCalled = false; 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static boolean functionCalled = false; 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static boolean stepCalled = false; 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static boolean lastStepCalled = false; 29f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getAggValue() { 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project getAggValueCalled = true; 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project return acc.toString(); 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 34f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void function(FunctionContext fc, String args[]) { 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project functionCalled = true; 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project if (args.length > 0) { 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fc.set_result(args[0].toLowerCase()); 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void step(FunctionContext fc, String args[]) { 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project stepCalled = true; 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project for (int i = 0; i < args.length; i++) { 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project acc.append(args[i]); 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project acc.append(" "); 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void last_step(FunctionContext fc) { 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project lastStepCalled = true; 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project fc.set_result(acc.toString()); 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project } 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}