74 lines
1.9 KiB
Ruby
74 lines
1.9 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Guard::Notifier do
|
|
subject { Guard::Notifier }
|
|
|
|
describe ".notify" do
|
|
before(:each) { subject.turn_on }
|
|
after(:each) { subject.turn_off }
|
|
|
|
if mac?
|
|
if growl_installed?
|
|
it "uses Growl on Mac OS X" do
|
|
Growl.should_receive(:notify).with("great",
|
|
:title => "Guard",
|
|
:icon => Pathname.new(File.dirname(__FILE__)).join('../../images/success.png').to_s,
|
|
:name => "Guard"
|
|
)
|
|
subject.notify 'great', :title => 'Guard'
|
|
end
|
|
else
|
|
it { should_not be_enabled }
|
|
end
|
|
end
|
|
|
|
if linux?
|
|
if libnotify_installed?
|
|
it "uses Libnotify on Linux" do
|
|
Libnotify.should_receive(:show).with(
|
|
:body => "great",
|
|
:summary => 'Guard',
|
|
:icon_path => Pathname.new(File.dirname(__FILE__)).join('../../images/success.png').to_s
|
|
)
|
|
subject.notify 'great', :title => 'Guard'
|
|
end
|
|
else
|
|
it { should_not be_enabled }
|
|
end
|
|
end
|
|
|
|
if windows?
|
|
if rbnotifu_installed?
|
|
it "uses rb-notifu on Windows" do
|
|
@result = -1
|
|
Notifu::show :message => "great", :title => 'Guard' do |status|
|
|
@result = status
|
|
end
|
|
sleep 1.5
|
|
Notifu::ERRORS.include?(@result).should be_false
|
|
end
|
|
else
|
|
it { should_not be_enabled }
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
describe ".turn_off" do
|
|
if mac? && growl_installed?
|
|
it "prevents the notifications" do
|
|
Growl.should_not_receive(:notify)
|
|
subject.notify 'great', :title => 'Guard'
|
|
end
|
|
elsif linux? && libnotify_installed?
|
|
it "prevents the notifications" do
|
|
Libnotify.should_not_receive(:show)
|
|
subject.notify 'great', :title => 'Guard'
|
|
end
|
|
end
|
|
|
|
it { should_not be_enabled }
|
|
end
|
|
|
|
end
|