{"action":"created","comment":{"url":"https://api.github.com/repos/jquery/qunit/pulls/comments/26215401","id":26215401,"diff_hunk":"@@ -60,7 +60,8 @@ grunt.initConfig({\n \t\t},\n \t\tall: [\n \t\t\t\"<%= jshint.all %>\",\n-\t\t\t\"!test/deepEqual.js\"\n+\t\t\t\"!test/deepEqual.js\",\n+\t\t\t\"!test/propEqual.js\"","path":"Gruntfile.js","position":6,"original_position":6,"commit_id":"858367c137aa6b20c3164a07016f5c6144c24ac7","original_commit_id":"858367c137aa6b20c3164a07016f5c6144c24ac7","user":{"login":"jzaefferer","id":52585,"avatar_url":"https://avatars.githubusercontent.com/u/52585?v=3","gravatar_id":"","url":"https://api.github.com/users/jzaefferer","html_url":"https://github.com/jzaefferer","followers_url":"https://api.github.com/users/jzaefferer/followers","following_url":"https://api.github.com/users/jzaefferer/following{/other_user}","gists_url":"https://api.github.com/users/jzaefferer/gists{/gist_id}","starred_url":"https://api.github.com/users/jzaefferer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jzaefferer/subscriptions","organizations_url":"https://api.github.com/users/jzaefferer/orgs","repos_url":"https://api.github.com/users/jzaefferer/repos","events_url":"https://api.github.com/users/jzaefferer/events{/privacy}","received_events_url":"https://api.github.com/users/jzaefferer/received_events","type":"User","site_admin":false},"body":"Let's not add more exceptions. We should fix any issues in new files.","created_at":"2015-03-11T14:21:29Z","updated_at":"2015-03-11T14:21:29Z","html_url":"https://github.com/jquery/qunit/pull/776#discussion_r26215401","pull_request_url":"https://api.github.com/repos/jquery/qunit/pulls/776","_links":{"self":{"href":"https://api.github.com/repos/jquery/qunit/pulls/comments/26215401"},"html":{"href":"https://github.com/jquery/qunit/pull/776#discussion_r26215401"},"pull_request":{"href":"https://api.github.com/repos/jquery/qunit/pulls/776"}}},"pull_request":{"url":"https://api.github.com/repos/jquery/qunit/pulls/776","id":30942410,"html_url":"https://github.com/jquery/qunit/pull/776","diff_url":"https://github.com/jquery/qunit/pull/776.diff","patch_url":"https://github.com/jquery/qunit/pull/776.patch","issue_url":"https://api.github.com/repos/jquery/qunit/issues/776","number":776,"state":"open","locked":false,"title":"Prop equal against circular structures","user":{"login":"BraulioVM","id":715372,"avatar_url":"https://avatars.githubusercontent.com/u/715372?v=3","gravatar_id":"","url":"https://api.github.com/users/BraulioVM","html_url":"https://github.com/BraulioVM","followers_url":"https://api.github.com/users/BraulioVM/followers","following_url":"https://api.github.com/users/BraulioVM/following{/other_user}","gists_url":"https://api.github.com/users/BraulioVM/gists{/gist_id}","starred_url":"https://api.github.com/users/BraulioVM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BraulioVM/subscriptions","organizations_url":"https://api.github.com/users/BraulioVM/orgs","repos_url":"https://api.github.com/users/BraulioVM/repos","events_url":"https://api.github.com/users/BraulioVM/events{/privacy}","received_events_url":"https://api.github.com/users/BraulioVM/received_events","type":"User","site_admin":false},"body":"Made this pull request to fix issue #411 \r\n \r\nThe problem within this issue was that propEqual was using the utility function objectValues, which does not check against circular structures, and then compared the result of both objectValues with a normal QUnit.equiv. As this approach does not work, I decided to split QUnit.equiv into  two separate functions:\r\n\r\n* ````QUnit.equiv.deep````: which performs the old QUnit.equiv computations\r\n* ````QUnit.equiv.props````: which compares object properties, ignoring their constructor. This function does check against circular structures and allows propEqual to work as it should. If this function is passed a non-object parameter, a ````QUnit.equiv.deep```` will be called.\r\n\r\nI also created some tests for this new function (mostly copied them from deepEqual.js tests).\r\n\r\n\r\n\r\n","created_at":"2015-03-11T13:27:03Z","updated_at":"2015-03-11T14:21:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"63f6d17359d47dbfab951ee1990a211747f7aa8f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/jquery/qunit/pulls/776/commits","review_comments_url":"https://api.github.com/repos/jquery/qunit/pulls/776/comments","review_comment_url":"https://api.github.com/repos/jquery/qunit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jquery/qunit/issues/776/comments","statuses_url":"https://api.github.com/repos/jquery/qunit/statuses/858367c137aa6b20c3164a07016f5c6144c24ac7","head":{"label":"BraulioVM:propEqual-against-circular-structures","ref":"propEqual-against-circular-structures","sha":"858367c137aa6b20c3164a07016f5c6144c24ac7","user":{"login":"BraulioVM","id":715372,"avatar_url":"https://avatars.githubusercontent.com/u/715372?v=3","gravatar_id":"","url":"https://api.github.com/users/BraulioVM","html_url":"https://github.com/BraulioVM","followers_url":"https://api.github.com/users/BraulioVM/followers","following_url":"https://api.github.com/users/BraulioVM/following{/other_user}","gists_url":"https://api.github.com/users/BraulioVM/gists{/gist_id}","starred_url":"https://api.github.com/users/BraulioVM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BraulioVM/subscriptions","organizations_url":"https://api.github.com/users/BraulioVM/orgs","repos_url":"https://api.github.com/users/BraulioVM/repos","events_url":"https://api.github.com/users/BraulioVM/events{/privacy}","received_events_url":"https://api.github.com/users/BraulioVM/received_events","type":"User","site_admin":false},"repo":{"id":31899436,"name":"qunit","full_name":"BraulioVM/qunit","owner":{"login":"BraulioVM","id":715372,"avatar_url":"https://avatars.githubusercontent.com/u/715372?v=3","gravatar_id":"","url":"https://api.github.com/users/BraulioVM","html_url":"https://github.com/BraulioVM","followers_url":"https://api.github.com/users/BraulioVM/followers","following_url":"https://api.github.com/users/BraulioVM/following{/other_user}","gists_url":"https://api.github.com/users/BraulioVM/gists{/gist_id}","starred_url":"https://api.github.com/users/BraulioVM/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BraulioVM/subscriptions","organizations_url":"https://api.github.com/users/BraulioVM/orgs","repos_url":"https://api.github.com/users/BraulioVM/repos","events_url":"https://api.github.com/users/BraulioVM/events{/privacy}","received_events_url":"https://api.github.com/users/BraulioVM/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/BraulioVM/qunit","description":"An easy-to-use JavaScript Unit Testing framework.","fork":true,"url":"https://api.github.com/repos/BraulioVM/qunit","forks_url":"https://api.github.com/repos/BraulioVM/qunit/forks","keys_url":"https://api.github.com/repos/BraulioVM/qunit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/BraulioVM/qunit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/BraulioVM/qunit/teams","hooks_url":"https://api.github.com/repos/BraulioVM/qunit/hooks","issue_events_url":"https://api.github.com/repos/BraulioVM/qunit/issues/events{/number}","events_url":"https://api.github.com/repos/BraulioVM/qunit/events","assignees_url":"https://api.github.com/repos/BraulioVM/qunit/assignees{/user}","branches_url":"https://api.github.com/repos/BraulioVM/qunit/branches{/branch}","tags_url":"https://api.github.com/repos/BraulioVM/qunit/tags","blobs_url":"https://api.github.com/repos/BraulioVM/qunit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/BraulioVM/qunit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/BraulioVM/qunit/git/refs{/sha}","trees_url":"https://api.github.com/repos/BraulioVM/qunit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/BraulioVM/qunit/statuses/{sha}","languages_url":"https://api.github.com/repos/BraulioVM/qunit/languages","stargazers_url":"https://api.github.com/repos/BraulioVM/qunit/stargazers","contributors_url":"https://api.github.com/repos/BraulioVM/qunit/contributors","subscribers_url":"https://api.github.com/repos/BraulioVM/qunit/subscribers","subscription_url":"https://api.github.com/repos/BraulioVM/qunit/subscription","commits_url":"https://api.github.com/repos/BraulioVM/qunit/commits{/sha}","git_commits_url":"https://api.github.com/repos/BraulioVM/qunit/git/commits{/sha}","comments_url":"https://api.github.com/repos/BraulioVM/qunit/comments{/number}","issue_comment_url":"https://api.github.com/repos/BraulioVM/qunit/issues/comments{/number}","contents_url":"https://api.github.com/repos/BraulioVM/qunit/contents/{+path}","compare_url":"https://api.github.com/repos/BraulioVM/qunit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/BraulioVM/qunit/merges","archive_url":"https://api.github.com/repos/BraulioVM/qunit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/BraulioVM/qunit/downloads","issues_url":"https://api.github.com/repos/BraulioVM/qunit/issues{/number}","pulls_url":"https://api.github.com/repos/BraulioVM/qunit/pulls{/number}","milestones_url":"https://api.github.com/repos/BraulioVM/qunit/milestones{/number}","notifications_url":"https://api.github.com/repos/BraulioVM/qunit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/BraulioVM/qunit/labels{/name}","releases_url":"https://api.github.com/repos/BraulioVM/qunit/releases{/id}","created_at":"2015-03-09T13:23:08Z","updated_at":"2015-03-11T14:11:22Z","pushed_at":"2015-03-11T14:13:45Z","git_url":"git://github.com/BraulioVM/qunit.git","ssh_url":"git@github.com:BraulioVM/qunit.git","clone_url":"https://github.com/BraulioVM/qunit.git","svn_url":"https://github.com/BraulioVM/qunit","homepage":"http://qunitjs.com","size":1233,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"jquery:master","ref":"master","sha":"2742c6b8cae609968fd61caa3b8f8eb156dcc6e0","user":{"login":"jquery","id":70142,"avatar_url":"https://avatars.githubusercontent.com/u/70142?v=3","gravatar_id":"","url":"https://api.github.com/users/jquery","html_url":"https://github.com/jquery","followers_url":"https://api.github.com/users/jquery/followers","following_url":"https://api.github.com/users/jquery/following{/other_user}","gists_url":"https://api.github.com/users/jquery/gists{/gist_id}","starred_url":"https://api.github.com/users/jquery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jquery/subscriptions","organizations_url":"https://api.github.com/users/jquery/orgs","repos_url":"https://api.github.com/users/jquery/repos","events_url":"https://api.github.com/users/jquery/events{/privacy}","received_events_url":"https://api.github.com/users/jquery/received_events","type":"Organization","site_admin":false},"repo":{"id":259691,"name":"qunit","full_name":"jquery/qunit","owner":{"login":"jquery","id":70142,"avatar_url":"https://avatars.githubusercontent.com/u/70142?v=3","gravatar_id":"","url":"https://api.github.com/users/jquery","html_url":"https://github.com/jquery","followers_url":"https://api.github.com/users/jquery/followers","following_url":"https://api.github.com/users/jquery/following{/other_user}","gists_url":"https://api.github.com/users/jquery/gists{/gist_id}","starred_url":"https://api.github.com/users/jquery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jquery/subscriptions","organizations_url":"https://api.github.com/users/jquery/orgs","repos_url":"https://api.github.com/users/jquery/repos","events_url":"https://api.github.com/users/jquery/events{/privacy}","received_events_url":"https://api.github.com/users/jquery/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/jquery/qunit","description":"An easy-to-use JavaScript Unit Testing framework.","fork":false,"url":"https://api.github.com/repos/jquery/qunit","forks_url":"https://api.github.com/repos/jquery/qunit/forks","keys_url":"https://api.github.com/repos/jquery/qunit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jquery/qunit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jquery/qunit/teams","hooks_url":"https://api.github.com/repos/jquery/qunit/hooks","issue_events_url":"https://api.github.com/repos/jquery/qunit/issues/events{/number}","events_url":"https://api.github.com/repos/jquery/qunit/events","assignees_url":"https://api.github.com/repos/jquery/qunit/assignees{/user}","branches_url":"https://api.github.com/repos/jquery/qunit/branches{/branch}","tags_url":"https://api.github.com/repos/jquery/qunit/tags","blobs_url":"https://api.github.com/repos/jquery/qunit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jquery/qunit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jquery/qunit/git/refs{/sha}","trees_url":"https://api.github.com/repos/jquery/qunit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jquery/qunit/statuses/{sha}","languages_url":"https://api.github.com/repos/jquery/qunit/languages","stargazers_url":"https://api.github.com/repos/jquery/qunit/stargazers","contributors_url":"https://api.github.com/repos/jquery/qunit/contributors","subscribers_url":"https://api.github.com/repos/jquery/qunit/subscribers","subscription_url":"https://api.github.com/repos/jquery/qunit/subscription","commits_url":"https://api.github.com/repos/jquery/qunit/commits{/sha}","git_commits_url":"https://api.github.com/repos/jquery/qunit/git/commits{/sha}","comments_url":"https://api.github.com/repos/jquery/qunit/comments{/number}","issue_comment_url":"https://api.github.com/repos/jquery/qunit/issues/comments{/number}","contents_url":"https://api.github.com/repos/jquery/qunit/contents/{+path}","compare_url":"https://api.github.com/repos/jquery/qunit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jquery/qunit/merges","archive_url":"https://api.github.com/repos/jquery/qunit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jquery/qunit/downloads","issues_url":"https://api.github.com/repos/jquery/qunit/issues{/number}","pulls_url":"https://api.github.com/repos/jquery/qunit/pulls{/number}","milestones_url":"https://api.github.com/repos/jquery/qunit/milestones{/number}","notifications_url":"https://api.github.com/repos/jquery/qunit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jquery/qunit/labels{/name}","releases_url":"https://api.github.com/repos/jquery/qunit/releases{/id}","created_at":"2009-07-24T16:26:23Z","updated_at":"2015-03-11T14:10:27Z","pushed_at":"2015-03-11T14:10:27Z","git_url":"git://github.com/jquery/qunit.git","ssh_url":"git@github.com:jquery/qunit.git","clone_url":"https://github.com/jquery/qunit.git","svn_url":"https://github.com/jquery/qunit","homepage":"http://qunitjs.com","size":4807,"stargazers_count":3112,"watchers_count":3112,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":642,"mirror_url":null,"open_issues_count":54,"forks":642,"open_issues":54,"watchers":3112,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jquery/qunit/pulls/776"},"html":{"href":"https://github.com/jquery/qunit/pull/776"},"issue":{"href":"https://api.github.com/repos/jquery/qunit/issues/776"},"comments":{"href":"https://api.github.com/repos/jquery/qunit/issues/776/comments"},"review_comments":{"href":"https://api.github.com/repos/jquery/qunit/pulls/776/comments"},"review_comment":{"href":"https://api.github.com/repos/jquery/qunit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jquery/qunit/pulls/776/commits"},"statuses":{"href":"https://api.github.com/repos/jquery/qunit/statuses/858367c137aa6b20c3164a07016f5c6144c24ac7"}}}}