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  }