Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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() 

...

' アイテムのベクトルと戻り値のサイズを取得します。 

...


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