diff options
Diffstat (limited to 'fs/operations/operations_internal_test.go')
| -rw-r--r-- | fs/operations/operations_internal_test.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/fs/operations/operations_internal_test.go b/fs/operations/operations_internal_test.go new file mode 100644 index 0000000..658249e --- /dev/null +++ b/fs/operations/operations_internal_test.go @@ -0,0 +1,44 @@ +// Internal tests for operations + +package operations + +import ( + "context" + "fmt" + "testing" + "time" + + _ "github.com/mewsen/rclone-studip-backend-oot/backend/studip" + "github.com/rclone/rclone/fs" + "github.com/rclone/rclone/fs/object" + "github.com/stretchr/testify/assert" +) + +func TestSizeDiffers(t *testing.T) { + ctx := context.Background() + ci := fs.GetConfig(ctx) + when := time.Now() + for _, test := range []struct { + ignoreSize bool + srcSize int64 + dstSize int64 + want bool + }{ + {false, 0, 0, false}, + {false, 1, 2, true}, + {false, 1, -1, false}, + {false, -1, 1, false}, + {true, 0, 0, false}, + {true, 1, 2, false}, + {true, 1, -1, false}, + {true, -1, 1, false}, + } { + src := object.NewStaticObjectInfo("a", when, test.srcSize, true, nil, nil) + dst := object.NewStaticObjectInfo("a", when, test.dstSize, true, nil, nil) + oldIgnoreSize := ci.IgnoreSize + ci.IgnoreSize = test.ignoreSize + got := sizeDiffers(ctx, src, dst) + ci.IgnoreSize = oldIgnoreSize + assert.Equal(t, test.want, got, fmt.Sprintf("ignoreSize=%v, srcSize=%v, dstSize=%v", test.ignoreSize, test.srcSize, test.dstSize)) + } +} |
