2015-08-04 08:49:42 +02:00
|
|
|
<!--
|
2016-08-04 17:53:13 +02:00
|
|
|
Helper file for string_escape() in test_javascript.py.
|
2015-08-04 08:49:42 +02:00
|
|
|
|
|
|
|
Since the conversion from QStrings to Python strings is broken in some corner
|
|
|
|
cases in PyQt < 5.4 we hexlify the string we got in javascript here and test
|
|
|
|
that in the test.
|
|
|
|
-->
|
|
|
|
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<script type="text/javascript">
|
|
|
|
//<![CDATA[
|
|
|
|
|
|
|
|
/*
|
|
|
|
* hexlify() and str2rstr_utf8() are based on:
|
|
|
|
*
|
|
|
|
* JavaScript MD5 1.0.1
|
|
|
|
* https://github.com/blueimp/JavaScript-MD5
|
|
|
|
*
|
|
|
|
* Copyright 2011, Sebastian Tschan
|
|
|
|
* https://blueimp.net
|
|
|
|
*
|
|
|
|
* Licensed under the MIT license:
|
|
|
|
* http://www.opensource.org/licenses/MIT
|
|
|
|
*
|
|
|
|
* Based on
|
|
|
|
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
|
|
|
|
* Digest Algorithm, as defined in RFC 1321.
|
|
|
|
* Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
|
|
|
|
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
|
|
|
|
* Distributed under the BSD License
|
|
|
|
* See http://pajhome.org.uk/crypt/md5 for more info.
|
|
|
|
*/
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
function hexlify(input) {
|
|
|
|
var hex_tab = '0123456789abcdef';
|
|
|
|
var output = '';
|
|
|
|
var x;
|
|
|
|
var i;
|
|
|
|
|
|
|
|
for (i = 0; i < input.length; i += 1) {
|
|
|
|
x = input.charCodeAt(i);
|
|
|
|
output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F);
|
|
|
|
}
|
|
|
|
|
|
|
|
return output;
|
|
|
|
}
|
|
|
|
|
|
|
|
function encode_utf8(input) {
|
|
|
|
return unescape(encodeURIComponent(input));
|
|
|
|
}
|
|
|
|
|
|
|
|
function set_text() {
|
|
|
|
var elems = document.getElementsByTagName("p");
|
|
|
|
var hexlified = hexlify(encode_utf8("%INPUT%"));
|
|
|
|
var result = hexlified + "|" + "%INPUT%";
|
|
|
|
elems[0].innerHTML = result
|
|
|
|
window.qute_test_result = result;
|
|
|
|
}
|
|
|
|
|
|
|
|
//]]>
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
<body onload="set_text()">
|
|
|
|
<p>set_text() not called...</p>
|
|
|
|
</html>
|