2013-09-05 18:50:42 -05:00
|
|
|
require 'testing_env'
|
2013-01-23 00:26:24 -06:00
|
|
|
require 'build_options'
|
|
|
|
|
2014-06-18 20:32:51 -05:00
|
|
|
class BuildOptionsTests < Homebrew::TestCase
|
2013-01-23 00:26:24 -06:00
|
|
|
def setup
|
2013-09-05 18:50:42 -05:00
|
|
|
args = %w{--with-foo --with-bar --without-qux}
|
2014-07-31 19:37:39 -05:00
|
|
|
opts = Options.new
|
|
|
|
opts << Option.new("with-foo") << Option.new("with-bar")
|
|
|
|
opts << Option.new("without-baz") << Option.new("without-qux")
|
|
|
|
@build = BuildOptions.new(args, opts)
|
2013-01-23 00:26:24 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
def test_as_flags
|
|
|
|
assert_equal %w{--with-foo --with-bar --without-baz --without-qux}.sort,
|
|
|
|
@build.as_flags.sort
|
|
|
|
end
|
|
|
|
|
|
|
|
def test_include
|
2014-06-11 13:03:06 -05:00
|
|
|
assert_includes @build, "with-foo"
|
|
|
|
refute_includes @build, "with-qux"
|
|
|
|
refute_includes @build, "--with-foo"
|
2013-01-23 00:26:24 -06:00
|
|
|
end
|
|
|
|
|
2013-01-23 00:26:26 -06:00
|
|
|
def test_with_without
|
|
|
|
assert @build.with?("foo")
|
|
|
|
assert @build.with?("bar")
|
|
|
|
assert @build.with?("baz")
|
|
|
|
assert @build.without?("qux")
|
|
|
|
end
|
|
|
|
|
2013-01-23 00:26:24 -06:00
|
|
|
def test_used_options
|
2014-06-11 13:03:06 -05:00
|
|
|
assert_includes @build.used_options, "--with-foo"
|
|
|
|
assert_includes @build.used_options, "--with-bar"
|
2013-01-23 00:26:24 -06:00
|
|
|
end
|
|
|
|
|
|
|
|
def test_unused_options
|
2014-06-11 13:03:06 -05:00
|
|
|
assert_includes @build.unused_options, "--without-baz"
|
2013-01-23 00:26:24 -06:00
|
|
|
end
|
2013-01-21 10:33:56 +01:00
|
|
|
|
2013-09-14 17:03:56 -05:00
|
|
|
def test_copies_do_not_share_underlying_args
|
2014-07-31 19:37:39 -05:00
|
|
|
orig = BuildOptions.new [], Options.new
|
2013-09-14 17:03:56 -05:00
|
|
|
copy = orig.dup
|
2014-07-30 20:15:18 -05:00
|
|
|
refute_same orig.args, copy.args
|
2013-09-14 17:03:56 -05:00
|
|
|
end
|
2013-01-23 00:26:24 -06:00
|
|
|
end
|