MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestIsDeltaError

Function TestIsDeltaError

base/util_test.go:757–806  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

755}
756
757func TestIsDeltaError(t *testing.T) {
758 tests := []struct {
759 name string
760 err error
761 deltaError bool
762 }{
763 {
764 name: "nil",
765 err: nil,
766 deltaError: false,
767 },
768 {
769 name: "non-delta error",
770 err: errors.New("foo"),
771 deltaError: false,
772 },
773 {
774 name: "empty delta error",
775 err: FleeceDeltaError{},
776 deltaError: true,
777 },
778 {
779 name: "delta error",
780 err: FleeceDeltaError{e: errors.New("foo")},
781 deltaError: true,
782 },
783 {
784 name: "1.13 wrapped delta error",
785 err: fmt.Errorf("bar: %w", FleeceDeltaError{e: errors.New("foo")}),
786 deltaError: true,
787 },
788 {
789 name: "1.13 wrapped non-delta error",
790 err: fmt.Errorf("bar: %w", errors.New("foo")),
791 deltaError: false,
792 },
793 // errors wrapped with pkg/errors don't support Go 1.13's errors.As/errors.Is
794 // {
795 // name: "pkgerr wrapped delta error",
796 // err: pkgerrors.Wrap(FleeceDeltaError{errors.New("foo")}, "bar"),
797 // deltaError: true,
798 // },
799 }
800
801 for _, test := range tests {
802 t.Run(test.name, func(t *testing.T) {
803 assert.Equal(t, test.deltaError, IsFleeceDeltaError(test.err))
804 })
805 }
806}
807
808// Test to ensure that InjectJSONProperties does not mutate the given byte slice, and instead only returns a modified copy.
809func TestInjectJSONPropertiesMutable(t *testing.T) {

Callers

nothing calls this directly

Calls 4

IsFleeceDeltaErrorFunction · 0.85
ErrorfMethod · 0.80
RunMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected