import pytest
from thefuck.rules.git_push import match, get_new_command
from tests.utils import Command


@pytest.fixture
def stderr():
    return '''fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

'''


def test_match(stderr):
    assert match(Command('git push', stderr=stderr))
    assert match(Command('git push master', stderr=stderr))
    assert not match(Command('git push master'))
    assert not match(Command('ls', stderr=stderr))


def test_get_new_command(stderr):
    assert get_new_command(Command('git push', stderr=stderr))\
        == "git push --set-upstream origin master"

import pytest
from thefuck.rules.git_push import match, get_new_command
from tests.utils import Command


@pytest.fixture
def stderr():
    return '''fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

'''


def test_match(stderr):
    assert match(Command('git push', stderr=stderr))
    assert match(Command('git push master', stderr=stderr))
    assert not match(Command('git push master'))
    assert not match(Command('ls', stderr=stderr))


def test_get_new_command(stderr):
    assert get_new_command(Command('git push', stderr=stderr))\
        == "git push --set-upstream origin master"
    assert get_new_command(Command('git push --quiet', stderr=stderr))\
        == "git push --set-upstream origin master --quiet"

Check arguments are preserved in git_push
Check arguments are preserved in git_push

  import pytest
  from thefuck.rules.git_push import match, get_new_command
  from tests.utils import Command
  
  
  @pytest.fixture
  def stderr():
      return '''fatal: The current branch master has no upstream branch.
  To push the current branch and set the remote as upstream, use
  
      git push --set-upstream origin master
  
  '''
  
  
  def test_match(stderr):
      assert match(Command('git push', stderr=stderr))
      assert match(Command('git push master', stderr=stderr))
      assert not match(Command('git push master'))
      assert not match(Command('ls', stderr=stderr))
  
  
  def test_get_new_command(stderr):
      assert get_new_command(Command('git push', stderr=stderr))\
          == "git push --set-upstream origin master"
+     assert get_new_command(Command('git push --quiet', stderr=stderr))\
+         == "git push --set-upstream origin master --quiet"
  
Check arguments are preserved in git_push
## Code Before:
import pytest
from thefuck.rules.git_push import match, get_new_command
from tests.utils import Command


@pytest.fixture
def stderr():
    return '''fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

'''


def test_match(stderr):
    assert match(Command('git push', stderr=stderr))
    assert match(Command('git push master', stderr=stderr))
    assert not match(Command('git push master'))
    assert not match(Command('ls', stderr=stderr))


def test_get_new_command(stderr):
    assert get_new_command(Command('git push', stderr=stderr))\
        == "git push --set-upstream origin master"

## Instruction:
Check arguments are preserved in git_push
## Code After:
import pytest
from thefuck.rules.git_push import match, get_new_command
from tests.utils import Command


@pytest.fixture
def stderr():
    return '''fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

'''


def test_match(stderr):
    assert match(Command('git push', stderr=stderr))
    assert match(Command('git push master', stderr=stderr))
    assert not match(Command('git push master'))
    assert not match(Command('ls', stderr=stderr))


def test_get_new_command(stderr):
    assert get_new_command(Command('git push', stderr=stderr))\
        == "git push --set-upstream origin master"
    assert get_new_command(Command('git push --quiet', stderr=stderr))\
        == "git push --set-upstream origin master --quiet"
