Example #1
0
exports.testHttpStatus = function () {
    var res = new JsgiResponse();

    var expected = new JsgiResponse({
        status: 200,
        headers: { "content-type": "text/plain; charset=utf-8" },
        body: [""]
    });

    // test initial state
    assert.deepEqual(res, expected);

    // Change status to 201
    res.setStatus(201);
    expected.status = 201;
    assert.deepEqual(res, expected);

    // Change status back to 200
    res.ok();
    expected.status = 200;
    assert.deepEqual(res, expected);

    // Change status to 201
    res.created();
    expected.status = 201;
    assert.deepEqual(res, expected);

    // Test other status codes
    res.bad();
    expected.status = 400;
    assert.deepEqual(res, expected);

    res.unauthorized();
    expected.status = 401;
    assert.deepEqual(res, expected);

    res.forbidden();
    expected.status = 403;
    assert.deepEqual(res, expected);

    res.notFound();
    expected.status = 404;
    assert.deepEqual(res, expected);

    res.gone();
    expected.status = 410;
    assert.deepEqual(res, expected);

    res.error();
    expected.status = 500;
    assert.deepEqual(res, expected);

    res.unavailable();
    expected.status = 503;
    assert.deepEqual(res, expected);

    res.notModified();
    expected.status = 304;
    expected.headers = {};
    assert.deepEqual(res, expected);

    res.redirect("http://ringojs.org/");
    expected.status = 303
    expected.headers = { location: "http://ringojs.org/" };
    expected.body = ["See other: http://ringojs.org/"];
    assert.deepEqual(res, expected);
};