Update web-platform-tests to revision 0d318188757a9c996e20b82db201fd04de5aa255

This commit is contained in:
James Graham 2015-03-27 09:15:38 +00:00
parent b2a5225831
commit 1a81b18b9f
12321 changed files with 544385 additions and 6 deletions

View file

@ -0,0 +1,23 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: bufferedAmount for ArrayBuffer</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
async_test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
var datasize = 10;
ws.onopen = t.step_func(function(e) {
ws.binaryType = "arraybuffer";
var data = new ArrayBuffer(datasize);
ws.send(data);
assert_equals(ws.bufferedAmount, data.byteLength);
})
ws.onmessage = t.step_func(function(e) {
assert_equals(e.data.byteLength, datasize);
t.done();
})
});
</script>

View file

@ -0,0 +1,24 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: bufferedAmount for blob</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
async_test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
var datasize = 10;
ws.onopen = t.step_func(function(e) {
ws.binaryType = "blob";
var data = new ArrayBuffer(datasize);
ws.send(data);
assert_equals(ws.bufferedAmount, data.byteLength);
});
ws.onmessage = t.step_func(function(e) {
assert_true(e.data instanceof Blob);
assert_equals(e.data.size, datasize);
t.done();
});
});
</script>

View file

@ -0,0 +1,16 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: defineProperty getter for bufferedAmount</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
test(function(){
Object.defineProperty(WebSocket.prototype, 'bufferedAmount', {
get: function() { return 'foo'; }
});
var ws = new WebSocket('ws://example.invalid/');
assert_equals(ws.bufferedAmount, 'foo');
});
</script>

View file

@ -0,0 +1,18 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: defineProperty setter for bufferedAmount</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
test(function() {
window.setter_ran = false;
Object.defineProperty(WebSocket.prototype, 'bufferedAmount', {
set: function(v) { window[v] = true; }
});
var ws = new WebSocket('ws://example.invalid/');
ws.bufferedAmount = 'setter_ran';
assert_true(setter_ran);
});
</script>

View file

@ -0,0 +1,21 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: delete bufferedAmount</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
test(function(){
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
assert_equals(ws.bufferedAmount, 0, 'after creation');
ws.close();
delete ws.bufferedAmount;
assert_equals(ws.bufferedAmount, 0,
'after attempt to delete ws.bufferedAmount');
delete WebSocket.prototype.bufferedAmount;
assert_equals(ws.bufferedAmount, undefined,
'after attempt to delete WebSocket.prototype.bufferedAmount');
});
</script>

View file

@ -0,0 +1,51 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: bufferedAmount after send()ing</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
async_test(function(t){
// bufferedAmount should increase sync in the send() method and decrease between
// events in the event loop (so never while script is running).
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
ws.onopen = t.step_func(function(e) {
ws.send('x');
assert_equals(ws.bufferedAmount, 1, 'bufferedAmount after sent "x"');
ws.send('\u00E5');
assert_equals(ws.bufferedAmount, 1+2, 'bufferedAmount after sent "x", "\u00E5"');
ws.send('\u5336');
assert_equals(ws.bufferedAmount, 1+2+3, 'bufferedAmount after sent "x", "\u00E5", "\u5336"');
ws.send('\uD801\uDC7E');
assert_equals(ws.bufferedAmount, 1+2+3+4, 'bufferedAmount after sent "x", "\u00E5", "\u5336", "\uD801\uDC7E"');
})
var i = 0;
ws.onmessage = t.step_func(function(e) {
i++;
switch(i) {
case 1:
assert_equals(e.data, 'x');
assert_true(ws.bufferedAmount < 2+3+4 + 1, 'bufferedAmount after received "x"');
break;
case 2:
assert_equals(e.data, '\u00E5');
assert_true(ws.bufferedAmount < 3+4 + 1, 'bufferedAmount after received "x", "\u00E5"');
break;
case 3:
assert_equals(e.data, '\u5336');
assert_true(ws.bufferedAmount < 4 + 1, 'bufferedAmount after received "x", "\u00E5", "\u5336"');
break;
case 4:
assert_equals(e.data, '\uD801\uDC7E');
assert_equals(ws.bufferedAmount, 0, 'bufferedAmount after received "x", "\u00E5", "\u5336", "\uD801\uDC7E"');
t.done();
break;
default:
assert_unreached(i);
}
})
ws.onerror = ws.onclose = t.step_func(function() {assert_unreached()});
});
</script>

View file

@ -0,0 +1,13 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: getting bufferedAmount</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
test(function(){
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/');
assert_equals(ws.bufferedAmount, 0);
});
</script>

View file

@ -0,0 +1,25 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: bufferedAmount for 65K data</title>
<meta name=timeout content=long>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
async_test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
var data = "";
ws.onopen = t.step_func(function(e) {
for (var i = 0; i < 65000; i++) {
data = data + "x";
}
ws.send(data);
assert_equals(data.length, ws.bufferedAmount);
});
ws.onmessage = t.step_func(function(e) {
assert_equals(e.data, data);
t.done();
})
}, null, {timeout:20000});
</script>

View file

@ -0,0 +1,14 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: setting bufferedAmount</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
test(function(){
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/');
ws.bufferedAmount = 5;
assert_equals(ws.bufferedAmount, 0);
});
</script>

View file

@ -0,0 +1,21 @@
<!doctype html>
<meta charset=utf-8>
<title>WebSockets: bufferedAmount for unicode data</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>
async_test(function(t) {
var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
var data = "¥¥¥¥¥¥";
ws.onopen = t.step_func(function(e) {
ws.send(data);
assert_equals(data.length * 2, ws.bufferedAmount);
});
ws.onmessage = t.step_func(function(e) {
assert_equals(e.data, data);
t.done();
});
});
</script>