mirror of https://github.com/lukechilds/node.git
Browse Source
This test currently fails. It illustrates that Unicode in the URL does not arrive intact to the server, there is silent data corruption along the way at some point. This test is for the issue https://github.com/nodejs/node/issues/13296. PR-URL: https://github.com/nodejs/node/pull/13297 Reviewed-By: James M Snell <jasnell@gmail.com>v6
committed by
James M Snell
1 changed files with 41 additions and 0 deletions
@ -0,0 +1,41 @@ |
|||
'use strict'; |
|||
const common = require('../common'); |
|||
|
|||
// This test ensures that Unicode characters in the URL get handled correctly
|
|||
// by `http`
|
|||
// Refs: https://github.com/nodejs/node/issues/13296
|
|||
|
|||
const assert = require('assert'); |
|||
const http = require('http'); |
|||
|
|||
const expected = '/café🐶'; |
|||
|
|||
assert.strictEqual( |
|||
expected, |
|||
'/caf\u{e9}\u{1f436}', |
|||
'Sanity check that string literal produced the expected string' |
|||
); |
|||
|
|||
const server = http.createServer(common.mustCall(function(req, res) { |
|||
assert.strictEqual(req.url, expected); |
|||
req.on('data', common.mustCall(function() { |
|||
})).on('end', common.mustCall(function() { |
|||
server.close(); |
|||
res.writeHead(200); |
|||
res.end('hello world\n'); |
|||
})); |
|||
|
|||
})); |
|||
|
|||
server.listen(0, function() { |
|||
http.request({ |
|||
port: this.address().port, |
|||
path: expected, |
|||
method: 'GET' |
|||
}, common.mustCall(function(res) { |
|||
res.resume(); |
|||
})).on('error', function(e) { |
|||
console.log(e.message); |
|||
process.exit(1); |
|||
}).end(); |
|||
}); |
Loading…
Reference in new issue