Allow specifying a name attribute for X11Dependency

This commit is contained in:
Jack Nagel 2013-01-27 15:41:45 -06:00
parent b90af5be13
commit 210401654b
4 changed files with 12 additions and 11 deletions

View File

@ -74,10 +74,10 @@ private
if MacOS.version >= :mountain_lion
Dependency.new(spec.to_s, tag)
else
X11Dependency.new(tag)
X11Dependency.new(spec.to_s, tag)
end
when :x11
X11Dependency.new(tag)
X11Dependency.new(spec.to_s, tag)
when :xcode
XcodeDependency.new(tag)
when :mysql

View File

@ -8,7 +8,7 @@ class Requirement
include Dependable
extend BuildEnvironmentDSL
attr_reader :tags
attr_reader :tags, :name
def initialize(*tags)
@tags = tags.flatten.compact

View File

@ -59,10 +59,11 @@ class X11Dependency < Requirement
env { x11 }
def initialize(*tags)
def initialize(name="x11", *tags)
tags.flatten!
@name = name
@min_version = tags.shift if /(\d\.)+\d/ === tags.first
super
super(tags)
end
satisfy :build_env => false do

View File

@ -17,25 +17,25 @@ class ComparableSetTests < Test::Unit::TestCase
def test_comparison_prefers_larger
@set << X11Dependency.new
@set << X11Dependency.new('2.6')
@set << X11Dependency.new('x11', '2.6')
assert_equal @set.count, 1
assert_equal @set.to_a, [X11Dependency.new('2.6')]
assert_equal @set.to_a, [X11Dependency.new('x11', '2.6')]
end
def test_comparison_does_not_merge_smaller
@set << X11Dependency.new('2.6')
@set << X11Dependency.new('x11', '2.6')
@set << X11Dependency.new
assert_equal @set.count, 1
assert_equal @set.to_a, [X11Dependency.new('2.6')]
assert_equal @set.to_a, [X11Dependency.new('x11', '2.6')]
end
def test_merging_sets
@set << X11Dependency.new
@set << Requirement.new
reqs = Set.new [X11Dependency.new('2.6'), Requirement.new]
reqs = Set.new [X11Dependency.new('x11', '2.6'), Requirement.new]
assert_same @set, @set.merge(reqs)
assert_equal @set.count, 2
assert_equal @set.find {|r| r.is_a? X11Dependency}, X11Dependency.new('2.6')
assert_equal @set.find {|r| r.is_a? X11Dependency}, X11Dependency.new('x11', '2.6')
end
end