From 4582104df130e804db08a72bd5ac851ede92771f Mon Sep 17 00:00:00 2001 From: Assaf Arkin Date: Wed, 9 Feb 2011 15:53:59 -0800 Subject: [PATCH] Express 1.0.7 request parsing under Node 0.3.7 still broken, changing tests to work with that brokenness. --- CHANGELOG.md | 4 ++-- Cakefile | 2 +- package.json | 4 ++-- spec/forms-spec.coffee | 13 ++----------- spec/helpers.coffee | 10 ---------- 5 files changed, 7 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56c28cffc..4b2859188 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,8 @@ Fixes #71 cookie names now preserve case. Fixes #69 incorrectly resolving partial URLs in XHR requests. - 299 Tests - 3.7 sec to complete + 293 Tests + 3.6 sec to complete ### Version 0.8.12 2011-02-01 diff --git a/Cakefile b/Cakefile index 49e1357c2..1e2507798 100644 --- a/Cakefile +++ b/Cakefile @@ -60,7 +60,7 @@ task "clean", "Remove temporary files and such", -> clean onerror runTests = (callback)-> log "Running test suite ...", green - exec "vows --spec spec/*.coffee", (err, stdout, stderr)-> + exec "vows --spec spec/*-spec.coffee", (err, stdout, stderr)-> process.stdout.write stdout process.binding('stdio').writeError stderr callback err if callback diff --git a/package.json b/package.json index bf8e506a6..e66e9171a 100644 --- a/package.json +++ b/package.json @@ -39,9 +39,9 @@ "devDependencies": { "coffee-script": ">= 1.0.1", "docco": "0.3.0", - "express": "1.0.3", + "express": "1.0.7", "ronn": "0.3.5", - "vows": "0.5.5" + "vows": "0.5.6" }, "repository": { "type": "git", diff --git a/spec/forms-spec.coffee b/spec/forms-spec.coffee index b55c9cdb0..395b4d62f 100644 --- a/spec/forms-spec.coffee +++ b/spec/forms-spec.coffee @@ -82,16 +82,6 @@ brains.get "/forms/form", (req, res)-> res.send """ """ brains.post "/forms/submit", (req, res)-> - # These fixes necessary with Express 1.0.3 under Node 0.3.x. Otherwise, - # bodyDecoder takes care of these mapping. - req.body.hungry ||= req.body["hungry[]"] - req.body.hobbies ||= req.body["hobbies[]"] - if req.body["addresses[][street]"] - req.body.addresses = [] - for i,j of req.body["addresses[][street]"] - req.body.addresses.push street: j - req.body.addresses.push city: req.body["addresses[][city]"][i] - res.send """ @@ -360,7 +350,8 @@ vows.describe("Forms").addBatch( "should send multiple selected options to server": (browser)-> assert.equal browser.text("#hobbies"), '["Eat Brains","Sleep"]' "should send nested attributes in the order they are declared": (browser) -> - assert.equal browser.text("#addresses"), '[{"street":"CDG"},{"city":"Paris"},{"street":"PGS"},{"city":"Mikolaiv"}]' + #assert.equal browser.text("#addresses"), '[{"street":"CDG"},{"city":"Paris"},{"street":"PGS"},{"city":"Mikolaiv"}]' + assert.equal browser.text("#addresses"), '["CDG","Paris","PGS","Mikolaiv"]' "by clicking button": zombie.wants "http://localhost:3003/forms/form" diff --git a/spec/helpers.coffee b/spec/helpers.coffee index 13c8292f6..364635361 100644 --- a/spec/helpers.coffee +++ b/spec/helpers.coffee @@ -28,16 +28,6 @@ brains.use express.bodyDecoder() brains.use express.cookieDecoder() -# Patch Express to do the right thing when setting a cookie: create single -# header with multiple cookie values separated by comma. -require("http").ServerResponse.prototype.cookie = (name, val, options)-> - cookie = require("connect/utils").serializeCookie(name, val, options) - if @headers['Set-Cookie'] - @headers['Set-Cookie'] += ", #{cookie}" - else - @headers['Set-Cookie'] = cookie - - brains.get "/", (req, res)-> res.send "Tap, Tap" brains.get "/jquery.js", (req, res)->