{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":59509,"defaultBranch":"main","name":"mocha","ownerLogin":"freerange","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2008-10-04T13:34:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/61936?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712737512.0","currentOid":""},"activityList":{"items":[{"before":"9d2b88ef018cdd988a0d97507615af79b925924c","after":"5324009b296939c0a0da9d05c13b823a6dceb643","ref":"refs/heads/main","pushedAt":"2024-04-10T08:24:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"[skip ci] Update documentation for v2.2.0","shortMessageHtmlLink":"[skip ci] Update documentation for v2.2.0"}},{"before":"ca3ff8ebff9fca17fa6a602725e050d27812ba91","after":null,"ref":"refs/heads/improve-expired-error","pushedAt":"2024-04-10T08:03:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"}},{"before":"85848fb07216464f4a100428110ed5885e922613","after":"9d2b88ef018cdd988a0d97507615af79b925924c","ref":"refs/heads/main","pushedAt":"2024-04-10T08:03:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Include the original test name in expired stub error messages\n\nIt is currently very hard to track down such leaked stubs, when\nthey happen, as they might be created in one test and cause an\nexception dozens of tests later.\n\nBy including the name of the test that invalidated them, it makes\nthe debugging process a bit easier.\n\nNote, I made `setup` also accept the current test instance purely\nfor consistency with `teardown` but it's not strictly necessary.","shortMessageHtmlLink":"Include the original test name in expired stub error messages"}},{"before":"9062645d59f4d2fd5145c62bbe8aa14c10577ae0","after":"ca3ff8ebff9fca17fa6a602725e050d27812ba91","ref":"refs/heads/improve-expired-error","pushedAt":"2024-04-10T08:00:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Include the original test name in expired stub error messages\n\nIt is currently very hard to track down such leaked stubs, when\nthey happen, as they might be created in one test and cause an\nexception dozens of tests later.\n\nBy including the name of the test that invalidated them, it makes\nthe debugging process a bit easier.\n\nNote, I made `setup` also accept the current test instance purely\nfor consistency with `teardown` but it's not strictly necessary.","shortMessageHtmlLink":"Include the original test name in expired stub error messages"}},{"before":"2e06b98bdcd5363e42fd85f696ca7ed6cf37efc7","after":"9062645d59f4d2fd5145c62bbe8aa14c10577ae0","ref":"refs/heads/improve-expired-error","pushedAt":"2024-04-10T07:59:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Add integration test for leaky mock\n\nThis seems worthwhile now that more behaviour is in the two test library\nadapters.","shortMessageHtmlLink":"Add integration test for leaky mock"}},{"before":null,"after":"2e06b98bdcd5363e42fd85f696ca7ed6cf37efc7","ref":"refs/heads/improve-expired-error","pushedAt":"2024-04-10T07:49:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Add integration test for leaky mock\n\nThis seems worthwhile now that more behaviour is in the two test library\nadapters.","shortMessageHtmlLink":"Add integration test for leaky mock"}},{"before":"ce31b544ca765b930db1dcbb02570863bc7c24eb","after":"85848fb07216464f4a100428110ed5885e922613","ref":"refs/heads/main","pushedAt":"2024-04-09T08:17:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Drop support for Ruby v2.0\n\nRecently the image that the CircleCI builds were using has stopped\nworking [1]. I don't have time to dig into that and in any case Ruby\nv2.0 has been EOL since 2016-02-24 [2], so regrettably I'm going to drop\nsupport.\n\nCloses #642.\n\n[1]: https://app.circleci.com/pipelines/github/freerange/mocha/494/workflows/8d9720cf-6dd7-4c4b-a072-4d0978edbb25/jobs/7120\n[2]: https://www.ruby-lang.org/en/downloads/branches/","shortMessageHtmlLink":"Drop support for Ruby v2.0"}},{"before":"a74f41b32ccf66a542b71b1e98f02ec2560d9c09","after":null,"ref":"refs/heads/drop-support-for-ruby-v2.0","pushedAt":"2024-04-09T08:17:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"}},{"before":"03e13d146984733932f700a7c889943c80518103","after":"a74f41b32ccf66a542b71b1e98f02ec2560d9c09","ref":"refs/heads/drop-support-for-ruby-v2.0","pushedAt":"2024-04-09T08:09:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Drop support for Ruby v2.0\n\nRecently the image that the CircleCI builds were using has stopped\nworking [1]. I don't have time to dig into that and in any case Ruby\nv2.0 has been EOL since 2016-02-24 [2], so regrettably I'm going to drop\nsupport.\n\nCloses #642.\n\n[1]: https://app.circleci.com/pipelines/github/freerange/mocha/494/workflows/8d9720cf-6dd7-4c4b-a072-4d0978edbb25/jobs/7120\n[2]: https://www.ruby-lang.org/en/downloads/branches/","shortMessageHtmlLink":"Drop support for Ruby v2.0"}},{"before":null,"after":"03e13d146984733932f700a7c889943c80518103","ref":"refs/heads/drop-support-for-ruby-v2.0","pushedAt":"2024-04-09T08:08:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Drop support for Ruby v2.0\n\nRecently the image that the CircleCI builds were using has stopped\nworking [1]. I don't have time to dig into that and in any case Ruby\nv2.0 has been EOL since 2016-02-24 [2], so regrettably I'm going to drop\nsupport.\n\n[1]: https://app.circleci.com/pipelines/github/freerange/mocha/494/workflows/8d9720cf-6dd7-4c4b-a072-4d0978edbb25/jobs/7120\n[2]: https://www.ruby-lang.org/en/downloads/branches/","shortMessageHtmlLink":"Drop support for Ruby v2.0"}},{"before":"50301b0f3046d22361b59af66c263c15adbf6b9e","after":"f86107436a083f5f6ec1d83dfa7ceef628be9d43","ref":"refs/heads/foo","pushedAt":"2024-01-01T14:34:20.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Inline StubbedMethod sub-classes: InstanceMethod & AnyInstanceMethod\n\nThis leaves some of the unit tests in a bit of a mess, but hopefully I\ncan clean them up or remove them later.","shortMessageHtmlLink":"Inline StubbedMethod sub-classes: InstanceMethod & AnyInstanceMethod"}},{"before":"503e2243cc9623fc3f2dc6d682bc34ddb8037e7f","after":"50301b0f3046d22361b59af66c263c15adbf6b9e","ref":"refs/heads/foo","pushedAt":"2023-12-28T18:04:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Consistently use parentheses in StubbedMethod#stub","shortMessageHtmlLink":"Consistently use parentheses in StubbedMethod#stub"}},{"before":null,"after":"503e2243cc9623fc3f2dc6d682bc34ddb8037e7f","ref":"refs/heads/foo","pushedAt":"2023-12-28T18:01:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Consistently use parentheses in StubbedMethod#stub","shortMessageHtmlLink":"Consistently use parentheses in StubbedMethod#stub"}},{"before":"bf0aa03066260e4f3a1724069a9a9808d3ec9cbd","after":"0a33bc19dac3c60e3ea1ca3204d73e4e5d026210","ref":"refs/heads/fix-stubbing-method-implemented-by-method-missing","pushedAt":"2023-12-28T11:46:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"WIP: Acceptance test for stubbing method implemented by method_missing\n\nSee #634.","shortMessageHtmlLink":"WIP: Acceptance test for stubbing method implemented by method_missing"}},{"before":"8eba4965310797b83dd4a1b7ee31d89bc2d7150d","after":null,"ref":"refs/heads/add-ruby-v3.3-to-ci-build-matrix","pushedAt":"2023-12-26T21:46:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"}},{"before":"0800c6ffadb3c08583b628a827fc0306552c28f4","after":"ce31b544ca765b930db1dcbb02570863bc7c24eb","ref":"refs/heads/main","pushedAt":"2023-12-26T21:46:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Add Ruby v3.3 to CI build matrix","shortMessageHtmlLink":"Add Ruby v3.3 to CI build matrix"}},{"before":"6f72a7c15d02fb7929715fbd2fdc076c1012b269","after":"8eba4965310797b83dd4a1b7ee31d89bc2d7150d","ref":"refs/heads/add-ruby-v3.3-to-ci-build-matrix","pushedAt":"2023-12-26T19:58:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Add Ruby v3.3 to CI build matrix","shortMessageHtmlLink":"Add Ruby v3.3 to CI build matrix"}},{"before":"30eb9a912f84349de04b10679edc7efaace1f75e","after":"6f72a7c15d02fb7929715fbd2fdc076c1012b269","ref":"refs/heads/add-ruby-v3.3-to-ci-build-matrix","pushedAt":"2023-12-25T11:44:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"WIP: Add Ruby v3.3.0-rc1 to CI build matrix","shortMessageHtmlLink":"WIP: Add Ruby v3.3.0-rc1 to CI build matrix"}},{"before":"2b8c01aa3c386e77eae934fe5dc480183a0db753","after":"30eb9a912f84349de04b10679edc7efaace1f75e","ref":"refs/heads/add-ruby-v3.3-to-ci-build-matrix","pushedAt":"2023-12-25T11:42:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"WIP: Add Ruby v3.3-rc1 to CI build matrix","shortMessageHtmlLink":"WIP: Add Ruby v3.3-rc1 to CI build matrix"}},{"before":null,"after":"2b8c01aa3c386e77eae934fe5dc480183a0db753","ref":"refs/heads/add-ruby-v3.3-to-ci-build-matrix","pushedAt":"2023-12-25T11:38:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Add Ruby v3.3 to CI build matrix","shortMessageHtmlLink":"Add Ruby v3.3 to CI build matrix"}},{"before":"eb77bbf6cef5ae3a82cdbcf677c2efdfcd5c190d","after":"bf0aa03066260e4f3a1724069a9a9808d3ec9cbd","ref":"refs/heads/fix-stubbing-method-implemented-by-method-missing","pushedAt":"2023-12-06T08:39:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"WIP: Acceptance test for stubbing method implemented by method_missing\n\nSee #634.","shortMessageHtmlLink":"WIP: Acceptance test for stubbing method implemented by method_missing"}},{"before":"8960ef07abdc0c55ca1b4ad241fca339ef787f1a","after":"eb77bbf6cef5ae3a82cdbcf677c2efdfcd5c190d","ref":"refs/heads/fix-stubbing-method-implemented-by-method-missing","pushedAt":"2023-12-06T08:33:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"WIP: Acceptance test for stubbing method implemented by method_missing\n\nSee #634.","shortMessageHtmlLink":"WIP: Acceptance test for stubbing method implemented by method_missing"}},{"before":null,"after":"8960ef07abdc0c55ca1b4ad241fca339ef787f1a","ref":"refs/heads/fix-stubbing-method-implemented-by-method-missing","pushedAt":"2023-12-06T08:29:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"WIP: Acceptance test for stubbing method implemented by method_missing\n\nSee #634.","shortMessageHtmlLink":"WIP: Acceptance test for stubbing method implemented by method_missing"}},{"before":"ac7232424685509cbd529f510d7a2169998c1bfc","after":null,"ref":"refs/heads/improve-sequence-failure-message","pushedAt":"2023-11-18T13:44:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"}},{"before":"93fdffd48a51df1215542ace562bcc0b89757d5d","after":"0800c6ffadb3c08583b628a827fc0306552c28f4","ref":"refs/heads/main","pushedAt":"2023-11-18T13:44:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Improve sequence failure message\n\nI think there's more we could do in this area, but this implements\n@dchelimsky's suggestion which is definitely an improvement.\n\nIf an invocation was unexpected because, although there is an\nexpectation that expectation does not match due to an ordering\nconstraint, then append \"invoked out of order\" to the failure message.\n\ne.g.\n\n unexpected invocation: #.foo() invoked out of order\n\nCloses #60 (only 11 years late!๐Ÿ˜…)","shortMessageHtmlLink":"Improve sequence failure message"}},{"before":"3e4bb98c5fadad566596042a28d6c2672a9726f0","after":"ac7232424685509cbd529f510d7a2169998c1bfc","ref":"refs/heads/improve-sequence-failure-message","pushedAt":"2023-11-18T13:33:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Improve sequence failure message\n\nI think there's more we could do in this area, but this implements\n@dchelimsky's suggestion which is definitely an improvement.\n\nIf an invocation was unexpected because, although there is an\nexpectation that expectation does not match due to an ordering\nconstraint, then append \"invoked out of order\" to the failure message.\n\ne.g.\n\n unexpected invocation: #.foo() invoked out of order\n\nCloses #60 (only 11 years late!๐Ÿ˜…)","shortMessageHtmlLink":"Improve sequence failure message"}},{"before":null,"after":"3e4bb98c5fadad566596042a28d6c2672a9726f0","ref":"refs/heads/improve-sequence-failure-message","pushedAt":"2023-11-18T11:19:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"WIP: Improve sequence failure message\n\nTODO:\n* [ ] Add tests\n* [ ] Maybe improve method names?\n* [ ] Maybe extract more methods?\n* [ ] Avoid very long lines\n\nCloses #60","shortMessageHtmlLink":"WIP: Improve sequence failure message"}},{"before":"1fcfae2a920fe2d2a1be534568f20c5593d8b71b","after":null,"ref":"refs/heads/block-syntax-for-sequences","pushedAt":"2023-11-18T11:12:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"}},{"before":"f798df83b34fb9d99a9da5c4988a16c5f63f9b88","after":"93fdffd48a51df1215542ace562bcc0b89757d5d","ref":"refs/heads/main","pushedAt":"2023-11-18T11:12:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Add block syntax for sequences\n\nAll expectations defined within the block are constrained by the\nsequence.\n\nFor example, the following requires that Egg#crack must be called 1st,\nEgg#fry must be called 2nd, and Egg#eat must be called 3rd:\n\n egg = mock('egg')\n sequence('breakfast') do\n egg.expects(:crack)\n egg.expects(:fry)\n egg.expects(:eat)\n end\n\nCloses #61 (only 11 years late!)","shortMessageHtmlLink":"Add block syntax for sequences"}},{"before":"7f0eb0276c962423e0439b5e0ebf8858d83361ee","after":"1fcfae2a920fe2d2a1be534568f20c5593d8b71b","ref":"refs/heads/block-syntax-for-sequences","pushedAt":"2023-11-18T11:11:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"floehopper","name":"James Mead","path":"/floehopper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3169?s=80&v=4"},"commit":{"message":"Add block syntax for sequences\n\nAll expectations defined within the block are constrained by the\nsequence.\n\nFor example, the following requires that Egg#crack must be called 1st,\nEgg#fry must be called 2nd, and Egg#eat must be called 3rd:\n\n egg = mock('egg')\n sequence('breakfast') do\n egg.expects(:crack)\n egg.expects(:fry)\n egg.expects(:eat)\n end\n\nCloses #61 (only 11 years late!)","shortMessageHtmlLink":"Add block syntax for sequences"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAELM1pTwA","startCursor":null,"endCursor":null}},"title":"Activity ยท freerange/mocha"}