mirror of
https://github.com/rclone/rclone.git
synced 2024-11-22 13:26:11 +08:00
fs: add IsSet convenience method to Bits
This commit is contained in:
parent
7434ad8618
commit
12db7b6935
|
@ -114,6 +114,11 @@ func (b *Bits[C]) Set(s string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// IsSet returns true all the bits in mask are set in b.
|
||||
func (b Bits[C]) IsSet(mask Bits[C]) bool {
|
||||
return (b & mask) == mask
|
||||
}
|
||||
|
||||
// Type of the value.
|
||||
//
|
||||
// If C has a Type() string method then it will be used instead.
|
||||
|
|
|
@ -80,6 +80,15 @@ func TestBitsSet(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestBitsIsSet(t *testing.T) {
|
||||
b := bitA | bitB
|
||||
assert.True(t, b.IsSet(bitA))
|
||||
assert.True(t, b.IsSet(bitB))
|
||||
assert.True(t, b.IsSet(bitA|bitB))
|
||||
assert.False(t, b.IsSet(bitC))
|
||||
assert.False(t, b.IsSet(bitA|bitC))
|
||||
}
|
||||
|
||||
func TestBitsType(t *testing.T) {
|
||||
f := bits(0)
|
||||
assert.Equal(t, "Bits", f.Type())
|
||||
|
|
Loading…
Reference in New Issue
Block a user