Merge pull request #501 from sveltejs/gh-497

consistent query parameter handling between client and server
This commit is contained in:
Rich Harris
2018-10-27 12:35:58 -04:00
committed by GitHub
5 changed files with 33 additions and 15 deletions

View File

@@ -1,9 +1 @@
<h1>message: "{message}"</h1>
<script>
export default {
preload({ query }) {
return query;
}
};
</script>
<h1>{JSON.stringify(query)}</h1>

View File

@@ -3,5 +3,6 @@
<a href="a">a</a>
<a href="ambiguous/ok.json">ok</a>
<a href="echo-query?message">ok</a>
<a href="echo-query?p=one&p=two">ok</a>
<div class='hydrate-test'></div>

View File

@@ -204,7 +204,7 @@ describe('basics', function() {
assert.equal(
await title(),
'message: ""'
'{"message":""}'
);
});
@@ -217,7 +217,29 @@ describe('basics', function() {
assert.equal(
await title(),
'message: ""'
'{"message":""}'
);
});
it('accepts duplicated query string parameter on server', async () => {
await page.goto(`${base}/echo-query?p=one&p=two`);
assert.equal(
await title(),
'{"p":["one","two"]}'
);
});
it('accepts duplicated query string parameter on client', async () => {
await page.goto(base);
await start();
await prefetchRoutes();
await page.click('a[href="echo-query?p=one&p=two"]')
assert.equal(
await title(),
'{"p":["one","two"]}'
);
});