fix(router): handle url fragments when no url segments present

This commit is contained in:
vsavkin 2016-07-22 16:56:10 -07:00
parent 8d90a5a4cf
commit 43437c175a
3 changed files with 30 additions and 26 deletions

View File

@ -294,7 +294,7 @@ class UrlParser {
this.capture('/');
}
if (this.remaining === '' || this.remaining.startsWith('?')) {
if (this.remaining === '' || this.remaining.startsWith('?') || this.remaining.startsWith('#')) {
return new UrlSegment([], {});
} else {
return new UrlSegment([], this.parseSegmentChildren());

View File

@ -1237,9 +1237,8 @@ describe('Integration', () => {
children: [{
path: 'link',
component: DummyLinkWithParentCmp,
children: [
{path: 'simple', component: SimpleCmp}, {path: '', component: BlankCmp}
]
children:
[{path: 'simple', component: SimpleCmp}, {path: '', component: BlankCmp}]
}]
}]);

View File

@ -156,6 +156,11 @@ describe('url serializer', () => {
expect(url.serialize(tree)).toEqual('/one#two');
});
it('should parse fragment (root)', () => {
const tree = url.parse('/#one');
expectSegment(tree.root, '');
expect(url.serialize(tree)).toEqual('/#one');
});
it('should parse empty fragment', () => {
const tree = url.parse('/one#');