spec/fstab_spec.rb in linux_admin-0.2.1 vs spec/fstab_spec.rb in linux_admin-0.2.2
- old
+ new
@@ -1,11 +1,29 @@
require 'spec_helper'
require 'stringio'
describe LinuxAdmin::FSTab do
+ before do
+ # Reset the singleton so subsequent tests get a new instance
+ Singleton.send :__init__, LinuxAdmin::FSTab
+ end
+
+ it "newline, single spaces, tab" do
+ fstab = <<eos
+
+
+
+eos
+ File.should_receive(:read).with('/etc/fstab').and_return(fstab)
+ LinuxAdmin::FSTab.instance.entries.size.should == 0
+ end
+
it "creates FSTabEntry for each line in fstab" do
fstab = <<eos
+# Comment, indented comment, comment with device information
+ # /dev/sda1 / ext4 defaults 1 1
+# /dev/sda1 / ext4 defaults 1 1
/dev/sda1 / ext4 defaults 1 1
/dev/sda2 swap swap defaults 0 0
eos
File.should_receive(:read).with('/etc/fstab').and_return(fstab)
entries = LinuxAdmin::FSTab.instance.entries
@@ -34,9 +52,10 @@
entry.mount_point = '/'
entry.fs_type = 'ext4'
entry.mount_options = 'defaults'
entry.dumpable = 1
entry.fsck_order = 1
+ LinuxAdmin::FSTab.any_instance.stub(:refresh) # don't read /etc/fstab
LinuxAdmin::FSTab.instance.entries = [entry]
File.should_receive(:write).with('/etc/fstab', "/dev/sda1 / ext4 defaults 1 1\n")
LinuxAdmin::FSTab.instance.write!
end