You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
964 B
40 lines
964 B
package billy_test |
|
|
|
import ( |
|
"testing" |
|
|
|
. "gopkg.in/src-d/go-billy.v4" |
|
"gopkg.in/src-d/go-billy.v4/test" |
|
|
|
. "gopkg.in/check.v1" |
|
) |
|
|
|
type FSSuite struct{} |
|
|
|
func Test(t *testing.T) { TestingT(t) } |
|
|
|
var _ = Suite(&FSSuite{}) |
|
|
|
func (s *FSSuite) TestCapabilities(c *C) { |
|
cases := []struct { |
|
caps Capability |
|
expected bool |
|
}{ |
|
{LockCapability, false}, |
|
{ReadCapability, true}, |
|
{ReadCapability | WriteCapability, true}, |
|
{ReadCapability | WriteCapability | ReadAndWriteCapability | TruncateCapability, true}, |
|
{ReadCapability | WriteCapability | ReadAndWriteCapability | TruncateCapability | LockCapability, false}, |
|
{TruncateCapability | LockCapability, false}, |
|
} |
|
|
|
// This filesystem supports all capabilities except for LockCapability |
|
fs := new(test.NoLockCapFs) |
|
|
|
for _, e := range cases { |
|
c.Assert(CapabilityCheck(fs, e.caps), Equals, e.expected) |
|
} |
|
|
|
dummy := new(test.BasicMock) |
|
c.Assert(Capabilities(dummy), Equals, DefaultCapabilities) |
|
}
|
|
|