summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2021-10-01 02:25:57 +0900
committerGitHub <noreply@github.com>2021-10-01 02:25:57 +0900
commita73a787753a24259ec0846ea5e9c92d072e1fe89 (patch)
treea793cb5b502329706fb1b6a73986d0b272e5589f
parentrefactor: prelude/urlでquerystringを使用しないように (diff)
downloadsharkey-a73a787753a24259ec0846ea5e9c92d072e1fe89.tar.gz
sharkey-a73a787753a24259ec0846ea5e9c92d072e1fe89.tar.bz2
sharkey-a73a787753a24259ec0846ea5e9c92d072e1fe89.zip
Fix prelude/url (#7855)
-rw-r--r--src/prelude/url.ts2
-rw-r--r--test/prelude/url.ts13
2 files changed, 14 insertions, 1 deletions
diff --git a/src/prelude/url.ts b/src/prelude/url.ts
index ce75fe89d1..c7f2b7c1e7 100644
--- a/src/prelude/url.ts
+++ b/src/prelude/url.ts
@@ -4,7 +4,7 @@ export function query(obj: {}): string {
.reduce((a, [k, v]) => (a[k] = v, a), {} as Record<string, any>);
return Object.entries(params)
- .map((e) => `${e[0]}=${e[1]}`)
+ .map((e) => `${e[0]}=${encodeURIComponent(e[1])}`)
.join('&');
}
diff --git a/test/prelude/url.ts b/test/prelude/url.ts
new file mode 100644
index 0000000000..1f814968a6
--- /dev/null
+++ b/test/prelude/url.ts
@@ -0,0 +1,13 @@
+import * as assert from 'assert';
+import { query } from '../../src/prelude/url';
+
+describe('url', () => {
+ it('query', () => {
+ const s = query({
+ foo: 'ふぅ',
+ bar: 'b a r',
+ baz: undefined
+ });
+ assert.deepStrictEqual(s, 'foo=%E3%81%B5%E3%81%85&bar=b%20a%20r');
+ });
+});