<?xml version="1.0" encoding="UTF-8"?>
<test id="wmlscriptlib/url/getreferer/2" class="A" scope="wmlscriptlib" testtype="application" type="auto" source="wmlssl12#10.10" device="both">
  <assertion>When a compilation unit calls another local function,
and that function calls the URL.getReferer function, the result of
url.getReferer will be same as that of calling it from the parent function.
</assertion>
  <results>
    <result>
      <name>test</name>
      <value>pass</value>
    </result>
    <result>
      <name>value</name>
      <value>.*</value>
    </result>
  </results>
  <method>
    <![CDATA[<card newcontext="true" id="main">
<onevent type="onenterforward">
<go href="#card1">
</go>
</onevent>
<auto_failed>
</card>]]>
  </method>
  <cards>
    <card id="1">
      <![CDATA[<card id="card1">
<onevent type="onenterforward">
<go href="<deck1>"/>
</onevent>
<onevent type="onenterbackward">
<go href="<responseurl>">
<postfield name="test" value="$test"/>
<postfield name="value" value="$ref"/>
<sessionvars>
</go>
</onevent>
<auto_failed>
</card>
]]>
    </card>
  </cards>
  <decks>
    <deck id="1">
      <![CDATA[<card id ="main">
<onevent type="onenterforward">
<go sendreferer="true" href="<script1>#main('test','ref')"/>
</onevent>
</card>
]]>
    </deck>
  </decks>
  <scripts>
    <script id="1">
      <![CDATA[extern function main(myvar,myval)
{
        var result = 'fail';
        var value = localfun();

    if (value == "<deck1>#main")
    {
       result = 'pass';
    }
        WMLBrowser.setVar(myvar,result);
        WMLBrowser.setVar(myval,value);
        WMLBrowser.prev();
        return 1;
}


function localfun() {
    return URL.getReferer();
}
]]>
    </script>
  </scripts>
</test>

