UNPKG

plupload

Version:

Plupload is a JavaScript API for dealing with file uploads it supports features like multiple file selection, file type filtering, request chunking, client side image scaling and it uses different runtimes to achieve this such as HTML 5, Silverlight and F

78 lines (55 loc) 1.81 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>HTML5: BinaryReader</title> <script src="../../../loader.js"></script> <script type="text/javascript" src="../../XMLHttpRequest/image-b64.js"></script> <script type="text/javascript"> QUnit.config.reorder = false; QUnit.config.testTimeout = 10000; var data = (function() { var data = o.atob(imgB64); return [data, str2ab(data)]; }()); module("HTML5: BinaryReader"); o.each(data, function(data) { test("Process " + o.typeOf(data), function(assert) { var br = new o.BinaryReader(data); equal(br.length(), 60964, "length()"); equal(br.BYTE(1), 0xD8, "BYTE()"); equal(br.SHORT(0), 0xFFD8, "SHORT()"); equal(br.CHAR(6), 'E', "CHAR()"); equal(br.STRING(6, 4), 'Exif', "STRING()"); equal(br.SEGMENT(), data, "SEGMENT()"); if (o.typeOf(data) === 'string') { equal(br.SEGMENT(2), data.substr(2), "SEGMENT(idx)"); equal(br.SEGMENT(6, 8), "Exif\0\0II", "SEGMENT(idx, length)"); } else { deepEqual(br.SEGMENT(2), data.slice(2), "SEGMENT(idx)"); deepEqual(br.SEGMENT(6, 8), str2ab("Exif\0\0II"), "SEGMENT(idx, length)"); } br.write(10, 2000000000, 4); equal(br.LONG(10), 2000000000, "LONG()"); br.write(20, 3000000000, 4); equal(br.SLONG(20), -1294967296, "SLONG()"); br.littleEndian = true; equal(br.SHORT(0), 0xD8FF, "SHORT()"); br.clear(); }); }); function str2ab(str) { var buf = new ArrayBuffer(str.length); // 2 bytes for each char var bufView = new Uint8Array(buf); for (var i = 0, strLen = str.length; i < strLen; i++) { bufView[i] = str.charCodeAt(i); } return buf; } </script> </head> <body> <div id="qunit"></div> <div id="qunit-fixture" style="position: relative; top: 0 !important; left: 0 !important; width: 100%; height: 9px;"></div> </body> </html>