summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-05-17 14:20:04 -0600
committermo khan <mo.khan@gmail.com>2020-05-17 14:20:04 -0600
commitb058166489354583d027f3f1f6e950951f7eb6d4 (patch)
tree02e4a8a185d9ebec4cef89aa5b8fc39849f5db3b /spec
parent770e916c9e37349eb87d9fc6cbc418770ea95279 (diff)
Skip empty lock files
Diffstat (limited to 'spec')
-rw-r--r--spec/fixtures/empty/composer.lock0
-rw-r--r--spec/unit/core/parser_spec.rb21
2 files changed, 21 insertions, 0 deletions
diff --git a/spec/fixtures/empty/composer.lock b/spec/fixtures/empty/composer.lock
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/spec/fixtures/empty/composer.lock
diff --git a/spec/unit/core/parser_spec.rb b/spec/unit/core/parser_spec.rb
new file mode 100644
index 0000000..ab9be03
--- /dev/null
+++ b/spec/unit/core/parser_spec.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+RSpec.describe Spandx::Core::Parser do
+ subject { described_class }
+
+ describe ".for" do
+ describe "when the `composer.lock` file is empty" do
+ let(:empty_file) { fixture_file('empty/composer.lock') }
+ let(:result) { subject.for(empty_file) }
+
+ specify { expect(result).to be(Spandx::Core::Parser::UNKNOWN) }
+ end
+
+ describe "when the `composer.lock` file is discovered" do
+ let(:lock_file) { fixture_file('composer/composer.lock') }
+ let(:result) { subject.for(lock_file) }
+
+ specify { expect(result).to be_instance_of(Spandx::Php::Parsers::Composer) }
+ end
+ end
+end