...
Code Block |
---|
import com.nexaweb.client.ClientEvent; import com.nexaweb.client.ClientSession; import com.nexaweb.client.mco.AbstractMco; import com.nexaweb.client.mco.McoContainer; import com.nexaweb.xml.Document; import com.nexaweb.xml.Element; public class ComboBoxHandler extends AbstractMco { public void handleComboBoxOnCommand( Element label ) { ClientSession clientSession = McoContainer.getClientSessionFromMco(this); Document uiDocument = clientSession.getDocumentRegistry().getUiDocument(); ClientEvent clientEvent = clientSession.getEventHandler().getClientEvent(); synchronized ( uiDocument.getDomSynchronizationObject()) { String value = clientEvent.getParameter( "value" ); label.setAttribute( "text", value ); } } } |
テスト
Code Block |
---|
' アプレットのスクリプトオブジェクトを取得します。 Set appObj = Browser("Welcome To Nexaweb").Page("Welcome To Nexaweb").JavaApplet("DefaultJvmDetector").Object.getScriptObject() ' コンボボックスのスクリプトオブジェクトを取得します。 Set comboBox = appObj.findObjectById("combobox") ' ラベルのスクリプトオブジェクトを取得します。 Set label = appObj.findObjectByid("mylabel") ' コンボボックスの初期状態をテストします。 text = comboBox.getText() if( text <>"ComboBox") then result = "Expected 'ComboBox' Actual was '" + text + "'" Reporter.ReportEvent micFail,"ComboBox", result Else Reporter.ReportEvent micDone,"ComboBox", "Intial Text passed. was 'ComboBox'" End If ' ラベルの初期状態をテストします。 ] text = label.getText() if( text <>"Label to Change") then result = "Expected 'Label to Change' Actual was '" + text + "'" Reporter.ReportEvent micFail,"Label", result Else Reporter.ReportEvent micDone,"Label", "Intial Text passed. was 'Label to Change'" End If ' コンボボックスのアイテム数を取得します。 itemCount = comboBox.getItemCount() ' アイテムのベクトルと戻り値のサイズを取得します。 Set itemobjs = comboBox.getItems() sizeItems = itemobjs.size() ' 戻り値のサイズが正しいことを確認します。 if( itemCount <> sizeItems ) then result = "Expected " +itemCount + " tiems Actual was '" + sizeItems + "'" Reporter.ReportEvent micFail,"Label", result Else Reporter.ReportEvent micDone,"ComboBox", "Number of Items was "+itemCount End If ' 選択内容を確認し、onStateChange() イベントが正しく発生したことを確認するために、 ' 各アイテムを選択し、コンボボックスおよびラベルのテキストをテストします。 For i = 0 to itemCount - 1 ' アイテムを選択します。 comboBox.selectItemAt( i ) ' コンボボックスのテキストと、選択されているアイテムのテキストを照らし合わせてチェックします。 tag = "Selected Item #" + CStr(i) + " - ComboBox" expectedText = itemobjs.elementAt(i).getText() text = comboBox.getText() if( text <> expectedText ) then result = "Expected '" + expectedText + "' Actual was '" + text + "'" Reporter.ReportEvent micFail,tag, result Else Reporter.ReportEvent micDone, tag, "ComboBox text was '" + expectedText +"'" End If ' ラベルのテキストを、選択されているアイテムの値と照らし合わせてチェックします。 tag = "Selected Item #" + CStr(i) + " - Label" expectedText = itemobjs.elementAt(i).getValue() text = label.getText() if( text <> expectedText) then result = "Expected '" + expectedText + "' Actual was '" + text + "'" Reporter.ReportEvent micFail,tag, result Else Reporter.ReportEvent micDone,tag, "Label Text passed. was '" + expectedText +"'" End If Next |