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.
6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
7 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
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>
17 <h1>Native Client Pre-Init Post Message Manifest File Test</h1>
19 <embed id="naclModule"
22 src="pm_pre_init_manifest_file.nmf"
25 style="background-color:gray"
26 type="application/x-nacl" />
29 <script type="text/javascript">
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);
45 for (i = 0; i < min_length; i++) {
46 var mchar = message_event.data.charAt(i);
47 var gchar = golden.charAt(i);
49 status.log('char at ' + i + ' differ: ' + mchar + ' != ' + gchar);
50 status.log('charcodes: ' + mchar.charCodeAt(0) + ' != ' + gchar.charCodeAt(0));
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);
59 plugin.postMessage('manifest_data');
63 var tester = new Tester();
64 setupTests(tester, $('naclModule'));
65 tester.waitFor($('naclModule'));