summaryrefslogtreecommitdiff
path: root/netwerk/test/unit/test_bug331825.js
diff options
context:
space:
mode:
Diffstat (limited to 'netwerk/test/unit/test_bug331825.js')
-rw-r--r--netwerk/test/unit/test_bug331825.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/netwerk/test/unit/test_bug331825.js b/netwerk/test/unit/test_bug331825.js
new file mode 100644
index 0000000000..0533e9bc5f
--- /dev/null
+++ b/netwerk/test/unit/test_bug331825.js
@@ -0,0 +1,42 @@
+Cu.import("resource://testing-common/httpd.js");
+Cu.import("resource://gre/modules/NetUtil.jsm");
+
+var server;
+const BUGID = "331825";
+
+function TestListener() {
+}
+TestListener.prototype.onStartRequest = function(request, context) {
+}
+TestListener.prototype.onStopRequest = function(request, context, status) {
+ var channel = request.QueryInterface(Components.interfaces.nsIHttpChannel);
+ do_check_eq(channel.responseStatus, 304);
+
+ server.stop(do_test_finished);
+}
+
+function run_test() {
+ // start server
+ server = new HttpServer();
+
+ server.registerPathHandler("/bug" + BUGID, bug331825);
+
+ server.start(-1);
+
+ // make request
+ var channel = NetUtil.newChannel({
+ uri: "http://localhost:" + server.identity.primaryPort + "/bug" + BUGID,
+ loadUsingSystemPrincipal: true
+ });
+
+ channel.QueryInterface(Components.interfaces.nsIHttpChannel);
+ channel.setRequestHeader("If-None-Match", "foobar", false);
+ channel.asyncOpen2(new TestListener());
+
+ do_test_pending();
+}
+
+// PATH HANDLER FOR /bug331825
+function bug331825(metadata, response) {
+ response.setStatusLine(metadata.httpVersion, 304, "Not Modified");
+}