mirror of https://github.com/rclone/rclone.git
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)
|
||
}
|