vaguerent/test/unit/plugins/synced_folders/unix_mount_helpers_test.rb

43 lines
1.1 KiB
Ruby

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
require_relative "../../base"
require Vagrant.source_root.join("plugins/synced_folders/unix_mount_helpers")
describe VagrantPlugins::SyncedFolder::UnixMountHelpers do
include_context "unit"
subject{
Class.new do |c|
def self.name; "UnixMountHelpersTest"; end
extend VagrantPlugins::SyncedFolder::UnixMountHelpers
end
}
describe ".merge_mount_options" do
let(:base){ ["opt1", "opt2=on", "opt3", "opt4,opt5=off"] }
let(:override){ ["opt8", "opt4=on,opt6,opt7=true"] }
context "with no override" do
it "should split options into individual options" do
result = subject.merge_mount_options(base, [])
expect(result.size).to eq(5)
end
end
context "with overrides" do
it "should merge all options" do
result = subject.merge_mount_options(base, override)
expect(result.size).to eq(8)
end
it "should override options defined in base" do
result = subject.merge_mount_options(base, override)
expect(result).to include("opt4=on")
end
end
end
end