mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-11-19 18:38:36 +00:00
90 lines
3.6 KiB
HTML
90 lines
3.6 KiB
HTML
|
<head>
|
||
|
<title>NPN_Get/PostURLNotify tests</title>
|
||
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||
|
<script type="application/javascript" src="plugin-utils.js"></script>
|
||
|
|
||
|
<body onload="runTests()">
|
||
|
<script class="testbody" type="application/javascript">
|
||
|
SimpleTest.waitForExplicitFinish();
|
||
|
SimpleTest.requestFlakyTimeout("untriaged");
|
||
|
setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED);
|
||
|
|
||
|
var pending = 5;
|
||
|
function testDone() {
|
||
|
dump("testDone: " + pending + "\n")
|
||
|
--pending;
|
||
|
|
||
|
// Wait for a bit so that any unexpected notifications from the
|
||
|
// malformed data or null-post tests are received.
|
||
|
if (0 == pending)
|
||
|
window.setTimeout(SimpleTest.finish, 2000);
|
||
|
}
|
||
|
|
||
|
function runTests() {
|
||
|
var p = document.getElementById('plugin1');
|
||
|
|
||
|
ok(p.streamTest("loremipsum.txt", false, null, null,
|
||
|
function(r, t) {
|
||
|
is(r, 0, "GET loremipsum.txt");
|
||
|
is(t.substr(0, 11), "Lorem ipsum",
|
||
|
"GET loremipsum.txt correct");
|
||
|
testDone();
|
||
|
}, null, true), "streamTest GET");
|
||
|
|
||
|
ok(!p.streamTest("post.sjs", true, null, null,
|
||
|
function(r, t) {
|
||
|
ok(false, "Shouldn't get callback from null post");
|
||
|
}, null, true), "streamTest POST null postdata");
|
||
|
|
||
|
ok(p.streamTest("post.sjs", true, "Something good", null,
|
||
|
function(r, t) {
|
||
|
is(r, 0, "POST something good");
|
||
|
is(t, "Something good", "POST non-null correct");
|
||
|
testDone();
|
||
|
}, null, true), "streamTest POST valid postdata");
|
||
|
|
||
|
ok(p.streamTest("http://example.invalid/", false, null, null,
|
||
|
function(r, t) {
|
||
|
is(r, 1, "Shouldn't load example.invalid DNS name");
|
||
|
testDone();
|
||
|
}, null, true), "streamTest GET bad DNS");
|
||
|
|
||
|
ok(!p.streamTest("http://localhost:-8/", false, null, null,
|
||
|
function(r, t) {
|
||
|
ok(false, "Shouldn't get callback from malformed URI");
|
||
|
}, null, true), "streamTest GET invalid URL");
|
||
|
|
||
|
ok(p.streamTest("javascript:'Hello';", false, null, null,
|
||
|
function(r, t) {
|
||
|
is(r, 0, "GET javascript: URI");
|
||
|
is(t, "Hello", "GET javascript: URI correct");
|
||
|
testDone();
|
||
|
}, null, true), "streamTest GET javascript: URI");
|
||
|
|
||
|
/*
|
||
|
* XXX/cjones: disabled for now because it appears to be hard to make
|
||
|
* mochitest ignore the malformed javascript
|
||
|
|
||
|
ok(!p.streamTest("javascript:syntax##$&*@error-*", false, null,
|
||
|
function(r, t) {
|
||
|
is(r, 1, "Shouldn't load invalid javascript: URI");
|
||
|
testDone();
|
||
|
}), "streamTest GET bad javascript: URI");
|
||
|
*/
|
||
|
|
||
|
ok(p.streamTest("data:text/plain,World", false, null, null,
|
||
|
function(r, t) {
|
||
|
is(r, 0, "GET data: URI");
|
||
|
is(t, "World", "GET data: URI correct");
|
||
|
testDone();
|
||
|
}, null, true), "streamTest GET data: URI");
|
||
|
|
||
|
ok(!p.streamTest("data:malformed?", false, null, null,
|
||
|
function(r, t) {
|
||
|
todo(false, "Shouldn't get callback for invalid data: URI");
|
||
|
}, null, true), "streamTest GET bad data: URI");
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<embed id="plugin1" type="application/x-test" width="400" height="400"></embed>
|