- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / native_client / tests / nacl_browser / manifest_file / pm_pre_init_manifest_file_test.html
1 <!--
2   Copyright 2011 The Chromium Authors. All rights reserved.
3   Use of this source code is governed by a BSD-style license that can
4   be found in the LICENSE file.
5 -->
6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
7   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
8 <html>
9   <head>
10     <meta http-equiv="Pragma" content="no-cache" />
11     <meta http-equiv="Expires" content="-1" />
12     <script type="text/javascript" src="nacltest.js"></script>
13     <title>Native Client Pre-Init Post Message Manifest File Test</title>
14   </head>
15
16   <body>
17     <h1>Native Client Pre-Init Post Message Manifest File Test</h1>
18     <div>
19     <embed id="naclModule"
20            name="naclModule"
21            width=400 height=400
22            src="pm_pre_init_manifest_file.nmf"
23            basic_tests="2"
24            stress_tests="0"
25            style="background-color:gray"
26            type="application/x-nacl" />
27     </div>
28
29   <script type="text/javascript">
30     //<![CDATA[
31 function setupTests(tester, plugin) {
32   tester.addAsyncTest('Test_00_ManifestData', function(status) {
33     plugin.addEventListener('message', function(message_event) {
34       this.removeEventListener('message', arguments.callee, false);
35       // TODO(bsy): remove golden_old once NaCl DEPS rolls pass 10970
36       var golden_old = 'File Contents:\nTest File Content\nOpening non-existent file:\nGot descriptor -1, status 0\n';
37       // when there is a non-existent file, we expect errno of NACL_ABI_ENOENT
38       var golden = 'File Contents:\nTest File Content\nOpening non-existent file:\nGot descriptor -1, status 2\n';
39       status.log('expecting golden: ' + golden);
40       status.log('golden.length: ' + golden.length);
41       status.log('message_event.data.length: ' + message_event.data.length);
42       var min_length = Math.min(message_event.data.length, golden.length);
43       status.log('min_length = ' + min_length);
44       var i = 0;
45       for (i = 0; i < min_length; i++) {
46         var mchar = message_event.data.charAt(i);
47         var gchar = golden.charAt(i);
48         if (mchar != gchar) {
49           status.log('char at ' + i + ' differ: ' + mchar + ' != ' + gchar);
50           status.log('charcodes: ' + mchar.charCodeAt(0) + ' != ' + gchar.charCodeAt(0));
51         }
52       }
53       var accept_both = (message_event.data == golden) ||
54                         (message_event.data == golden_old);
55       status.assert(accept_both);
56       // status.assertEqual(message_event.data, golden);
57       status.pass();
58     }, false);
59     plugin.postMessage('manifest_data');
60   });
61 }
62
63 var tester = new Tester();
64 setupTests(tester, $('naclModule'));
65 tester.waitFor($('naclModule'));
66 tester.run();
67     //]]>
68   </script>
69   </body>
70 </html>