brew/Library/Homebrew/test/utils/path_spec.rb

34 lines
1.2 KiB
Ruby
Raw Normal View History

2021-06-15 09:24:54 -04:00
# typed: false
# frozen_string_literal: true
require "utils/path"
describe Utils do
describe "::path_is_parent_of?" do
it "returns true when child path is a descendant of the parent" do
expect(described_class.path_is_parent_of?("/foo", "/foo/bar/baz")).to eq(true)
end
it "returns false when child path is not a descendant of the parent" do
expect(described_class.path_is_parent_of?("/foo/bar/baz/qux", "/foo/bar")).to eq(false)
end
end
describe "::shortened_brew_path" do
it "returns shortened path when the path can be expressed with the output of a brew command" do
expect(described_class.shortened_brew_path("#{HOMEBREW_PREFIX}/foo/bar")).to eq("$(brew --prefix)/foo/bar")
end
it "returns shortened path with $(brew --prefix <formula>) when path is in a linked keg", :integration_test do
install_test_formula "testball"
f = Formula["testball"]
expect(described_class.shortened_brew_path("#{f.opt_prefix}/main.c")).to eq("$(brew --prefix testball)/main.c")
end
it "returns the original path when the path cannot be shortened" do
expect(described_class.shortened_brew_path("/foo/bar/baz")).to eq("/foo/bar/baz")
end
end
end