50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | require "requirements/language_module_requirement" | ||
|  | 
 | ||
|  | describe LanguageModuleRequirement do | ||
|  |   specify "unique dependencies are not equal" do | ||
|  |     x = described_class.new(:node, "less") | ||
|  |     y = described_class.new(:node, "coffee-script") | ||
|  |     expect(x).not_to eq(y) | ||
|  |     expect(x.hash).not_to eq(y.hash) | ||
|  |   end | ||
|  | 
 | ||
|  |   context "when module and import name differ" do | ||
|  |     subject { described_class.new(:python, mod_name, import_name) } | ||
|  |     let(:mod_name) { "foo" } | ||
|  |     let(:import_name) { "bar" } | ||
|  | 
 | ||
|  |     its(:message) { is_expected.to include(mod_name) } | ||
|  |     its(:the_test) { is_expected.to include("import #{import_name}") } | ||
|  |   end | ||
|  | 
 | ||
|  |   context "when the language is Perl" do | ||
|  |     it "does not satisfy invalid dependencies" do | ||
|  |       expect(described_class.new(:perl, "notapackage")).not_to be_satisfied | ||
|  |     end | ||
|  | 
 | ||
|  |     it "satisfies valid dependencies" do | ||
|  |       expect(described_class.new(:perl, "Env")).to be_satisfied | ||
|  |     end | ||
|  |   end | ||
|  | 
 | ||
|  |   context "when the language is Python", :needs_python do | ||
|  |     it "does not satisfy invalid dependencies" do | ||
|  |       expect(described_class.new(:python, "notapackage")).not_to be_satisfied | ||
|  |     end | ||
|  | 
 | ||
|  |     it "satisfies valid dependencies" do | ||
|  |       expect(described_class.new(:python, "datetime")).to be_satisfied | ||
|  |     end | ||
|  |   end | ||
|  | 
 | ||
|  |   context "when the language is Ruby" do | ||
|  |     it "does not satisfy invalid dependencies" do | ||
|  |       expect(described_class.new(:ruby, "notapackage")).not_to be_satisfied | ||
|  |     end | ||
|  | 
 | ||
|  |     it "satisfies valid dependencies" do | ||
|  |       expect(described_class.new(:ruby, "date")).to be_satisfied | ||
|  |     end | ||
|  |   end | ||
|  | end |