github.com/jordwest/imap-server@v0.0.0-20200627020849-1cf758ba359f/types/flags_test.go (about) 1 package types 2 3 import "testing" 4 5 func TestCombine(t *testing.T) { 6 c1 := CombineFlags(FlagSeen, FlagDraft|FlagDeleted) 7 8 if c1 != (FlagSeen | FlagDraft | FlagDeleted) { 9 t.Errorf("Combined flags do not match") 10 } 11 } 12 13 func TestSetReset(t *testing.T) { 14 c1 := (FlagSeen | FlagDraft | FlagDeleted) 15 c1 = c1.ResetFlags(FlagDraft) 16 17 expected := (FlagSeen | FlagDeleted) 18 if c1 != expected { 19 t.Errorf("Expected %d, Actual %d", expected, c1) 20 } 21 22 // What if we try to remove a flag that already doesn't exist? 23 c1 = c1.ResetFlags(FlagDraft) 24 if c1 != expected { 25 t.Errorf("Expected %d, Actual %d", expected, c1) 26 } 27 28 } 29 30 func TestHasFlags(t *testing.T) { 31 c1 := (FlagSeen | FlagDraft | FlagDeleted) 32 33 if !c1.HasFlags(FlagSeen) { 34 t.Errorf("HasFlags should return true") 35 } 36 37 if !c1.HasFlags(FlagSeen | FlagDraft | FlagDeleted) { 38 t.Errorf("HasFlags should return true") 39 } 40 41 if c1.HasFlags(FlagSeen | FlagDraft | FlagDeleted | FlagRecent) { 42 t.Errorf("HasFlags should return false") 43 } 44 45 } 46 47 func TestFlagsFromString(t *testing.T) { 48 c1 := FlagsFromString("\\Deleted \\Seen") 49 50 expected := Flags(FlagDeleted | FlagSeen) 51 52 if c1 != expected { 53 t.Errorf("Expected %d, Actual %d", expected, c1) 54 } 55 }