| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- package core
 
- import (
 
- 	"testing"
 
- 	"gopkg.in/src-d/go-git.v4"
 
- 	"github.com/stretchr/testify/assert"
 
- )
 
- type testForkPipelineItem struct {
 
- 	NoopMerger
 
- 	Mutable map[int]bool
 
- 	Immutable string
 
- }
 
- func (item *testForkPipelineItem) Name() string {
 
- 	return "Test"
 
- }
 
- func (item *testForkPipelineItem) Provides() []string {
 
- 	arr := [...]string{"test"}
 
- 	return arr[:]
 
- }
 
- func (item *testForkPipelineItem) Requires() []string {
 
- 	return []string{}
 
- }
 
- func (item *testForkPipelineItem) Configure(facts map[string]interface{}) {
 
- }
 
- func (item *testForkPipelineItem) ListConfigurationOptions() []ConfigurationOption {
 
- 	return nil
 
- }
 
- func (item *testForkPipelineItem) Flag() string {
 
- 	return "mytest"
 
- }
 
- func (item *testForkPipelineItem) Features() []string {
 
- 	return nil
 
- }
 
- func (item *testForkPipelineItem) Initialize(repository *git.Repository) {
 
- 	item.Mutable = map[int]bool{}
 
- }
 
- func (item *testForkPipelineItem) Consume(deps map[string]interface{}) (map[string]interface{}, error) {
 
- 	return map[string]interface{}{"test": "foo"}, nil
 
- }
 
- func (item *testForkPipelineItem) Fork(n int) []PipelineItem {
 
- 	return ForkCopyPipelineItem(item, n)
 
- }
 
- func TestForkCopyPipelineItem(t *testing.T) {
 
- 	origin := &testForkPipelineItem{}
 
- 	origin.Initialize(nil)
 
- 	origin.Mutable[2] = true
 
- 	origin.Immutable = "before"
 
- 	clone := origin.Fork(1)[0].(*testForkPipelineItem)
 
- 	origin.Immutable = "after"
 
- 	origin.Mutable[1] = true
 
- 	assert.True(t, clone.Mutable[1])
 
- 	assert.True(t, clone.Mutable[2])
 
- 	assert.Equal(t, "before", clone.Immutable)
 
- }
 
 
  |