mount: able to write to any part of a file

This commit is contained in:
Chris Lu
2020-01-27 00:54:52 -08:00
parent 2f6bb57979
commit 081bc1ea25
2 changed files with 82 additions and 18 deletions

View File

@@ -5,7 +5,7 @@ import (
"testing"
)
func TestContinuousIntervals_AddInterval(t *testing.T) {
func TestContinuousIntervals_AddIntervalAppend(t *testing.T) {
c := &ContinuousIntervals{}
@@ -15,6 +15,38 @@ func TestContinuousIntervals_AddInterval(t *testing.T) {
c.AddInterval(getBytes(23, 4), 2)
expectedData(t, c, 0, 25, 25, 23, 23, 23, 23)
}
func TestContinuousIntervals_AddIntervalInnerOverwrite(t *testing.T) {
c := &ContinuousIntervals{}
// 25, 25, 25, 25, 25
c.AddInterval(getBytes(25, 5), 0)
// _, _, 23, 23
c.AddInterval(getBytes(23, 2), 2)
expectedData(t, c, 0, 25, 25, 23, 23, 25)
}
func TestContinuousIntervals_AddIntervalFullOverwrite(t *testing.T) {
c := &ContinuousIntervals{}
// 25,
c.AddInterval(getBytes(25, 1), 0)
// _, _, _, _, 23, 23
c.AddInterval(getBytes(23, 2), 4)
// _, _, _, 24, 24, 24, 24
c.AddInterval(getBytes(24, 4), 3)
// _, 22, 22
c.AddInterval(getBytes(22, 2), 1)
expectedData(t, c, 0, 25, 22, 22, 24, 24, 24, 24)
}
func expectedData(t *testing.T, c *ContinuousIntervals, offset int, data ...byte) {