UNPKG

automizy-email-editor

Version:

Design mobile friendly HTML emails in your application.

123 lines (108 loc) 3.69 kB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Tests of Prettifier w/ large data files</title> <script src="../src/prettify.js" type="text/javascript" onerror="alert('Error: failed to load ' + this.src)"></script> <link rel="stylesheet" type="text/css" href="../src/prettify.css" /> <link rel="stylesheet" type="text/css" href="test_styles.css" /> </head> <body bgcolor="white"> <div id="timing"></div> <div id="errorReport" style="white-space: pre"></div> <!-- - Generate inputs of various sizes so that we can try fitting a - curve to the run times. --> <script type="text/javascript"> if (!Date.now) { Date.now = function () { return (new Date).getTime(); }; } if (typeof console === 'undefined') { console = { log: (function () { var messages = []; var pending = false; function showMessages() { pending = false; if (messages.length) { var text = messages.join('\n'); var pre = document.createElement('PRE'); pre.appendChild(document.createTextNode(text)); document.body.appendChild(pre); messages = []; } } return function (msg) { if (!pending) { setTimeout(showMessages, 0); pending = true; } messages.push(msg); }; })() }; } (function () { var tasks = []; var jsonTimes = []; var xmlTimes = []; var listItem = ( '&lt;li class="friendly" style="blink: like-its-going-out-of-style"&gt;' + '&lt;b&gt;Howdy&lt;/b&gt; Neighbor&lt;/li&gt;'); var jsonItem = ( '{ "friendly": true, "blinking": "hell-yes", "greeting": "Howdy!" }'); function makeTargets(lang, item, sep, preText, postText, timesList) { var buffer = []; for (var i = 512; --i >= 0;) { buffer.push(item); } var count = 512; for (var i = 6; --i >= 0;) { var src = buffer.join(sep); tasks.push((function (n, toPrettify) { return function () { console.log('starting ' + lang + ' ' + n); var t0 = Date.now(); var result = prettyPrintOne(toPrettify, lang); var t1 = Date.now(); console.log('finishing ' + lang + ' ' + n); if (result === toPrettify) { console.error('Failed to prettify ' + lang + ' ' + n); } else { timesList.push([n, t1 - t0, toPrettify.length]); } }; })(count, preText + src + postText)); buffer = [src, src]; count *= 2; } } makeTargets('xml', listItem, '\n', '<ul>', '<\/ul>', xmlTimes); makeTargets('json', jsonItem, ', ', '[', ']', jsonTimes); function emitBenchmarkTable(title, times) { var html = [ '<h2>', title, '<h2>', '<table class=="benchmark"><tr><th>Count<th>Length<th>Time<th>Items Per Second']; for (var i = 0; i < times.length; ++i) { var time = times[i]; var count = time[0], deltaMs = time[1], length = time[2]; html.push('<tr><td>', count, '<td>', length, '<td>', deltaMs, '<td>', (count * 1000 / deltaMs).toFixed(1)); } html.push('</table>'); var div = document.createElement('DIV'); div.innerHTML = html.join(''); document.body.appendChild(div); } tasks.push( function () { emitBenchmarkTable('XML', xmlTimes); }, function () { emitBenchmarkTable('JSON', jsonTimes); }); function doOne() { var task = tasks.shift(); task(); if (tasks.length) { setTimeout(doOne, 250); } } setTimeout(doOne, 250); })(); </script> </body> </html>