|  | // Copyright 2014 The Flutter Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | @TestOn('browser') // Uses web-only Flutter SDK | 
|  |  | 
|  | import 'package:flutter_test/flutter_test.dart'; | 
|  | import 'package:flutter_web_plugins/src/navigation/utils.dart'; | 
|  |  | 
|  | void main() { | 
|  | test('checks base href', () { | 
|  | expect(() => checkBaseHref(null), throwsException); | 
|  | expect(() => checkBaseHref('foo'), throwsException); | 
|  | expect(() => checkBaseHref('/foo'), throwsException); | 
|  | expect(() => checkBaseHref('foo/bar'), throwsException); | 
|  | expect(() => checkBaseHref('/foo/bar'), throwsException); | 
|  |  | 
|  | expect(() => checkBaseHref('/'), returnsNormally); | 
|  | expect(() => checkBaseHref('/foo/'), returnsNormally); | 
|  | expect(() => checkBaseHref('/foo/bar/'), returnsNormally); | 
|  | }); | 
|  |  | 
|  | test('extracts pathname from URL', () { | 
|  | expect(extractPathname('/'), '/'); | 
|  | expect(extractPathname('/foo'), '/foo'); | 
|  | expect(extractPathname('/foo/'), '/foo/'); | 
|  | expect(extractPathname('/foo/bar'), '/foo/bar'); | 
|  | expect(extractPathname('/foo/bar/'), '/foo/bar/'); | 
|  |  | 
|  | expect(extractPathname('https://example.com'), '/'); | 
|  | expect(extractPathname('https://example.com/'), '/'); | 
|  | expect(extractPathname('https://example.com/foo'), '/foo'); | 
|  | expect(extractPathname('https://example.com/foo#bar'), '/foo'); | 
|  | expect(extractPathname('https://example.com/foo/#bar'), '/foo/'); | 
|  | }); | 
|  | } |