diff --git a/modules/@angular/router/src/url_tree.ts b/modules/@angular/router/src/url_tree.ts index 7888435716..ae9e6fbe04 100644 --- a/modules/@angular/router/src/url_tree.ts +++ b/modules/@angular/router/src/url_tree.ts @@ -40,7 +40,7 @@ function equalSegmentGroups(container: UrlSegmentGroup, containee: UrlSegmentGro function containsQueryParams( container: {[k: string]: string}, containee: {[k: string]: string}): boolean { - return Object.keys(containee) <= Object.keys(container) && + return Object.keys(containee).length <= Object.keys(container).length && Object.keys(containee).every(key => containee[key] === container[key]); } diff --git a/modules/@angular/router/test/url_tree.spec.ts b/modules/@angular/router/test/url_tree.spec.ts index d9d57c572b..f60151ddcc 100644 --- a/modules/@angular/router/test/url_tree.spec.ts +++ b/modules/@angular/router/test/url_tree.spec.ts @@ -102,8 +102,8 @@ describe('UrlTree', () => { }); it('should return true when container contains containees queryParams', () => { - const t1 = serializer.parse('/one/two?test=1&page=5'); - const t2 = serializer.parse('/one/two?test=1'); + const t1 = serializer.parse('/one/two?test=1&u=5'); + const t2 = serializer.parse('/one/two?u=5'); expect(containsTree(t1, t2, false)).toBe(true); });