Skip to content

Commit

Permalink
test: add known_test request with Unicode in the URL
Browse files Browse the repository at this point in the history
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 #13296.

PR-URL: #13297
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
Flimm authored and jasnell committed Jun 5, 2017
1 parent 92de432 commit d1b39d9
Showing 1 changed file with 41 additions and 0 deletions.
41 changes: 41 additions & 0 deletions test/known_issues/test-http-path-contains-unicode.js
Original file line number Diff line number Diff line change
@@ -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();
});

0 comments on commit d1b39d9

Please sign in to comment.