{"action":"created","issue":{"url":"https://api.github.com/repos/rspec/rspec-expectations/issues/789","labels_url":"https://api.github.com/repos/rspec/rspec-expectations/issues/789/labels{/name}","comments_url":"https://api.github.com/repos/rspec/rspec-expectations/issues/789/comments","events_url":"https://api.github.com/repos/rspec/rspec-expectations/issues/789/events","html_url":"https://github.com/rspec/rspec-expectations/pull/789","id":77741414,"number":789,"title":"WIP: Exception failures in `match_when_negated`","user":{"login":"chrisarcand","id":2430490,"avatar_url":"https://avatars.githubusercontent.com/u/2430490?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisarcand","html_url":"https://github.com/chrisarcand","followers_url":"https://api.github.com/users/chrisarcand/followers","following_url":"https://api.github.com/users/chrisarcand/following{/other_user}","gists_url":"https://api.github.com/users/chrisarcand/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisarcand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisarcand/subscriptions","organizations_url":"https://api.github.com/users/chrisarcand/orgs","repos_url":"https://api.github.com/users/chrisarcand/repos","events_url":"https://api.github.com/users/chrisarcand/events{/privacy}","received_events_url":"https://api.github.com/users/chrisarcand/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-05-18T17:41:45Z","updated_at":"2016-01-19T17:51:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rspec/rspec-expectations/pulls/789","html_url":"https://github.com/rspec/rspec-expectations/pull/789","diff_url":"https://github.com/rspec/rspec-expectations/pull/789.diff","patch_url":"https://github.com/rspec/rspec-expectations/pull/789.patch"},"body":"Fixes #788 \r\n\r\nThis fixes two issues; The second was found after testing the first led to it, and is dependent on it.\r\n\r\n* Fixes `match_when_negated` to work as `match` does. The definition of #match in the matcher DSL rescues ExpectationNotMetError and returns false, allowing expectations to be used in match blocks. This changes #match_when_negated to act similarly.\r\n* Using a negative matcher _with differing values_ (ie: `expect(\"foo\").not_to eq \"bar\"`) has returned `false` for a long time, instead of the handler properly raising `ExpectationNotMetError`. This changes the handler to similarly do it as the positive handler does. See commit message in 58e72c8 for more details."},"comment":{"url":"https://api.github.com/repos/rspec/rspec-expectations/issues/comments/172932152","html_url":"https://github.com/rspec/rspec-expectations/pull/789#issuecomment-172932152","issue_url":"https://api.github.com/repos/rspec/rspec-expectations/issues/789","id":172932152,"user":{"login":"chrisarcand","id":2430490,"avatar_url":"https://avatars.githubusercontent.com/u/2430490?v=3","gravatar_id":"","url":"https://api.github.com/users/chrisarcand","html_url":"https://github.com/chrisarcand","followers_url":"https://api.github.com/users/chrisarcand/followers","following_url":"https://api.github.com/users/chrisarcand/following{/other_user}","gists_url":"https://api.github.com/users/chrisarcand/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisarcand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisarcand/subscriptions","organizations_url":"https://api.github.com/users/chrisarcand/orgs","repos_url":"https://api.github.com/users/chrisarcand/repos","events_url":"https://api.github.com/users/chrisarcand/events{/privacy}","received_events_url":"https://api.github.com/users/chrisarcand/received_events","type":"User","site_admin":false},"created_at":"2016-01-19T17:51:17Z","updated_at":"2016-01-19T17:51:17Z","body":"@myronmarston @JonRowe Sorted this out, added plenty of spec, rebased, and updated the description to this. It's ready for a good glance. I'm kind of blown away about the boolean in `NegativeExpectationHandler::handle_matcher`, so going over my specs in great detail might be wise. I think this is the correct behavior now, though."}}