From 6d29faefea0f60ac6c120c2d1404a45836acbdb3 Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Thu, 5 Jan 2017 15:56:24 -0800 Subject: [PATCH] fix(Router): fix checking for object intersection --- modules/@angular/router/src/url_tree.ts | 2 +- modules/@angular/router/test/url_tree.spec.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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); });