- From: RJ Auburn <rj@voxeo.com>
- Date: Wed, 26 May 2010 01:05:09 -0400
- To: Chris Davis <davisc@iivip.com>
- Cc: www-voice <www-voice@w3.org>, Rachel Muller <rachel.muller@aspect.com>, W3C Voice Browser Working Group <w3c-voice-wg@w3.org>
this is tracked as ISSUE-703. --- RJ Auburn CTO, Voxeo Corporation tel:+1-407-418-1800 Come join us at our Voxeo Customer Summit June 21st – June 23rd at the Hard Rock Hotel Register today for your All Access Pass: http://www.voxeo.com/summits/customer On May 18, 2010, at 4:28 PM, Chris Davis wrote: > Hello www-voice, > > Here are the errors: > > 1) <if cond="sessions.conferences[A854_confid1].bridges.length == 1 > > There is no sessions scope. That needs to be session with no s > > 2) Assertion #854 as written will never work (see above fragment). The bridges property of the > Conference object is defined in 10.3.1 as "an ECMAScript associative array". It is referenced > by conference ids which are by definition URIs. The ECMA .length of an associative array > is always zero. > > When you account for breaks 1) and 2), the broken segment: > <if cond="sessions.conferences[A854_confid1].bridges.length == 1 && sessions.conferences[A854_confid2].bridges.length == 1"> > > thus becomes > <if cond="session.conferences[A854_confid1].bridges[A854_confid2] != undefined && session.conferences[A854_confid2].bridges[A854_confid1] != undefined"> > > 3) TC#855 tries to look at the dialog objects to make sure the switching is correct. > However, as written it doesn't account for all the switching. Specifically, the switching > picture by the time #855 rolls around is: > > A855_dialogid1 <====> A855_dialogid2 > A855_dialogid1 --> general_connid > A855_dialogid2 --> A855_connid1 > > yet the check is written like this: > <script><![CDATA[A855_passed = (session.dialogs[A855_dialogid1].input == A855_dialogid2 && > session.dialogs[A855_dialogid2].input == A855_dialogid1 && > session.dialogs[A855_dialogid1].outputs[0] == A855_dialogid2 && > session.dialogs[A855_dialogid2].outputs[0] == A855_dialogid1); > > ]]></script> > > To check everything, the test should be something like this: > <script><![CDATA[ > function outputpresent( haystack, needle, numElements ) > { > var rc = false; > for(i=0; i< numElements; i++ ) > { > if( haystack[i] == needle ) > { > rc = true; > break; > } > } > return rc; > } > > A855_passed = false; > if( session.dialogs[A855_dialogid1].outputs.length == 2 && session.dialogs[A855_dialogid2].outputs.length == 2) > { > if( session.dialogs[A855_dialogid1].input == A855_dialogid2 && session.dialogs[A855_dialogid2].input == A855_dialogid1 ) > { > if( true == outputpresent( session.dialogs[A855_dialogid1].outputs, general_connid, 2 )) > { > if( true == outputpresent( session.dialogs[A855_dialogid1].outputs, A855_dialogid2, 2 )) > { > if( true == outputpresent( session.dialogs[A855_dialogid2].outputs, A855_connid1, 2 )) > { > if(true == outputpresent( session.dialogs[A855_dialogid2].outputs, A855_dialogid1, 2 )) > { > A855_passed = true; > } > } > } > } > } > } > ]]></script> > //------------ > > Note that as written, the check currently leaves off some of the switch paths and assumes the secondary switch > paths are in index position 0. Our browser adds new paths to the END of the array. If other behavior is desired > we suggest it be placed in the Recommendation. > > Regards, > Chris > > > -- > Chris Davis > Interact Incorporated R&D > 512-502-9969x117 > >
Received on Wednesday, 26 May 2010 05:05:40 UTC