(t *testing.T)
| 548 | } |
| 549 | |
| 550 | func TestChain_Path(t *testing.T) { |
| 551 | path := func(c *chain) string { |
| 552 | return strings.Join(c.context.Path, ".") |
| 553 | } |
| 554 | |
| 555 | rootChain := newChainWithDefaults("root", newMockReporter(t)) |
| 556 | |
| 557 | assert.Equal(t, "root", path(rootChain)) |
| 558 | |
| 559 | opChain1 := rootChain.enter("foo") |
| 560 | |
| 561 | assert.Equal(t, "root", path(rootChain)) |
| 562 | assert.Equal(t, "root.foo", path(opChain1)) |
| 563 | |
| 564 | opChain2 := opChain1.enter("bar") |
| 565 | |
| 566 | assert.Equal(t, "root", path(rootChain)) |
| 567 | assert.Equal(t, "root.foo", path(opChain1)) |
| 568 | assert.Equal(t, "root.foo.bar", path(opChain2)) |
| 569 | |
| 570 | opChain2Clone := opChain2.clone() |
| 571 | opChain3 := opChain2Clone.enter("baz") |
| 572 | |
| 573 | assert.Equal(t, "root", path(rootChain)) |
| 574 | assert.Equal(t, "root.foo", path(opChain1)) |
| 575 | assert.Equal(t, "root.foo.bar", path(opChain2)) |
| 576 | assert.Equal(t, "root.foo.bar", path(opChain2Clone)) |
| 577 | assert.Equal(t, "root.foo.bar.baz", path(opChain3)) |
| 578 | |
| 579 | opChain1r := opChain1.replace("xxx") |
| 580 | opChain3r := opChain3.replace("yyy") |
| 581 | |
| 582 | assert.Equal(t, "root", path(rootChain)) |
| 583 | assert.Equal(t, "root.foo", path(opChain1)) |
| 584 | assert.Equal(t, "root.foo.bar", path(opChain2)) |
| 585 | assert.Equal(t, "root.foo.bar", path(opChain2Clone)) |
| 586 | assert.Equal(t, "root.foo.bar.baz", path(opChain3)) |
| 587 | assert.Equal(t, "root.xxx", path(opChain1r)) |
| 588 | assert.Equal(t, "root.foo.bar.yyy", path(opChain3r)) |
| 589 | } |
| 590 | |
| 591 | func TestChain_AliasedPath(t *testing.T) { |
| 592 | path := func(c *chain) string { |
nothing calls this directly
no test coverage detected
searching dependent graphs…