summaryrefslogtreecommitdiff
path: root/spec/bundler/bundler
diff options
context:
space:
mode:
authortommy <kazu9su@gmail.com>2019-08-13 09:53:33 -0400
committerSHIBATA Hiroshi <hsbt@ruby-lang.org>2019-08-16 14:30:23 +0900
commit3b61019a89c366e50db908ccf25a9156bc500a5f (patch)
tree23c0200fd668332d5179ba0b1d358cc86c2f9105 /spec/bundler/bundler
parentb587e8c7f1cd56f1c53156d7893ee0e581128a0a (diff)
[bundler/bundler] Add initial Bundler::BuildMetadata Spec
https://github.com/bundler/bundler/commit/c6458b2727
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2366
Diffstat (limited to 'spec/bundler/bundler')
-rw-r--r--spec/bundler/bundler/build_metadata_spec.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/spec/bundler/bundler/build_metadata_spec.rb b/spec/bundler/bundler/build_metadata_spec.rb
new file mode 100644
index 0000000000..a28e25511a
--- /dev/null
+++ b/spec/bundler/bundler/build_metadata_spec.rb
@@ -0,0 +1,44 @@
+# frozen_string_literal: true
+
+require "bundler"
+require "bundler/build_metadata"
+
+RSpec.describe Bundler::BuildMetadata do
+ describe "#built_at" do
+ it "returns %Y-%m-%d formatted time" do
+ expect(Bundler::BuildMetadata.built_at).to eq Time.now.strftime("%Y-%m-%d")
+ end
+ end
+
+ describe "#release?" do
+ it "returns false as default" do
+ expect(Bundler::BuildMetadata.release?).to be_falsey
+ end
+ end
+
+ describe "#git_commit_sha" do
+ context "if instance valuable is defined" do
+ before do
+ Bundler::BuildMetadata.instance_variable_set(:@git_commit_sha, "foo")
+ end
+
+ after do
+ Bundler::BuildMetadata.remove_instance_variable(:@git_commit_sha)
+ end
+
+ it "returns set value" do
+ expect(Bundler::BuildMetadata.git_commit_sha).to eq "foo"
+ end
+ end
+ end
+
+ describe "#to_h" do
+ subject { Bundler::BuildMetadata.to_h }
+
+ it "returns a hash includes Built At, Git SHA and Released Version" do
+ expect(subject["Built At"]).to eq Time.now.strftime("%Y-%m-%d")
+ expect(subject["Git SHA"]).to be_instance_of(String)
+ expect(subject["Released Version"]).to be_falsey
+ end
+ end
+end