<?xml-stylesheet type="text/xsl" href="/xforms-tests/xsltforms/xsltforms.xsl"?>
<html xmlns:my="http://commerce.example.com/payment" xmlns:txs="http://sourceforge.net/projects/txs" xmlns="http://www.w3.org/1999/xhtml" xmlns:req="http://www.agencexml.com/requests" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <head>
    <title>7.8.3.b digest() function using sha384 and sha512 (non-normative)</title>
    <link rel="stylesheet" href="../../../driverPages/forms/TestSuite11.css" type="text/css"/>
    <xforms:model>
      <xforms:instance xmlns="">
	<root/>
      </xforms:instance>
    </xforms:model>
  </head>
  <body>
    <xforms:group>
      <xforms:label class="title">7.8.3.b digest() function using sha384 and sha512 (non-normative)</xforms:label>
    </xforms:group>
    <xforms:group>
      <xforms:label>
	This case tests the digest() attribute using the optional SHA-384 and SHA-512 hash algorithms. 
	You must see the group label "PASS" for all Tests. 
	If the function does not return the correct value you will see a group label
	with the word "FAIL" and the incorrect value.
      </xforms:label>
    </xforms:group>
    <xforms:group>
      <xforms:group ref="self::node()[translate(digest('abc', 'SHA-384', 'hex'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7']">
	<xforms:label>Test 1 PASS </xforms:label>
      </xforms:group>
      <xforms:group ref="self::node()[translate(digest('abc', 'SHA-384', 'hex'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') != 'cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7']">
	<xforms:label>Test 1 FAIL: </xforms:label>
	<xforms:output value="digest('abc', 'SHA-384', 'hex')">
	  <xforms:label>Bad Value =</xforms:label>
	</xforms:output>
      </xforms:group>
    </xforms:group>
    <xforms:group>
      <xforms:group ref="self::node()[translate(digest('abc', 'SHA-512', 'hex'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f']">
	<xforms:label>Test 2 PASS </xforms:label>
      </xforms:group>
      <xforms:group ref="self::node()[translate(digest('abc', 'SHA-512', 'hex'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') != 'ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f']">
	<xforms:label>Test 2 FAIL: </xforms:label>
	<xforms:output value="digest('abc', 'SHA-512', 'hex')">
	  <xforms:label>Bad Value =</xforms:label>
	</xforms:output>
      </xforms:group>
    </xforms:group>
    <xforms:group>
      <xforms:group ref="self::node()[digest('abc', 'SHA-384', 'base64')='ywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWn' ]">
	<xforms:label>Test 3 PASS </xforms:label>
      </xforms:group>
      <xforms:group ref="self::node()[digest('abc', 'SHA-384', 'base64')!='ywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWn' ]">
	<xforms:label>Test 3 FAIL: </xforms:label>
	<xforms:output value="digest('abc', 'SHA-384', 'base64')">
	  <xforms:label>Bad Value =</xforms:label>
	</xforms:output>
      </xforms:group>
    </xforms:group>
    <xforms:group>
      <xforms:group ref="self::node()[digest('abc', 'SHA-512', 'base64')='3a81oZNherrMQXNJriBBMRLm+k6JqX6iCp7u5ktV05ohkpkqJ0/BqDa6PCOj/uu9RU1EI2Q86A4qmslPpUyknw==' ]">
	<xforms:label>Test 4 PASS </xforms:label>
      </xforms:group>
      <xforms:group ref="self::node()[digest('abc', 'SHA-512', 'base64')!='3a81oZNherrMQXNJriBBMRLm+k6JqX6iCp7u5ktV05ohkpkqJ0/BqDa6PCOj/uu9RU1EI2Q86A4qmslPpUyknw==' ]">
	<xforms:label>Test 4 FAIL: </xforms:label>
	<xforms:output value="digest('abc', 'SHA-512', 'base64')">
	  <xforms:label>Bad Value =</xforms:label>
	</xforms:output>
      </xforms:group>
    </xforms:group>
  </body>
</html>
