'Setting parameters for nonstandard schemes is allowed if those schemes
begin with "http", and is forbidden otherwise.'

@pytest.mark.parametrize('input,    params,    expected', (('http+unix://%2Fvar%2Frun%2Fsocket/path', {'key': 'value'}, u'http+unix://%2Fvar%2Frun%2Fsocket/path?key=value'), (u'http+unix://%2Fvar%2Frun%2Fsocket/path', {'key': 'value'}, u'http+unix://%2Fvar%2Frun%2Fsocket/path?key=value'), ('mailto:user@example.org', {'key': 'value'}, u'mailto:user@example.org'), (u'mailto:user@example.org', {'key': 'value'}, u'mailto:user@example.org')))
def test_parameters_for_nonstandard_schemes(self, input, params, expected):

    r = requests.Request('GET', url=input, params=params)
    p = r.prepare()
    assert (p.url == expected)
