| Index: pkg/shelf/test/request_test.dart
|
| diff --git a/pkg/shelf/test/request_test.dart b/pkg/shelf/test/request_test.dart
|
| index c48a4f73a767810f92fa5924cb46080d990d7a10..fed460f2f6bd3921d9a02b4ff21492e5fbb8724d 100644
|
| --- a/pkg/shelf/test/request_test.dart
|
| +++ b/pkg/shelf/test/request_test.dart
|
| @@ -168,5 +168,42 @@ void main() {
|
| ..close();
|
| });
|
| });
|
| +
|
| + group('with just scriptName', () {
|
| + test('updates url if scriptName matches existing url', () {
|
| + var uri = Uri.parse('https://test.example.com/static/file.html');
|
| + var request = new Request('GET', uri);
|
| + var copy = request.change(scriptName: '/static');
|
| +
|
| + expect(copy.scriptName, '/static');
|
| + expect(copy.url, Uri.parse('/file.html'));
|
| + });
|
| +
|
| + test('throws if striptName does not match existing url', () {
|
| + var uri = Uri.parse('https://test.example.com/static/file.html');
|
| + var request = new Request('GET', uri);
|
| +
|
| + expect(() => request.change(scriptName: '/nope'), throwsArgumentError);
|
| + });
|
| + });
|
| +
|
| + test('url', () {
|
| + var uri = Uri.parse('https://test.example.com/static/file.html');
|
| + var request = new Request('GET', uri);
|
| + var copy = request.change(url: Uri.parse('/other_path/file.html'));
|
| +
|
| + expect(copy.scriptName, '');
|
| + expect(copy.url, Uri.parse('/other_path/file.html'));
|
| + });
|
| +
|
| + test('scriptName and url', () {
|
| + var uri = Uri.parse('https://test.example.com/static/file.html');
|
| + var request = new Request('GET', uri);
|
| + var copy = request.change(scriptName: '/dynamic',
|
| + url: Uri.parse('/other_path/file.html'));
|
| +
|
| + expect(copy.scriptName, '/dynamic');
|
| + expect(copy.url, Uri.parse('/other_path/file.html'));
|
| + });
|
| });
|
| }
|
|
|