fix(router): url serializer should handle segments without primary children

This commit is contained in:
vsavkin
2016-06-19 13:45:40 -07:00
parent f164715678
commit 0c50bc6449
3 changed files with 38 additions and 25 deletions

View File

@ -28,6 +28,33 @@ describe('url serializer', () => {
expect(url.serialize(tree)).toEqual("/one/two(left:three//right:four)");
});
it("should parse segments with empty paths", () => {
const tree = url.parse("/one/two/(;a=1//right:;b=2)");
const c = tree.root.children[PRIMARY_OUTLET];
expectSegment(tree.root.children[PRIMARY_OUTLET], "one/two", true);
expect(c.children[PRIMARY_OUTLET].pathsWithParams[0].path).toEqual('');
expect(c.children[PRIMARY_OUTLET].pathsWithParams[0].parameters).toEqual({a: '1'});
expect(c.children['right'].pathsWithParams[0].path).toEqual('');
expect(c.children['right'].pathsWithParams[0].parameters).toEqual({b: '2'});
expect(url.serialize(tree)).toEqual("/one/two/(;a=1//right:;b=2)");
});
it("should parse segments with empty paths (only aux)", () => {
const tree = url.parse("/one/two/(right:;b=2)");
const c = tree.root.children[PRIMARY_OUTLET];
expectSegment(tree.root.children[PRIMARY_OUTLET], "one/two", true);
expect(c.children['right'].pathsWithParams[0].path).toEqual('');
expect(c.children['right'].pathsWithParams[0].parameters).toEqual({b: '2'});
expect(url.serialize(tree)).toEqual("/one/two/(right:;b=2)");
});
it("should parse scoped secondary segments", () => {
const tree = url.parse("/one/(two//left:three)");