<?xml version="1.0" encoding="UTF-8"?>
	<!--
    Test: 10.2.4 1241 1286
    require 'CONNECTED'
	-->
	<!--
	Release 1.2 - 2010-10-21
	FIXED: ISSUE-739: -  Do-nothing transition connection.disconnected added for TA 1286
	-->
<ccxml xmlns="http://www.w3.org/2002/09/ccxml" xmlns:conf="http://www.w3.org/2005/ccxml-conformance" version="1.0">

  <conf:docsetup/>
  <var name="ConnectionID" expr="undefined"/>
  
  <script>
	  <![CDATA[
		var i=0;
		assertions[i++] = init_assertion('1241');
		assertions[i++] = init_assertion('1286');
		
		var assert_last = i - 1;
		var assert_index = -1;
	
		
		s_ASSERTIONS_LEFT = show_remained_assertions();
		var b_in_test = false;		
]]> </script>
    
  <eventprocessor statevariable="current_state">
  
	  <conf:setup type="connected"/>

	<transition event="connection.connected" state="init">
		<assign name="ConnectionID" expr="event$.connectionid"/>
			<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
		</transition>

		<transition event="user.PREPARE_NEW">
			<conf:comment expr="'Event: ' + event$.name"/>
			<if cond="assert_index &gt;= 0">
				<assign name="ASSERTION_NUM" expr="assertions[assert_index].number"/>
				<assign name="t_ASSERT_RESULT" expr="assertions[assert_index].P_F"/>
				<script>assertions[assert_index].reason = t_ASSERT_REASON;</script>
				<if cond="t_ASSERT_RESULT == s_PASS">
					<conf:pass reason="t_ASSERT_REASON"/>
					<elseif cond="t_ASSERT_RESULT == s_FAIL"/>
					<conf:fail reason="t_ASSERT_REASON"/>
					<else/>
					<conf:not_exec reason="t_ASSERT_REASON"/>
				</if>
			</if>
			<assign name="assert_index" expr="assert_index + 1"/>
			<if cond="assert_index &gt; assert_last">
				<log label="s_TA" expr="s_ASSERTIONS_LEFT"/>
				<conf:uncond_exit expr="'DONE'"/>
				<else/>
				<log label="s_TA" expr="s_ASSERTIONS_LEFT"/>
				<assign name="ASSERTION_NUM" expr=" assertions[assert_index].number"/>
				<assign name="t_ASSERT_REASON" expr="''"/>
				<script>assertions[assert_index].P_F = s_FAIL;</script>
				<assign name="current_state" expr="state_prefix + ASSERTION_NUM"/>
				<send targettype="'ccxml'" target="session.id" name="start_name_prefix + ASSERTION_NUM"/>
			</if>
		</transition>

	<transition event="user.START_ASSERTION_1241" state="ASSERTION_NMBR_1241">
				<!--
1241 	
10.2.4 &lt;assign&gt; and &lt;var&gt; 	
When an error.semantic event is generated by a connection element, this MUST NOT change the state of the associated Connection Object(s).	rachel.muller@aspect.com 	Accepted 
-->
		<!-- This generates error.semantic for assertion 1241-->
		<goto fetchid="INVALID_ID"/>
	</transition>
	
	<transition  state="ASSERTION_NMBR_1241" event="error.semantic">
	<if cond="session.connections[ConnectionID].state == Connection.CONNECTED">
				<script>assertions[assert_index].P_F = s_PASS;</script>
			</if>
	<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
	</transition>		

	<transition event="user.START_ASSERTION_1286" state="ASSERTION_NMBR_1286">
				<!--
1286	
10.2.4 &lt;assign&gt; and &lt;var&gt; 	
Execution of connection elements MUST NOT immediately change the state of any associated Connection Objects	mscott@voicegenie.com		Accepted 
-->
		<disconnect connectionid="ConnectionID"/>
			<if cond="session.connections[ConnectionID].state == Connection.CONNECTED">
				<script>assertions[assert_index].P_F = s_PASS;</script>
			</if>
		<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
	</transition>
	
<!-- FIXED ISSUE-739:  added a do-nothing transition for connection.disconnected  -->
	<transition event="connection.disconnected" state="ASSERTION_NMBR_1286">
		<conf:comment expr=" 'Current state : ' + current_state + ' , Event: ' + event$.name"/>	
	</transition>	
	

	<!--  ***************** COMMON ******************************** -->

	<transition event="send.successful">
	</transition>

	<transition event="*">
			<assign name="t_ASSERT_REASON" expr="'UNEXPECTED EVENT ' + event$.name + ' IN STATE ' + current_state"/>
				<log label="s_TA+ASSERTION_NUM" expr="'Comment: '+t_ASSERT_REASON"/>
				<if cond="current_state == 'init'">
					<log label="s_TA" expr="'Did not come out from init state.' + '  EXIT.'"/>
				<exit/>
				<else/>
					<send targettype="'ccxml'" target="session.id" name="name_prepare_new"/>
				</if>  
    </transition>
	
  </eventprocessor>
</ccxml>
