<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache" />
<META HTTP-EQUIV="Expires" CONTENT="-1" />
<script type="text/javascript" src="nacltest.js"></script>
<script type="text/javascript">
var ARGUMENT_SEPARATOR = '|';
var TRUE_STRING_VALUE = '1';
var FALSE_STRING_VALUE = '0';
function isMatch(actual, expected) {
return (0 <= actual.indexOf(expected));
}
function stringToBool(str_value) {
return str_value == TRUE_STRING_VALUE;
}
function boolToString(bool_value) {
return bool_value ? TRUE_STRING_VALUE : FALSE_STRING_VALUE;
}
function setupTests(tester, plugin) {
function addTest(name, url, as_file, expected_data, expected_success) {
tester.addAsyncTest(name, function(test) {
var listener = test.wrap(function(test_response) {
plugin.removeEventListener('message', listener, false);
var response_args =
test_response.data.split(ARGUMENT_SEPARATOR);
test.assertEqual(response_args.length, 4);
var response_url = response_args[0];
var response_as_file = stringToBool(response_args[1]);
var response_data = response_args[2];
var response_success = stringToBool(response_args[3]);
test.assert(isMatch(response_url, url));
test.assertEqual(response_as_file, as_file);
test.log(response_data);
test.assert(isMatch(response_data, expected_data));
test.assertEqual(response_success, expected_success);
test.pass();
});
plugin.addEventListener('message', listener, false);
var loadUrlMessage = [
'loadUrl',
url,
boolToString(as_file)].join(ARGUMENT_SEPARATOR);
plugin.postMessage(loadUrlMessage);
});
}
var VALID_URL = 'ppapi_geturl_success.html';
var CROSSORIGIN_URL = 'http://www.google.com/robots.txt';
var INVALID_URL = 'ppapi_nonexistent_url.html';
addTest('Valid', VALID_URL, false, 'TEST PASSED', true);
addTest('Valid_File', VALID_URL, true, 'TEST PASSED', true);
addTest('CrossOrigin', CROSSORIGIN_URL, false, 'PP_ERROR_NOACCESS',
false);
addTest('CrossOrigin_File', CROSSORIGIN_URL, true, 'PP_ERROR_NOACCESS',
false);
addTest('Invalid', INVALID_URL, false, '404', false);
addTest('Invalid_File', INVALID_URL, true, '404', false);
}
</script>
<title>PPAPI GetURL Test</title>
</head>
<body>
<h1>PPAPI GetURL Test</h1>
<embed type="application/x-nacl"
id="nacl"
name="nacl_module"
src="ppapi_geturl.nmf"
width="0" height="0" />
<script type="text/javascript">
var tester = new Tester();
setupTests(tester, $('nacl'));
tester.waitFor($('nacl'));
tester.run();
</script>
</body>
</html>