forked from TrueCloudLab/rclone
38 lines
942 B
Go
38 lines
942 B
Go
|
package fs
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestStatePush(t *testing.T) {
|
||
|
assert.Equal(t, "", StatePush(""))
|
||
|
assert.Equal(t, "", StatePush("", ""))
|
||
|
assert.Equal(t, "a", StatePush("", "a"))
|
||
|
assert.Equal(t, "a,1,2,3", StatePush("", "a", "1,2,3"))
|
||
|
|
||
|
assert.Equal(t, "potato", StatePush("potato"))
|
||
|
assert.Equal(t, ",potato", StatePush("potato", ""))
|
||
|
assert.Equal(t, "a,potato", StatePush("potato", "a"))
|
||
|
assert.Equal(t, "a,1,2,3,potato", StatePush("potato", "a", "1,2,3"))
|
||
|
}
|
||
|
|
||
|
func TestStatePop(t *testing.T) {
|
||
|
state, value := StatePop("")
|
||
|
assert.Equal(t, "", value)
|
||
|
assert.Equal(t, "", state)
|
||
|
|
||
|
state, value = StatePop("a")
|
||
|
assert.Equal(t, "a", value)
|
||
|
assert.Equal(t, "", state)
|
||
|
|
||
|
state, value = StatePop("a,1,2,3")
|
||
|
assert.Equal(t, "a", value)
|
||
|
assert.Equal(t, "1,2,3", state)
|
||
|
|
||
|
state, value = StatePop("1,2,3,a")
|
||
|
assert.Equal(t, "1,2,3", value)
|
||
|
assert.Equal(t, "a", state)
|
||
|
}
|