diff options
Diffstat (limited to 'chef-config/spec/unit/path_helper_spec.rb')
-rw-r--r-- | chef-config/spec/unit/path_helper_spec.rb | 17 |
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) |