| 1795 | } |
| 1796 | |
| 1797 | func TestTreeDecodeClearsExistingState(t *testing.T) { |
| 1798 | t.Parallel() |
| 1799 | |
| 1800 | store := memory.NewStorage() |
| 1801 | obj := &plumbing.MemoryObject{} |
| 1802 | obj.SetType(plumbing.TreeObject) |
| 1803 | |
| 1804 | tree := &Tree{ |
| 1805 | Hash: plumbing.NewHash("1111111111111111111111111111111111111111"), |
| 1806 | Entries: []TreeEntry{ |
| 1807 | {Name: "stale", Mode: filemode.Regular}, |
| 1808 | }, |
| 1809 | s: store, |
| 1810 | t: map[string]*Tree{"stale": &Tree{}}, |
| 1811 | entriesSorted: false, |
| 1812 | } |
| 1813 | |
| 1814 | require.NoError(t, tree.Decode(obj)) |
| 1815 | assert.Equal(t, obj.Hash(), tree.Hash) |
| 1816 | assert.Empty(t, tree.Entries) |
| 1817 | assert.Same(t, store, tree.s) |
| 1818 | assert.Nil(t, tree.t) |
| 1819 | assert.True(t, tree.entriesSorted) |
| 1820 | } |
| 1821 | |
| 1822 | func TestTreeDecodeClearsPathCache(t *testing.T) { |
| 1823 | t.Parallel() |