spec/unit/manifest_handler_spec.rb in inqlude-0.7.4 vs spec/unit/manifest_handler_spec.rb in inqlude-0.8.0

- old
+ new

@@ -4,21 +4,21 @@ describe ManifestHandler do let(:settings) do s = Settings.new - s.manifest_path = File.expand_path('spec/data/') + s.manifest_path = File.expand_path('spec/data/manifests') s.offline = true s end - + let(:mh) do mh = ManifestHandler.new settings mh.read_remote mh end - + it "reads manifests" do expect(mh.manifests.count).to eq 5 expect(mh.libraries.count).to eq 5 mh.read_remote expect(mh.manifests.count).to eq 5 @@ -51,100 +51,100 @@ manifest = create_manifest( "mylib", "2014-02-01", "1.0" ) expect( @handler.manifest_path( manifest ) ).to eq( File.expand_path( "~/.local/share/inqlude/manifests/mylib/mylib.2014-02-01.manifest" ) ) end end - + describe "#libraries" do it "returns all libraries" do expect( mh.libraries.count ).to eq 5 end - + it "returns stable libraries" do libraries = mh.libraries :stable expect( libraries.count ).to eq 2 expect( libraries.first.manifests.last.name ).to eq "awesomelib" expect( libraries.first.manifests.last.version ).to eq "0.2.0" end - + it "returns development versions" do libraries = mh.libraries :edge expect( libraries.count ).to eq 1 expect( libraries.first.manifests.last.name ).to eq "bleedingedge" expect( libraries.first.manifests.last.version ).to eq "edge" end - + it "returns unreleased libraries" do libraries = mh.unreleased_libraries expect( libraries.count ).to eq 1 expect( libraries.first.manifests.last.name ).to eq "newlib" end - + it "returns commercial libraries" do libraries = mh.commercial_libraries expect( libraries.count ).to eq 3 expect( libraries.first.manifests.last.name ).to eq "awesomelib" expect( libraries[1].manifests.last.name ).to eq "commercial" end end - + describe "#group" do it "returns all libraries of a group" do libraries = mh.group("kde-frameworks") expect( libraries.count ).to eq 2 expect( libraries.first.manifests.last.name ).to eq "awesomelib" end end - + describe "#library" do - + it "returns one library" do library = mh.library "awesomelib" expect( library.name ).to eq "awesomelib" end - + end - + context "library with generic and release manifest" do use_given_filesystem before(:each) do @manifest_path = given_directory do given_directory "karchive" do given_file "karchive.manifest", :from => "karchive-generic.manifest" given_file "karchive.2014-02-01.manifest", :from => "karchive-release-beta.manifest" end end - + s = Settings.new s.manifest_path = @manifest_path s.offline = true @manifest_handler = ManifestHandler.new s @manifest_handler.read_remote end - + it "reads generic manifest" do expect( @manifest_handler.library("karchive").manifests.count ).to eq 2 generic_manifest = @manifest_handler.library("karchive").generic_manifest expect( generic_manifest.name ).to eq "karchive" expect( generic_manifest.class ).to be ManifestGeneric end - + it "lists development versions" do libraries = @manifest_handler.libraries :beta expect( libraries.count ).to eq 1 expect( libraries.first.latest_manifest.name ).to eq "karchive" expect( libraries.first.latest_manifest.version ).to eq "4.9.90" end - + it "lists unreleased libraries" do libraries = @manifest_handler.unreleased_libraries expect( libraries.count ).to eq 0 end end - + it "generates inqlude-all.json" do expected_json = File.read(test_data_path("inqlude-all.json")) expect(mh.generate_inqlude_all).to eq expected_json end end