summaryrefslogtreecommitdiff
path: root/test/known_issues
diff options
context:
space:
mode:
Diffstat (limited to 'test/known_issues')
-rw-r--r--test/known_issues/test-http-path-contains-unicode.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/known_issues/test-http-path-contains-unicode.js b/test/known_issues/test-http-path-contains-unicode.js
new file mode 100644
index 0000000000..8f90a0d57f
--- /dev/null
+++ b/test/known_issues/test-http-path-contains-unicode.js
@@ -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();
+});