<?xml version="1.0" encoding="UTF-8"?>
<test id="wmlscript/core/operators/logical/5" class="A" scope="wmlscript" testtype="application" type="auto" source="wmls11#6.3.3" device="both">
  <assertion>If the operand of the unary '!' operator evaluates to 'true', then the result of the operation is 'false'. If the operand evaluates to 'false', then the result is 'true'.
</assertion>
  <notes>The WMLScript spec does not say what happens in case of an operand evaluating to 'invalid'. I guess the result should be 'invalid' as well.</notes>
  <results>
    <result>
      <name>test</name>
      <value>pass</value>
    </result>
  </results>
  <method>
    <![CDATA[<card newcontext="true" id="main">
<onevent type="onenterforward">
<go href="<script1>#main('test','card1')"/>
</onevent>
<auto_failed>
</card>]]>
  </method>
  <cards>
    <card id="1">
      <![CDATA[<card id="card1">
<onevent type="onenterforward">
<go href="<resulturl>">
<postfield name="test" value="$test"/>
<sessionvars>
</go>
</onevent>
<auto_failed>
</card>
]]>
    </card>
  </cards>
  <scripts>
    <script id="1">
      <![CDATA[extern function main(myvar,next) {
	var result = 'fail';
	var bool1 = true;
	var bool2 = false;

	if (!bool1 == false && !bool2 == true) {
		result = 'pass';
	}
	WMLBrowser.setVar(myvar, result);
	WMLBrowser.go('#' + next);
	return 1;
}
]]>
    </script>
  </scripts>
</test>

