spec/fstab_spec.rb in linux_admin-0.11.1 vs spec/fstab_spec.rb in linux_admin-0.12.0
- old
+ new
@@ -1,22 +1,17 @@
-require 'stringio'
-
describe LinuxAdmin::FSTab do
- before do
- # Reset the singleton so subsequent tests get a new instance
- Singleton.send :__init__, LinuxAdmin::FSTab
- end
+ subject { described_class.dup }
it "has newline, single spaces, tab" do
fstab = <<eos
eos
expect(File).to receive(:read).with('/etc/fstab').and_return(fstab)
- expect(LinuxAdmin::FSTab.instance.entries.size).to eq(3)
- expect(LinuxAdmin::FSTab.instance.entries.any? { |e| e.has_content? }).to be_falsey
+ expect(subject.instance.entries.size).to eq(3)
+ expect(subject.instance.entries.any?(&:has_content?)).to be_falsey
end
it "creates FSTabEntry for each line in fstab" do
fstab = <<eos
# Comment, indented comment, comment with device information
@@ -25,11 +20,11 @@
/dev/sda1 / ext4 defaults 1 1
/dev/sda2 swap swap defaults 0 0
eos
expect(File).to receive(:read).with('/etc/fstab').and_return(fstab)
- entries = LinuxAdmin::FSTab.instance.entries
+ entries = subject.instance.entries
expect(entries.size).to eq(6)
expect(entries[0].comment).to eq("# Comment, indented comment, comment with device information\n")
expect(entries[1].comment).to eq("# /dev/sda1 / ext4 defaults 1 1\n")
expect(entries[2].comment).to eq("# /dev/sda1 / ext4 defaults 1 1\n")
@@ -58,14 +53,14 @@
entry.fs_type = 'ext4'
entry.mount_options = 'defaults'
entry.dumpable = 1
entry.fsck_order = 1
entry.comment = "# more"
- allow_any_instance_of(LinuxAdmin::FSTab).to receive(:refresh) # don't read /etc/fstab
- LinuxAdmin::FSTab.instance.maximum_column_lengths = [9, 1, 4, 8, 1, 1, 1]
- LinuxAdmin::FSTab.instance.entries = [entry]
+ allow_any_instance_of(subject).to receive(:refresh) # in case this is the first time we reference .instance
+ subject.instance.maximum_column_lengths = [9, 1, 4, 8, 1, 1, 1]
+ subject.instance.entries = [entry]
expect(File).to receive(:write).with('/etc/fstab', "/dev/sda1 / ext4 defaults 1 1 # more\n")
- LinuxAdmin::FSTab.instance.write!
+ subject.instance.write!
end
end
end