{"action":"closed","issue":{"url":"https://api.github.com/repos/shouldly/shouldly/issues/41","labels_url":"https://api.github.com/repos/shouldly/shouldly/issues/41/labels{/name}","comments_url":"https://api.github.com/repos/shouldly/shouldly/issues/41/comments","events_url":"https://api.github.com/repos/shouldly/shouldly/issues/41/events","html_url":"https://github.com/shouldly/shouldly/issues/41","id":3924834,"number":41,"title":"Display detailed diff for string comparisons when calling ShouldBe","user":{"login":"xerxesb","id":67630,"avatar_url":"https://avatars.githubusercontent.com/u/67630?v=3","gravatar_id":"","url":"https://api.github.com/users/xerxesb","html_url":"https://github.com/xerxesb","followers_url":"https://api.github.com/users/xerxesb/followers","following_url":"https://api.github.com/users/xerxesb/following{/other_user}","gists_url":"https://api.github.com/users/xerxesb/gists{/gist_id}","starred_url":"https://api.github.com/users/xerxesb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xerxesb/subscriptions","organizations_url":"https://api.github.com/users/xerxesb/orgs","repos_url":"https://api.github.com/users/xerxesb/repos","events_url":"https://api.github.com/users/xerxesb/events{/privacy}","received_events_url":"https://api.github.com/users/xerxesb/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/shouldly/shouldly/milestones/1","html_url":"https://github.com/shouldly/shouldly/milestones/v2","labels_url":"https://api.github.com/repos/shouldly/shouldly/milestones/1/labels","id":214047,"number":1,"title":"v2","description":null,"creator":{"login":"xerxesb","id":67630,"avatar_url":"https://avatars.githubusercontent.com/u/67630?v=3","gravatar_id":"","url":"https://api.github.com/users/xerxesb","html_url":"https://github.com/xerxesb","followers_url":"https://api.github.com/users/xerxesb/followers","following_url":"https://api.github.com/users/xerxesb/following{/other_user}","gists_url":"https://api.github.com/users/xerxesb/gists{/gist_id}","starred_url":"https://api.github.com/users/xerxesb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xerxesb/subscriptions","organizations_url":"https://api.github.com/users/xerxesb/orgs","repos_url":"https://api.github.com/users/xerxesb/repos","events_url":"https://api.github.com/users/xerxesb/events{/privacy}","received_events_url":"https://api.github.com/users/xerxesb/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":6,"state":"closed","created_at":"2012-11-16T05:49:29Z","updated_at":"2015-05-12T13:22:52Z","due_on":null,"closed_at":"2014-03-27T11:40:19Z"},"comments":3,"created_at":"2012-04-02T11:33:38Z","updated_at":"2015-05-12T13:22:52Z","closed_at":"2015-05-12T13:22:52Z","body":"This task is to enhance the message reporting of ShouldBe(string) method to show more information about the string and where it differed from the target.\r\n\r\nThe basic idea (from my recollection) was taken from Phil Haack's blogpost on comparing strings un unit tests. (http://haacked.com/archive/2012/01/14/comparing-strings-in-unit-tests.aspx)\r\n\r\nHe has a reference implementation which (with some love) should slip into Shouldly. (https://gist.github.com/1610603)\r\n\r\nThis task will possibly require doing the refactor to the ShouldlyMessage/ShouldlyMessageGenerator i've been putting off for some time (ie: All messages should be routed through an appropriate generator and the ShouldlyMessage shouldn't do any message output)."}}