43 lines
1.1 KiB
Ruby
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
|