)]}'
{"git_review/tests/test_console.py":[{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"80951bc864eb19160dd78b4e3f608ee64787fb18","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        }]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @mock.patch(\u0027git_review.cmd.query_reviews\u0027)"},{"line_number":48,"context_line":"    @mock.patch(\u0027git_review.cmd.get_remote_url\u0027, lambda x: True)"},{"line_number":49,"context_line":"    @mock.patch(\u0027git_review.cmd._has_color\u0027, False)"},{"line_number":50,"context_line":"    def test_list_reviews_no_blanks(self, mock_query):"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab895d6_6e5af384","line":48,"range":{"start_line":48,"start_character":49,"end_line":48,"end_character":63},"updated":"2014-06-29 15:42:20.000000000","message":"You should set .return_value instead of using lambdas here.","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"},{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"52249c43c9f56fdb173557a97cee9b4e86f51194","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        }]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @mock.patch(\u0027git_review.cmd.query_reviews\u0027)"},{"line_number":48,"context_line":"    @mock.patch(\u0027git_review.cmd.get_remote_url\u0027, lambda x: True)"},{"line_number":49,"context_line":"    @mock.patch(\u0027git_review.cmd._has_color\u0027, False)"},{"line_number":50,"context_line":"    def test_list_reviews_no_blanks(self, mock_query):"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_6a578358","line":48,"in_reply_to":"baada198_d16e8d2e","updated":"2014-07-11 07:08:01.000000000","message":"I like the second option more here.","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"},{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"75198716ddfd2aceb642e279cfd88c0fb3e95706","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        }]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @mock.patch(\u0027git_review.cmd.query_reviews\u0027)"},{"line_number":48,"context_line":"    @mock.patch(\u0027git_review.cmd.get_remote_url\u0027, lambda x: True)"},{"line_number":49,"context_line":"    @mock.patch(\u0027git_review.cmd._has_color\u0027, False)"},{"line_number":50,"context_line":"    def test_list_reviews_no_blanks(self, mock_query):"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_d16e8d2e","line":48,"in_reply_to":"dab895d6_6e5af384","updated":"2014-07-05 01:11:30.000000000","message":"To use .return_value, will need to pass the mock into the wrapped function. I can\u0027t seem to find a way to set it without mock requiring passing it in. The lambda is a workaround for this.\n\nSo either it\u0027s:\n\n @mock.patch(\u0027git_review.cmd.query_reviews\u0027)\n @mock.patch(\u0027git_review.cmd.get_remote_url\u0027, lambda x: True)\n def test_list_reviews_no_blanks(self, mock_query):\n ...\n\nor\n\n @mock.patch(\u0027git_review.cmd.query_reviews\u0027)\n @mock.patch(\u0027git_review.cmd.get_remote_url\u0027, return_value\u003dTrue)\n def test_list_reviews_no_blanks(self, mock_remote, mock_query):\n ...\n\nor something else?","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"},{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"80951bc864eb19160dd78b4e3f608ee64787fb18","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        wrapper \u003d textwrap.TextWrapper(replace_whitespace\u003dFalse,"},{"line_number":53,"context_line":"                                       drop_whitespace\u003dFalse)"},{"line_number":54,"context_line":"        mock_query.return_value \u003d self.reviews"},{"line_number":55,"context_line":"        with mock.patch(\u0027sys.stdout\u0027, new_callable\u003dmoves.StringIO) as output:"},{"line_number":56,"context_line":"            git_review.cmd.list_reviews(None)"},{"line_number":57,"context_line":"            console_output \u003d output.getvalue().split(\u0027\\n\u0027)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab895d6_ae6c0b38","line":55,"range":{"start_line":55,"start_character":51,"end_line":55,"end_character":65},"updated":"2014-06-29 15:42:20.000000000","message":"You don\u0027t need six.moves for this. Use io.StringIO instead.","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"},{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"52249c43c9f56fdb173557a97cee9b4e86f51194","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        wrapper \u003d textwrap.TextWrapper(replace_whitespace\u003dFalse,"},{"line_number":53,"context_line":"                                       drop_whitespace\u003dFalse)"},{"line_number":54,"context_line":"        mock_query.return_value \u003d self.reviews"},{"line_number":55,"context_line":"        with mock.patch(\u0027sys.stdout\u0027, new_callable\u003dmoves.StringIO) as output:"},{"line_number":56,"context_line":"            git_review.cmd.list_reviews(None)"},{"line_number":57,"context_line":"            console_output \u003d output.getvalue().split(\u0027\\n\u0027)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_4a5d5f78","line":55,"in_reply_to":"baada198_71bdc1b6","updated":"2014-07-11 07:08:01.000000000","message":"I get it where I was wrong. Still, we try to avoid adding dependencies, so adding a simple\n\n  try:\n    import StringIO\n  except ImportError:\n    import io\n    StringIO \u003d io\n\nmight be better here.","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"},{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"75198716ddfd2aceb642e279cfd88c0fb3e95706","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        wrapper \u003d textwrap.TextWrapper(replace_whitespace\u003dFalse,"},{"line_number":53,"context_line":"                                       drop_whitespace\u003dFalse)"},{"line_number":54,"context_line":"        mock_query.return_value \u003d self.reviews"},{"line_number":55,"context_line":"        with mock.patch(\u0027sys.stdout\u0027, new_callable\u003dmoves.StringIO) as output:"},{"line_number":56,"context_line":"            git_review.cmd.list_reviews(None)"},{"line_number":57,"context_line":"            console_output \u003d output.getvalue().split(\u0027\\n\u0027)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_71bdc1b6","line":55,"in_reply_to":"dab895d6_ae6c0b38","updated":"2014-07-05 01:11:30.000000000","message":"io.StringIO doesn\u0027t quite behave the same in python 2.6 and 2.7. Use of it requires ensuring all the strings being sent by print to stdout in the function being tested are in unicode.\n\nio.BytesIO can be used instead for python 2.6/2.7 without any conversion to unicode, but blows up in python 3 and above due to stricter checking.\n\nShould all strings in git-review be converted to unicode to support this? just the ones that would affected the output in the function being tested, or should I stick with using \u0027moves\u0027 for now?","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"},{"author":{"_account_id":708,"name":"Yuriy Taraday","email":"yuriy@taraday.nl","username":"yorik-sar"},"change_message_id":"80951bc864eb19160dd78b4e3f608ee64787fb18","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            git_review.cmd.list_reviews(None)"},{"line_number":57,"context_line":"            console_output \u003d output.getvalue().split(\u0027\\n\u0027)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        console_lines \u003d [line for text in console_output"},{"line_number":60,"context_line":"                         for line in wrapper.wrap(text)]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        for line in console_lines:"},{"line_number":63,"context_line":"            self.assertEqual(line.isspace(), False,"},{"line_number":64,"context_line":"                             \"list reviews output results in blank lines \""},{"line_number":65,"context_line":"                             \"after some lines if any review entry exceeds \""}],"source_content_type":"text/x-python","patch_set":2,"id":"dab895d6_4ef36f73","line":62,"range":{"start_line":59,"start_character":8,"end_line":62,"end_character":34},"updated":"2014-06-29 15:42:20.000000000","message":"And just a style issue here: there\u0027s no need to generate a list using a comprehension just to run a usual loop over it afterwards.","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"},{"author":{"_account_id":1054,"name":"Darragh Bailey","email":"daragh.bailey@gmail.com","username":"dbailey-k"},"change_message_id":"75198716ddfd2aceb642e279cfd88c0fb3e95706","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        console_lines \u003d [line for text in console_output"},{"line_number":60,"context_line":"                         for line in wrapper.wrap(text)]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        for line in console_lines:"},{"line_number":63,"context_line":"            self.assertEqual(line.isspace(), False,"},{"line_number":64,"context_line":"                             \"list reviews output results in blank lines \""},{"line_number":65,"context_line":"                             \"after some lines if any review entry exceeds \""}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_b18679d9","line":62,"in_reply_to":"dab895d6_4ef36f73","updated":"2014-07-05 01:11:30.000000000","message":"Will do.","commit_id":"8b8fd780ea22b1a54bcab988ffbe6268bf626a38"}]}
