(t *testing.T)
| 1820 | } |
| 1821 | |
| 1822 | func TestTreeDecodeClearsPathCache(t *testing.T) { |
| 1823 | t.Parallel() |
| 1824 | |
| 1825 | store := memory.NewStorage() |
| 1826 | oldFileHash := bytes.Repeat([]byte{0xAA}, 20) |
| 1827 | newFileHash := bytes.Repeat([]byte{0xBB}, 20) |
| 1828 | |
| 1829 | oldSubtree := newRawTreeObject(t, encodeRawTreeEntries( |
| 1830 | rawTreeEntry{"100644", "old", oldFileHash}, |
| 1831 | )) |
| 1832 | oldSubtreeHash, err := store.SetEncodedObject(oldSubtree) |
| 1833 | require.NoError(t, err) |
| 1834 | |
| 1835 | oldDir := newRawTreeObject(t, encodeRawTreeEntries( |
| 1836 | rawTreeEntry{"40000", "sub", oldSubtreeHash[:]}, |
| 1837 | )) |
| 1838 | oldDirHash, err := store.SetEncodedObject(oldDir) |
| 1839 | require.NoError(t, err) |
| 1840 | |
| 1841 | oldRoot := newRawTreeObject(t, encodeRawTreeEntries( |
| 1842 | rawTreeEntry{"40000", "dir", oldDirHash[:]}, |
| 1843 | )) |
| 1844 | |
| 1845 | newSubtree := newRawTreeObject(t, encodeRawTreeEntries( |
| 1846 | rawTreeEntry{"100644", "new", newFileHash}, |
| 1847 | )) |
| 1848 | newSubtreeHash, err := store.SetEncodedObject(newSubtree) |
| 1849 | require.NoError(t, err) |
| 1850 | |
| 1851 | newDir := newRawTreeObject(t, encodeRawTreeEntries( |
| 1852 | rawTreeEntry{"40000", "sub", newSubtreeHash[:]}, |
| 1853 | )) |
| 1854 | newDirHash, err := store.SetEncodedObject(newDir) |
| 1855 | require.NoError(t, err) |
| 1856 | |
| 1857 | newRoot := newRawTreeObject(t, encodeRawTreeEntries( |
| 1858 | rawTreeEntry{"40000", "dir", newDirHash[:]}, |
| 1859 | )) |
| 1860 | |
| 1861 | tree := &Tree{s: store} |
| 1862 | require.NoError(t, tree.Decode(oldRoot)) |
| 1863 | got, err := tree.FindEntry("dir/sub/old") |
| 1864 | require.NoError(t, err) |
| 1865 | assert.Equal(t, 0, bytes.Compare(oldFileHash, got.Hash[:])) |
| 1866 | |
| 1867 | require.NoError(t, tree.Decode(newRoot)) |
| 1868 | got, err = tree.FindEntry("dir/sub/new") |
| 1869 | require.NoError(t, err) |
| 1870 | assert.Equal(t, 0, bytes.Compare(newFileHash, got.Hash[:])) |
| 1871 | } |
| 1872 | |
| 1873 | func TestTreeFindEntryDuplicates(t *testing.T) { |
| 1874 | t.Parallel() |
nothing calls this directly
no test coverage detected
searching dependent graphs…