diff options
| author | Markus Reiter | 2017-02-25 04:54:14 +0100 |
|---|---|---|
| committer | GitHub | 2017-02-25 04:54:14 +0100 |
| commit | 231eefa98cff3540cecd2f05b68277b3b5aebd79 (patch) | |
| tree | f22f810122e1ee6d319d5feb1e864d9660163572 /Library/Homebrew/test/dev-cmd/pull_spec.rb | |
| parent | 6709495a2a4eb81d78343132ad909b6aca3b8c3d (diff) | |
| parent | 17dca9b4d5bca04951e622a42fc8206e08ae9dfc (diff) | |
| download | brew-231eefa98cff3540cecd2f05b68277b3b5aebd79.tar.bz2 | |
Merge pull request #2153 from reitermarkus/spec-pull
Convert `brew pull` test to spec.
Diffstat (limited to 'Library/Homebrew/test/dev-cmd/pull_spec.rb')
| -rw-r--r-- | Library/Homebrew/test/dev-cmd/pull_spec.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Library/Homebrew/test/dev-cmd/pull_spec.rb b/Library/Homebrew/test/dev-cmd/pull_spec.rb new file mode 100644 index 000000000..3c0108df2 --- /dev/null +++ b/Library/Homebrew/test/dev-cmd/pull_spec.rb @@ -0,0 +1,60 @@ +describe "brew pull", :integration_test do + it "fails when no argument is given" do + expect { brew "pull" } + .to output(/This command requires at least one argument/).to_stderr + .and not_to_output.to_stdout + .and be_a_failure + end + + it "fetches a patch from a GitHub commit or pull request and applies it" do + skip "Requires network connection." if ENV["HOMEBREW_NO_GITHUB_API"] + + CoreTap.instance.path.cd do + shutup do + system "git", "init" + system "git", "checkout", "-b", "new-branch" + end + end + + expect { brew "pull", "https://bot.brew.sh/job/Homebrew\%20Testing/1028/" } + .to output(/Testing URLs require `\-\-bottle`!/).to_stderr + .and not_to_output.to_stdout + .and be_a_failure + + expect { brew "pull", "1" } + .to output(/Fetching patch/).to_stdout + .and output(/Current branch is new\-branch/).to_stderr + .and be_a_failure + + expect { brew "pull", "--bump", "8" } + .to output(/Fetching patch/).to_stdout + .and output(/No changed formulae found to bump/).to_stderr + .and be_a_failure + + expect { brew "pull", "--bump", "https://api.github.com/repos/Homebrew/homebrew-core/pulls/122" } + .to output(/Fetching patch/).to_stdout + .and output(/Can only bump one changed formula/).to_stderr + .and be_a_failure + + expect { brew "pull", "https://github.com/Homebrew/homebrew-core/pull/1" } + .to output(/Fetching patch/).to_stdout + .and output(/Patch failed to apply/).to_stderr + .and be_a_failure + end + + describe "--rebase" do + it "fails" do + expect { brew "pull", "--rebase" } + .to output(/You meant `git pull --rebase`./).to_stderr + .and not_to_output.to_stdout + .and be_a_failure + end + end + + it "fails when given 0" do + expect { brew "pull", "0" } + .to output(/Not a GitHub pull request or commit/).to_stderr + .and not_to_output.to_stdout + .and be_a_failure + end +end |
