Skip to content
Snippets Groups Projects
Select Git revision
  • aeb22d50a434e5d47ac16ce150fe2c61a1dbb941
  • main default protected
2 results

fixmath.h

Blame
  • test.html 2.82 KiB
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="node_modules/mocha/mocha.css" />
    <script src="node_modules/mocha/mocha.js"></script>
    <script src="node_modules/chai/chai.js"></script>
    <script>
      window.NativeTextDecoder = window.TextDecoder;
      window.NativeTextEncoder = window.TextEncoder;
      window.TextDecoder = null;
      window.TextEncoder = null;
    </script>
    <script src="text.js"></script>
    <script>
    
    var assert = chai.assert;
    mocha.setup({ ui: 'tdd' });
    
    (function() {
      var pageError = null;
    
      window.addEventListener('error', function(event) {
        pageError = event.filename + ':' + event.lineno + ' ' + event.message;
      });
    
      window.addEventListener('load', function() {
        if (pageError) {
          suite('page-script-errors', function() {
            test('no script errors on page', function() {
              assert.fail(null, null, pageError);
            });
          });
        }
        mocha.run();
      });
    })();
    
    </script>
    </head>
    <body>
    <div id="mocha"></div>
    <script src="suite.js"></script>
    </body>
    </html>
    <!-- 
    <!DOCTYPE html>
    <html>
    <head>
    <script defer src="https://cdn.rawgit.com/mathiasbynens/utf8.js/5566334e/utf8.js"></script>
    <script type="module">
    </script>
    <script type="module">
      import './polyfill.js';
      import 'https://cdn.rawgit.com/inexorabletash/text-encoding/b98ab30b/lib/encoding.js';
      const polyfill = module.exports;
    
      import './text.js';
    
      const runs = 1;
      const dataUrl = './utf8_sequence_0-0xffff_assigned_printable.txt';
    
      (async function() {
        let text = await window.fetch(dataUrl).then((data) => data.text());
        text = text.substr(0, 10000);
    
        function testEncodeDecode(name, tenc, tdec) {
          console.time(name + '.TextEncoder');
          let saved;
          const encoder = new tenc();
          for (let i = 0; i < runs; ++i) {
            const out = encoder.encode(text);
            saved = out;
          }
          console.info('got output', saved);
          console.timeEnd(name + '.TextEncoder');
    
          console.time(name + '.TextDecoder');
          const decoder = new tdec();
          for (let i = 0; i < runs; ++i) {
            const out = decoder.decode(saved);
            output = out;
          }
          console.timeEnd(name + '.TextDecoder');
        }
    
        let saved, output;
    
        console.time('utf8.encode');
        for (let i = 0; i < runs; ++i) {
          const s = utf8.encode(text);
          saved = s;
        }
        console.timeEnd('utf8.encode');
    
        console.time('utf8.decode');
        for (let i = 0; i < runs; ++i) {
          const out = utf8.decode(saved);
          output = out;
        }
        console.timeEnd('utf8.decode');
        if (output !== text) {
          throw new Error('utf8 got wrong answer');
        }
    
    
        testEncodeDecode('native', TextEncoder, TextDecoder);
        testEncodeDecode('fast', TextEncoderPolyfill, TextDecoderPolyfill);
        testEncodeDecode('polyfill', polyfill.TextEncoder, polyfill.TextDecoder);
    
      }());
    
    </script>
    </head>
    </html> -->