mirror of
https://github.com/mudler/luet.git
synced 2025-07-30 22:45:29 +00:00
Expose Uses to interface
This commit is contained in:
parent
caa7c788ec
commit
b29ce651b9
@ -41,6 +41,10 @@ type Package interface {
|
||||
GetName() string
|
||||
GetVersion() string
|
||||
RequiresContains(Package) bool
|
||||
|
||||
AddUse(use string)
|
||||
RemoveUse(use string)
|
||||
GetUses() []string
|
||||
}
|
||||
|
||||
// DefaultPackage represent a standard package definition
|
||||
@ -112,6 +116,10 @@ func (p *DefaultPackage) GetVersion() string {
|
||||
return p.Version
|
||||
}
|
||||
|
||||
func (p *DefaultPackage) GetUses() []string {
|
||||
return p.UseFlags
|
||||
}
|
||||
|
||||
func (p *DefaultPackage) GetRequires() []*DefaultPackage {
|
||||
return p.PackageRequires
|
||||
}
|
||||
|
@ -89,7 +89,9 @@ var _ = Describe("Package", func() {
|
||||
It("builds constraints correctly", func() {
|
||||
a11 := NewPackage("A", "1.1", []*DefaultPackage{}, []*DefaultPackage{})
|
||||
a21 := NewPackage("A", "1.2", []*DefaultPackage{}, []*DefaultPackage{})
|
||||
a1 := NewPackage("A", "1.0", []*DefaultPackage{a11}, []*DefaultPackage{a21})
|
||||
a1 := NewPackage("A", "1.0", []*DefaultPackage{}, []*DefaultPackage{})
|
||||
a1.Requires([]*DefaultPackage{a11})
|
||||
a1.Conflicts([]*DefaultPackage{a21})
|
||||
f, err := a1.BuildFormula()
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(len(f)).To(Equal(2))
|
||||
@ -118,4 +120,19 @@ var _ = Describe("Package", func() {
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
Context("Useflags", func() {
|
||||
a1 := NewPackage("A", "1.0", []*DefaultPackage{}, []*DefaultPackage{})
|
||||
It("Adds correctly", func() {
|
||||
a1.AddUse("test")
|
||||
Expect(a1.GetUses()[0]).To(Equal("test"))
|
||||
})
|
||||
It("Removes correctly", func() {
|
||||
Expect(len(a1.GetUses())).To(Equal(1))
|
||||
a1.RemoveUse("foo")
|
||||
Expect(len(a1.GetUses())).To(Equal(1))
|
||||
a1.RemoveUse("test")
|
||||
Expect(len(a1.GetUses())).To(Equal(0))
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user