Revision 156a37a385f8c27d8b35995e88b913d5cfb1e02a authored by Simon Sapin on 21 April 2016, 08:35:40 UTC, committed by Anne van Kesteren on 21 April 2016, 08:35:40 UTC
https://html.spec.whatwg.org/multipage/comms.html#dom-websocket says to parse the first argument with https://url.spec.whatwg.org/#concept-url-parser, which in turns says:

> Remove any leading and trailing C0 controls and space from input.

Which links to:

> The C0 controls and space are C0 controls and code point U+0020. 
> The C0 controls are code points in the range U+0000 to U+001F, inclusive.

So a trailing U+0000 is removed from a string when parsing it as an URL.
1 parent 3d40f9b
Raw File
response-data-deflate.htm
<!doctype html>
<html>
  <head>
    <title>XMLHttpRequest: content-encoding:deflate response was correctly inflated</title>
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
    <link rel="help" href="https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-send()-method" data-tested-assertations="following::p[contains(text(),'content-encodings')]" />
  </head>
  <body>
    <div id="log"></div>
    <script>
      function request(input) {
        var test = async_test();
        test.step(function() {
          var client = new XMLHttpRequest()

          client.open("POST", "resources/zlib.py", false);

          client.onreadystatechange = test.step_func(function () {
              if (client.readyState === 4) {
                  var len = parseInt(client.getResponseHeader('content-length'), 10);

                  assert_equals(client.getResponseHeader('content-encoding'), 'deflate');
                  assert_true(len < input.length);
                  assert_equals(client.responseText, input);
                  test.done();
              }
          });

          client.send(input);
        });
      }

      var wellCompressableData = '';
      for (var i = 0; i < 500; i++) {
          wellCompressableData += 'foofoofoofoofoofoofoo';
      }

      request(wellCompressableData);
    </script>
  </body>
</html>
back to top