From 3f59e6e964db340a98e91a0a465c11528efed472 Mon Sep 17 00:00:00 2001 From: David Frank Date: Tue, 24 Mar 2015 12:31:04 +0800 Subject: [PATCH] added test cases for regex --- CHANGELOG.md | 6 +++++- test/server.js | 12 ++++++++++++ test/test.js | 20 ++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2a31c0..a3272a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,11 @@ Changelog # 1.x release -## v1.0.5 (master) +## v1.0.6 (master) + +- Fix: less greedy content-type charset matching + +## v1.0.5 - Fix: when follow = 0, fetch should not follow redirect - Enhance: update tests for better coverage diff --git a/test/server.js b/test/server.js index 7825d84..56c8dad 100644 --- a/test/server.js +++ b/test/server.js @@ -139,6 +139,18 @@ TestServer.prototype.router = function(req, res) { res.end('中文'); } + if (p === '/encoding/order1') { + res.statusCode = 200; + res.setHeader('Content-Type', 'charset=gbk; text/plain'); + res.end(convert('中文', 'gbk')); + } + + if (p === '/encoding/order2') { + res.statusCode = 200; + res.setHeader('Content-Type', 'text/plain; charset=gbk; qs=1'); + res.end(convert('中文', 'gbk')); + } + if (p === '/redirect/301') { res.statusCode = 301; res.setHeader('Location', '/inspect'); diff --git a/test/test.js b/test/test.js index 9ba66f5..8e14f3f 100644 --- a/test/test.js +++ b/test/test.js @@ -502,6 +502,26 @@ describe('node-fetch', function() { }); }); + it('should support uncommon content-type order, charset in front', function() { + url = base + '/encoding/order1'; + return fetch(url).then(function(res) { + expect(res.status).to.equal(200); + return res.text().then(function(result) { + expect(result).to.equal('中文'); + }); + }); + }); + + it('should support uncommon content-type order, end with qs', function() { + url = base + '/encoding/order2'; + return fetch(url).then(function(res) { + expect(res.status).to.equal(200); + return res.text().then(function(result) { + expect(result).to.equal('中文'); + }); + }); + }); + it('should allow piping response body as stream', function(done) { url = base + '/hello'; fetch(url).then(function(res) {