github.com/grahambrereton-form3/tilt@v0.10.18/internal/store/dirty_test.go (about) 1 package store 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestDirtyBitBasic(t *testing.T) { 10 d := NewDirtyBit() 11 assert.False(t, d.IsDirty()) 12 13 _, dirty := d.StartBuildIfDirty() 14 assert.False(t, dirty) 15 16 d.MarkDirty() 17 18 token, dirty := d.StartBuildIfDirty() 19 assert.True(t, dirty) 20 assert.True(t, d.IsDirty()) 21 22 d.FinishBuild(token) 23 assert.False(t, d.IsDirty()) 24 } 25 26 func TestDirtyBitDuringBuild(t *testing.T) { 27 d := NewDirtyBit() 28 assert.False(t, d.IsDirty()) 29 30 _, dirty := d.StartBuildIfDirty() 31 assert.False(t, dirty) 32 33 d.MarkDirty() 34 35 token, dirty := d.StartBuildIfDirty() 36 assert.True(t, dirty) 37 assert.True(t, d.IsDirty()) 38 39 d.MarkDirty() 40 41 d.FinishBuild(token) 42 assert.True(t, d.IsDirty()) 43 }