summaryrefslogtreecommitdiff
path: root/chef-config/spec/unit/path_helper_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'chef-config/spec/unit/path_helper_spec.rb')
-rw-r--r--chef-config/spec/unit/path_helper_spec.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/chef-config/spec/unit/path_helper_spec.rb b/chef-config/spec/unit/path_helper_spec.rb
index b67a074f9e..399b3dc965 100644
--- a/chef-config/spec/unit/path_helper_spec.rb
+++ b/chef-config/spec/unit/path_helper_spec.rb
@@ -266,6 +266,23 @@ RSpec.describe ChefConfig::PathHelper do
end
end
+ describe "escape_glob_dir" do
+ it "escapes characters reserved by glob without using backslashes for path separators" do
+ path = "C:/this/*path/[needs]/escaping?"
+ escaped_path = "C:/this/\\*path/\\[needs\\]/escaping\\?"
+ expect(path_helper.escape_glob_dir(path)).to eq(escaped_path)
+ end
+
+ context "when given more than one argument" do
+ it "joins, cleanpaths, and escapes characters reserved by glob" do
+ args = ["this/*path", "[needs]", "escaping?"]
+ escaped_path = "this/\\*path/\\[needs\\]/escaping\\?"
+ expect(path_helper).to receive(:join).with(*args).and_call_original
+ expect(path_helper.escape_glob_dir(*args)).to eq(escaped_path)
+ end
+ end
+ end
+
describe "all_homes" do
before do
stub_const("ENV", env)