diff options
Diffstat (limited to 'Library/Homebrew/test/cmd/outdated_spec.rb')
| -rw-r--r-- | Library/Homebrew/test/cmd/outdated_spec.rb | 92 | 
1 files changed, 84 insertions, 8 deletions
| diff --git a/Library/Homebrew/test/cmd/outdated_spec.rb b/Library/Homebrew/test/cmd/outdated_spec.rb index 2ce0825e8..65cce27c3 100644 --- a/Library/Homebrew/test/cmd/outdated_spec.rb +++ b/Library/Homebrew/test/cmd/outdated_spec.rb @@ -1,11 +1,87 @@  describe "brew outdated", :integration_test do -  it "prints outdated Formulae" do -    setup_test_formula "testball" -    (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath - -    expect { brew "outdated" } -      .to output("testball\n").to_stdout -      .and not_to_output.to_stderr -      .and be_a_success +  context "quiet output" do +    it "prints outdated Formulae" do +      setup_test_formula "testball" +      (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath + +      expect { brew "outdated" } +        .to output("testball\n").to_stdout +        .and not_to_output.to_stderr +        .and be_a_success +    end +  end + +  context "verbose output" do +    it "prints out the installed and newer versions" do +      setup_test_formula "testball" +      (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath + +      expect { brew "outdated", "--verbose" } +        .to output("testball (0.0.1) < 0.1\n").to_stdout +        .and not_to_output.to_stderr +        .and be_a_success +    end +  end + +  context "pinned formula, verbose output" do +    it "prints out the pinned version" do +      setup_test_formula "testball" +      (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath + +      shutup do +        expect { brew "pin", "testball" }.to be_a_success +      end + +      expect { brew "outdated", "--verbose" } +        .to output("testball (0.0.1) < 0.1 [pinned at 0.0.1]\n").to_stdout +        .and not_to_output.to_stderr +        .and be_a_success +    end +  end + +  context "json output" do +    it "includes pinned version in the json output" do +      setup_test_formula "testball" +      (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath + +      shutup do +        expect { brew "pin", "testball" }.to be_a_success +      end + +      expected_json = [ +        { +          name: "testball", +          installed_versions: ["0.0.1"], +          current_version: "0.1", +          pinned: true, +          pinned_version: "0.0.1", +        }, +      ].to_json + +      expect { brew "outdated", "--json=v1" } +        .to output(expected_json + "\n").to_stdout +        .and not_to_output.to_stderr +        .and be_a_success +    end + +    it "has no pinned version when the formula isn't pinned" do +      setup_test_formula "testball" +      (HOMEBREW_CELLAR/"testball/0.0.1/foo").mkpath + +      expected_json = [ +        { +          name: "testball", +          installed_versions: ["0.0.1"], +          current_version: "0.1", +          pinned: false, +          pinned_version: nil, +        }, +      ].to_json + +      expect { brew "outdated", "--json=v1" } +        .to output(expected_json + "\n").to_stdout +        .and not_to_output.to_stderr +        .and be_a_success +    end    end  end | 
