{"action":"created","issue":{"url":"https://api.github.com/repos/svaarala/duktape/issues/1021","repository_url":"https://api.github.com/repos/svaarala/duktape","labels_url":"https://api.github.com/repos/svaarala/duktape/issues/1021/labels{/name}","comments_url":"https://api.github.com/repos/svaarala/duktape/issues/1021/comments","events_url":"https://api.github.com/repos/svaarala/duktape/issues/1021/events","html_url":"https://github.com/svaarala/duktape/pull/1021","id":183296859,"number":1021,"title":"Add test for replacement character policy","user":{"login":"svaarala","id":6377415,"avatar_url":"https://avatars.githubusercontent.com/u/6377415?v=3","gravatar_id":"","url":"https://api.github.com/users/svaarala","html_url":"https://github.com/svaarala","followers_url":"https://api.github.com/users/svaarala/followers","following_url":"https://api.github.com/users/svaarala/following{/other_user}","gists_url":"https://api.github.com/users/svaarala/gists{/gist_id}","starred_url":"https://api.github.com/users/svaarala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svaarala/subscriptions","organizations_url":"https://api.github.com/users/svaarala/orgs","repos_url":"https://api.github.com/users/svaarala/repos","events_url":"https://api.github.com/users/svaarala/events{/privacy}","received_events_url":"https://api.github.com/users/svaarala/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/svaarala/duktape/labels/buffer","name":"buffer","color":"0052cc"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/svaarala/duktape/milestones/5","html_url":"https://github.com/svaarala/duktape/milestones/v2.0.0","labels_url":"https://api.github.com/repos/svaarala/duktape/milestones/5/labels","id":840957,"number":5,"title":"v2.0.0","description":"","creator":{"login":"svaarala","id":6377415,"avatar_url":"https://avatars.githubusercontent.com/u/6377415?v=3","gravatar_id":"","url":"https://api.github.com/users/svaarala","html_url":"https://github.com/svaarala","followers_url":"https://api.github.com/users/svaarala/followers","following_url":"https://api.github.com/users/svaarala/following{/other_user}","gists_url":"https://api.github.com/users/svaarala/gists{/gist_id}","starred_url":"https://api.github.com/users/svaarala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svaarala/subscriptions","organizations_url":"https://api.github.com/users/svaarala/orgs","repos_url":"https://api.github.com/users/svaarala/repos","events_url":"https://api.github.com/users/svaarala/events{/privacy}","received_events_url":"https://api.github.com/users/svaarala/received_events","type":"User","site_admin":false},"open_issues":66,"closed_issues":180,"state":"open","created_at":"2014-10-26T15:05:37Z","updated_at":"2016-10-16T22:39:58Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2016-10-16T22:39:58Z","updated_at":"2016-10-16T23:12:00Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/svaarala/duktape/pulls/1021","html_url":"https://github.com/svaarala/duktape/pull/1021","diff_url":"https://github.com/svaarala/duktape/pull/1021.diff","patch_url":"https://github.com/svaarala/duktape/pull/1021.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/svaarala/duktape/issues/comments/254082254","html_url":"https://github.com/svaarala/duktape/pull/1021#issuecomment-254082254","issue_url":"https://api.github.com/repos/svaarala/duktape/issues/1021","id":254082254,"user":{"login":"svaarala","id":6377415,"avatar_url":"https://avatars.githubusercontent.com/u/6377415?v=3","gravatar_id":"","url":"https://api.github.com/users/svaarala","html_url":"https://github.com/svaarala","followers_url":"https://api.github.com/users/svaarala/followers","following_url":"https://api.github.com/users/svaarala/following{/other_user}","gists_url":"https://api.github.com/users/svaarala/gists{/gist_id}","starred_url":"https://api.github.com/users/svaarala/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svaarala/subscriptions","organizations_url":"https://api.github.com/users/svaarala/orgs","repos_url":"https://api.github.com/users/svaarala/repos","events_url":"https://api.github.com/users/svaarala/events{/privacy}","received_events_url":"https://api.github.com/users/svaarala/received_events","type":"User","site_admin":false},"created_at":"2016-10-16T23:12:00Z","updated_at":"2016-10-16T23:12:00Z","body":"Btw, proper testcase coverage is one reason it takes some time to work in changes into master, even for seemingly small features. Quite typically it takes at least as long or even significantly longer to write tests that actually cover all relevant code paths.\r\n\r\nI *really* dislike features that don't have active test coverage - it makes refactoring dangerous and bug hunting for any fallout is also very costly. Similarly changes to behavior after release often pose versioning issues which take a lot of cumulative time. As a whole there's then a tendency to avoid refactoring which is very bad in the longer term (I've seen this effect enough times).\r\n\r\nIn this case, replacement character handling is one of the rare differences in (otherwise correct) UTF-8 decoders, so I think it's definitely worth documenting what alternative is used and why - I also wasn't aware of the alternatives and recommendation myself :)\r\n\r\nThat said I don't expect pulls to always provide comprehensive testcase coverage - I'll add more tests into master afterwards until I'm satisfied with the coverage. There's a minor backlog for 2.x already in that department, e.g. for suspend/resume API calls and now Encoding API."}}
{"actor":{"display_login":"svaarala"}}