--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/tsrc/fute/lcdui/Midp_TextBox_01/src/ScreenTextBoxTests.java Thu May 27 12:49:31 2010 +0300
@@ -0,0 +1,361 @@
+/*
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+/**
+ * import midp classes.
+ */
+import javax.microedition.midlet.*;
+import javax.microedition.lcdui.*;
+
+/**
+ * This class is to test the below TextBox test cases:
+ * 1.Layout
+ * 2.TextBox constraints and T9 support
+ *
+ */
+
+public class ScreenTextBoxTests extends Form implements CommandListener
+{
+
+ //parent MIDlet
+ private static Midp_TextBox_01 parent = null;
+
+ //the instance of this class
+ private static ScreenTextBoxTests instance = null;
+
+ //TextBox1 for testing test1
+ private TextBox tb1 = null;
+
+ //TextBox2 for testing test2
+ private TextBox tb2 = null;
+
+ //TextBox3 for testing test3
+ private TextBox tb3 = null;
+
+ //Form for testing test3 which contains textFields title and maxSize
+ private Form formTest3 = null;
+
+ //TextField to set TextBox title for test3
+ private TextField titleT = null;
+
+ //TextField to set TextBox maxSize for test3
+ private TextField maxSizeT = null;
+
+ //List which contains TextField constraints name as elements to test Test2
+ private List listConstraints = null;
+
+ //elements in the listConstraints
+ private final String listElements[] =
+ {
+ "ANY", "URL", "PHONENUMBER", "NUMERIC",
+ "EMAILADDR", "PASSWORD", "PWD|EMAILADDR",
+ "PWD|NUMERIC", "PWD|PNO", "PWD|URL",
+ "DECIMAL", "INITAL_CAPS_SENTENCE",
+ "INITIAL_CAPS_WORD", "UNEDITABLE", "NON_PREDICTIVE",
+ "SENSITIVE",
+ "DECIMAL|PWD", "NUMERIC|UNEDITABLE",
+ "DECIMAL|UNEDITABLE", "URL|UNEDITABLE", "EMAILADDR|UNEDITABLE",
+ "PHONENUMBER|UNEDITABLE", "ANY|PWD|UNEDITABLE", "NUMERIC|PWD|UNEDITABLE",
+ "DECIMAL|PWD|UNEDITABLE", "URL|PWD|UNEDITABLE", "EMAILADDR|PWD|UNDEDITABLE",
+ "PNO|PWD|UNDEDITABLE"
+ };
+
+ //command for test3
+ private Command cmdGetMaxSize = new Command("getMaxSize", Command.SCREEN, 1);
+
+ //command to show tb3
+ private Command cmdShowTextBox3 = new Command("ShowTextBox3", Command.SCREEN, 1);
+
+ //Command for test1
+ private Command cmdTest1 = new Command("Test1", Command.SCREEN, 1);
+
+ //Command for test2
+ private Command cmdTest2 = new Command("Test2", Command.SCREEN, 1);
+
+ //Command for test3
+ private Command cmdTest3 = new Command("Test3", Command.SCREEN, 1);
+
+ //Command to set title to TextBox1
+ private Command cmdNullT = new Command("Null Title", Command.OK, 1);
+
+ //Command to set title to TextBox1
+ private Command cmdEmptyT = new Command("Empty Title", Command.SCREEN, 1);
+
+ //Command to set title to TextBox1
+ private Command cmdBigT = new Command("Big Title", Command.SCREEN, 1);
+
+ //Command to go Back to the previous Screen
+ private Command cmdBack = new Command("Back", Command.BACK, 1);
+
+ //Command to Ok whic is added to the listConstraints
+ private Command cmdOk = new Command("Ok", Command.OK, 1);
+
+ private Command cmdExit = new Command("Exit", Command.EXIT, 1);
+
+ //maximum size which is specified while creating TextBox
+ private final int MAX_SIZE = 100;
+
+ /**
+ *
+ * @param parent The parent MIDlet of this class
+ */
+ public ScreenTextBoxTests(Midp_TextBox_01 parent)
+ {
+
+ //set the title of the form as the name of the MIDlet
+ super(parent.getClass().getName());
+ this.parent = parent;
+
+ if (instance == null)
+ {
+ instance = this;
+ }
+ //add test commands
+ instance.addCommand(cmdTest1);
+ instance.addCommand(cmdTest2);
+ instance.addCommand(cmdTest3);
+ instance.addCommand(cmdExit);
+
+ //create TextBox with constraints ANY
+ tb3 = new TextBox("ANY", null, MAX_SIZE, TextField.ANY);
+
+ //add cmdBack to tb2
+ tb3.addCommand(cmdBack);
+ tb3.setCommandListener(this);
+ setCommandListener(this);
+ show();
+ }
+
+ /**
+ * creates and sets the current screen to be tb1
+ */
+ private void addTextBoxTest1()
+ {
+ //create TextBox
+ tb1 = new TextBox("ANY", null, MAX_SIZE, TextField.ANY);
+ //add commands to TextBox1
+ Ticker t = new Ticker("Test1");
+ tb1.setTicker(t);
+ tb1.addCommand(cmdNullT);
+ tb1.addCommand(cmdEmptyT);
+ tb1.addCommand(cmdBigT);
+ tb1.addCommand(cmdBack);
+ tb1.setCommandListener(this);
+ Display.getDisplay(parent).setCurrent(tb1);
+ }
+
+ /**
+ * creates and sets the current screen to be tb2
+ */
+ private void addTextBoxTest2(String title, int constraints)
+ {
+ //create TextBox with constraints ANY
+ tb2 = new TextBox(title, null, MAX_SIZE, constraints);
+ //add cmdBack to tb2
+ tb2.addCommand(cmdBack);
+ tb2.setCommandListener(this);
+ Display.getDisplay(parent).setCurrent(tb2);
+ }
+ private void addUneditableTextBoxTest2(String title, int constraints)
+ {
+ //create TextBox with constraints ANY
+ tb2 = new TextBox(title, "Uneditable", MAX_SIZE, constraints);
+ //add cmdBack to tb2
+ tb2.addCommand(cmdBack);
+ tb2.setCommandListener(this);
+ Display.getDisplay(parent).setCurrent(tb2);
+ }
+
+ private void addNumericUneditableTextBoxTest2(String title, int constraints)
+ {
+ //create TextBox with constraints ANY
+ tb2 = new TextBox(title, "123", MAX_SIZE, constraints);
+ //add cmdBack to tb2
+ tb2.addCommand(cmdBack);
+ tb2.setCommandListener(this);
+ Display.getDisplay(parent).setCurrent(tb2);
+ }
+ /**
+ * Method to create and set the current screen
+ * to be formTest3
+ */
+ private void addFormTest3()
+ {
+ //create form with title
+ formTest3 = new Form("Test3");
+ titleT = new TextField("Title", "ANY", 50, TextField.ANY);
+ maxSizeT = new TextField("MaxSize", null, 6, TextField.NUMERIC);
+ formTest3.append(titleT);
+ formTest3.append(maxSizeT);
+ formTest3.addCommand(cmdBack);
+ formTest3.addCommand(cmdGetMaxSize);
+ formTest3.addCommand(cmdShowTextBox3);
+ formTest3.setCommandListener(this);
+ Display.getDisplay(parent).setCurrent(formTest3);
+ }
+
+ /**
+ * create the listConstraints with elements.
+ * This is called when Test2 command is pressed
+ */
+ private void addListConstraints()
+ {
+ listConstraints = new List("ListConstraints", List.IMPLICIT, listElements, null);
+ listConstraints.setCommandListener(this);
+ listConstraints.addCommand(cmdBack);
+ listConstraints.addCommand(cmdOk);
+ Display.getDisplay(parent).setCurrent(listConstraints);
+ }
+
+ /**
+ * Show this screen
+ */
+ public static void show()
+ {
+ Display.getDisplay(parent).setCurrent(instance);
+ }
+
+ /**
+ * This method handles command invocations.
+ *
+ *@param c This is the command responsible for the event.
+ *@param s Should be equal to this.
+ */
+ public void commandAction(Command c, Displayable s)
+ {
+ if (c == cmdTest1)
+ {
+ addTextBoxTest1();
+ Display.getDisplay(parent).setCurrent(tb1);
+ }
+ else if (c == cmdNullT)
+ {
+ tb1.setTitle(null);
+ Display.getDisplay(parent).setCurrent(tb1);
+ }
+ else if (c == cmdEmptyT)
+ {
+ tb1.setTitle(" ");
+ Display.getDisplay(parent).setCurrent(tb1);
+ }
+ else if (c == cmdBigT)
+ {
+ tb1.setTitle("The title of this TextBox is too long to fit in to the" +
+ " reserved space");
+ Display.getDisplay(parent).setCurrent(tb1);
+ }
+ else if (c == cmdBack)
+ {
+ if (s == tb1 || s == listConstraints || s == formTest3)
+ Display.getDisplay(parent).setCurrent(instance);
+ else if (s == tb2)
+ Display.getDisplay(parent).setCurrent(listConstraints);
+ else if (s == tb3)
+ Display.getDisplay(parent).setCurrent(formTest3);
+ }
+ else if (c == cmdTest2)
+ addListConstraints();
+ else if (c == cmdOk)
+ {
+ int index = listConstraints.getSelectedIndex();
+ String element = listConstraints.getString(index);
+ if (element.equals(listElements[0]))
+ addTextBoxTest2("ANY", TextField.ANY);
+ else if (element.equals(listElements[1]))
+ addTextBoxTest2("URL", TextField.URL);
+ else if (element.equals(listElements[2]))
+ addTextBoxTest2("PHONENUMBER", TextField.PHONENUMBER);
+ else if (element.equals(listElements[3]))
+ addTextBoxTest2("NUMERIC", TextField.NUMERIC);
+ else if (element.equals(listElements[4]))
+ addTextBoxTest2("EMAILADDR", TextField.EMAILADDR);
+ else if (element.equals(listElements[5]))
+ addTextBoxTest2("PASSWORD", TextField.PASSWORD);
+ else if (element.equals(listElements[6]))
+ addTextBoxTest2("PWD|EMAILADDR", TextField.PASSWORD|TextField.EMAILADDR);
+ else if (element.equals(listElements[7]))
+ addTextBoxTest2("PWD|NUMERIC", TextField.PASSWORD|TextField.NUMERIC);
+ else if (element.equals(listElements[8]))
+ addTextBoxTest2("PWD|PNO", TextField.PASSWORD|TextField.PHONENUMBER);
+ else if (element.equals(listElements[9]))
+ addTextBoxTest2("PWD|URL", TextField.PASSWORD|TextField.URL);
+ else if (element.equals(listElements[10]))
+ addTextBoxTest2("DECIMAL", TextField.DECIMAL);
+ else if (element.equals(listElements[11]))
+ addTextBoxTest2("INITIAL_CAPS_SENTENCE", TextField.INITIAL_CAPS_SENTENCE);
+ else if (element.equals(listElements[12]))
+ addTextBoxTest2("INITIAL_CAPS_WORD", TextField.INITIAL_CAPS_WORD);
+ else if (element.equals(listElements[13]))
+ addUneditableTextBoxTest2("UNEDITABLE", TextField.UNEDITABLE);
+ else if (element.equals(listElements[14]))
+ addTextBoxTest2("NON_PREDICTIVE", TextField.NON_PREDICTIVE);
+ else if (element.equals(listElements[15]))
+ addTextBoxTest2("SENSITIVE", TextField.SENSITIVE);
+
+ else if (element.equals(listElements[16]))
+ addTextBoxTest2("DECIMAL|PWD", TextField.DECIMAL|TextField.PASSWORD);
+ else if (element.equals(listElements[17]))
+ addNumericUneditableTextBoxTest2("NUMERIC|UNEDITABLE", TextField.NUMERIC|TextField.UNEDITABLE);
+ else if (element.equals(listElements[18]))
+ addNumericUneditableTextBoxTest2("DECIMAL|UNEDITABLE", TextField.DECIMAL|TextField.UNEDITABLE);
+ else if (element.equals(listElements[19]))
+ addUneditableTextBoxTest2("URL|UNEDITABLE", TextField.URL|TextField.UNEDITABLE);
+ else if (element.equals(listElements[20]))
+ addUneditableTextBoxTest2("EMAILADDR|UNEDITABLE", TextField.EMAILADDR|TextField.UNEDITABLE);
+ else if (element.equals(listElements[21]))
+ addNumericUneditableTextBoxTest2("PHONENUMBER|UNEDITABLE", TextField.PHONENUMBER|TextField.UNEDITABLE);
+
+ else if (element.equals(listElements[22]))
+ addUneditableTextBoxTest2("ANY|PWD|UNEDITABLE", TextField.ANY|TextField.PASSWORD|TextField.UNEDITABLE);
+ else if (element.equals(listElements[23]))
+ addNumericUneditableTextBoxTest2("NUMERIC|PWD|UNEDITABLE", TextField.NUMERIC|TextField.PASSWORD|TextField.UNEDITABLE);
+ else if (element.equals(listElements[24]))
+ addNumericUneditableTextBoxTest2("DECIMAL|PWD|UNEDITABLE", TextField.DECIMAL|TextField.PASSWORD|TextField.UNEDITABLE);
+ else if (element.equals(listElements[25]))
+ addUneditableTextBoxTest2("URL|PWD|UNEDITABLE", TextField.URL|TextField.PASSWORD|TextField.UNEDITABLE);
+ else if (element.equals(listElements[26]))
+ addUneditableTextBoxTest2("EMAILADDR|PWD|UNDEDITABLE", TextField.EMAILADDR|TextField.PASSWORD|TextField.UNEDITABLE);
+ else if (element.equals(listElements[27]))
+ addNumericUneditableTextBoxTest2("PNO|PWD|UNDEDITABLE", TextField.PHONENUMBER|TextField.PASSWORD|TextField.UNEDITABLE);
+ }
+ else if (c == cmdTest3)
+ addFormTest3();
+ else if (c == cmdGetMaxSize)
+ {
+ String sz = maxSizeT.getString();
+ if (sz.length() != 0)
+ tb3.setMaxSize(Integer.parseInt(sz));
+ int mSize = tb3.getMaxSize();
+ Alert a = new Alert("Max Size", new Integer(mSize).toString(),
+ null, AlertType.INFO);
+ a.setTimeout(Alert.FOREVER);
+ Display.getDisplay(parent).setCurrent(a);
+ }
+ else if (c == cmdShowTextBox3)
+ {
+ tb3.setTitle(titleT.getString());
+ Display.getDisplay(parent).setCurrent(tb3);
+ }
+ else if (c == cmdExit)
+ {
+ parent.destroyApp(false);
+ parent.notifyDestroyed();
+ }
+ }
+ //end method
+
+}