)]}'
{"tests/unit/core/test_util.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5c6f6ac1398833c4c70817fbaf0cbebdc65374dd","unresolved":false,"context_lines":[{"line_number":240,"context_line":"    def test_ast_args_to_str(self):"},{"line_number":241,"context_line":"        call_node \u003d ast.parse(\u0027foo(a, b)\u0027)"},{"line_number":242,"context_line":"        args_str \u003d b_utils.ast_args_to_str(call_node.body[0].value.args)"},{"line_number":243,"context_line":"        expected \u003d \"\\n\\tArgument/s:\\n\\t\\tName(id\u003d\u0027a\u0027, ctx\u003dLoad())\" \\"},{"line_number":244,"context_line":"                   \"\\n\\t\\tName(id\u003d\u0027b\u0027, ctx\u003dLoad())\""},{"line_number":245,"context_line":"        self.assertEqual(expected, args_str)"},{"line_number":246,"context_line":"        call_node \u003d ast.parse(\"foo(True, 1, \u0027cc\u0027)\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_357395b6","line":243,"updated":"2015-09-02 00:30:50.000000000","message":"suggest use () to continue lines per pep8 -- https://www.python.org/dev/peps/pep-0008/#maximum-line-length\n\nIn this case might want to use \"\"\" instead.","commit_id":"03e324c923f38ca05c5475ebf357e8fef53b1a7c"},{"author":{"_account_id":11029,"name":"Jamie Finnigan","email":"jamiefinnigan@gmail.com","username":"jamiefinnigan"},"change_message_id":"b782fbead3961aeb6a48219996ee124da1fa5d0e","unresolved":false,"context_lines":[{"line_number":240,"context_line":"    def test_ast_args_to_str(self):"},{"line_number":241,"context_line":"        call_node \u003d ast.parse(\u0027foo(a, b)\u0027)"},{"line_number":242,"context_line":"        args_str \u003d b_utils.ast_args_to_str(call_node.body[0].value.args)"},{"line_number":243,"context_line":"        expected \u003d \"\\n\\tArgument/s:\\n\\t\\tName(id\u003d\u0027a\u0027, ctx\u003dLoad())\" \\"},{"line_number":244,"context_line":"                   \"\\n\\t\\tName(id\u003d\u0027b\u0027, ctx\u003dLoad())\""},{"line_number":245,"context_line":"        self.assertEqual(expected, args_str)"},{"line_number":246,"context_line":"        call_node \u003d ast.parse(\"foo(True, 1, \u0027cc\u0027)\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_953060a0","line":243,"in_reply_to":"da20952f_357395b6","updated":"2015-09-02 14:53:48.000000000","message":"Done","commit_id":"03e324c923f38ca05c5475ebf357e8fef53b1a7c"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5c6f6ac1398833c4c70817fbaf0cbebdc65374dd","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        a.b.c.d \u003d \u0027deep value\u0027"},{"line_number":261,"context_line":"        a.b.c.d2 \u003d \u0027deep value 2\u0027"},{"line_number":262,"context_line":"        self.assertEqual(\u0027deep value\u0027, b_utils.deepgetattr(a.b.c, \u0027d\u0027))"},{"line_number":263,"context_line":"        self.assertEqual(\u0027deep value 2\u0027, b_utils.deepgetattr(a.b.c, \u0027d2\u0027))"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def test_lines_with_context(self):"},{"line_number":266,"context_line":"        res \u003d b_utils.lines_with_context(2, [0, 1, 2, 3, 4], 20, 100)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_3581554e","line":263,"updated":"2015-09-02 00:30:50.000000000","message":"there should be a test where the attr contains . , e.g., \n\n b_utils.deepgetattr(a, \u0027b.c.d\u0027)","commit_id":"03e324c923f38ca05c5475ebf357e8fef53b1a7c"},{"author":{"_account_id":11029,"name":"Jamie Finnigan","email":"jamiefinnigan@gmail.com","username":"jamiefinnigan"},"change_message_id":"b782fbead3961aeb6a48219996ee124da1fa5d0e","unresolved":false,"context_lines":[{"line_number":260,"context_line":"        a.b.c.d \u003d \u0027deep value\u0027"},{"line_number":261,"context_line":"        a.b.c.d2 \u003d \u0027deep value 2\u0027"},{"line_number":262,"context_line":"        self.assertEqual(\u0027deep value\u0027, b_utils.deepgetattr(a.b.c, \u0027d\u0027))"},{"line_number":263,"context_line":"        self.assertEqual(\u0027deep value 2\u0027, b_utils.deepgetattr(a.b.c, \u0027d2\u0027))"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def test_lines_with_context(self):"},{"line_number":266,"context_line":"        res \u003d b_utils.lines_with_context(2, [0, 1, 2, 3, 4], 20, 100)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_31f629d8","line":263,"in_reply_to":"da20952f_3581554e","updated":"2015-09-02 14:53:48.000000000","message":"Done","commit_id":"03e324c923f38ca05c5475ebf357e8fef53b1a7c"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5c6f6ac1398833c4c70817fbaf0cbebdc65374dd","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        res \u003d b_utils.lines_with_context(0, [0], 0, 0)"},{"line_number":277,"context_line":"        self.assertEqual([], res)"},{"line_number":278,"context_line":"        self.assertRaises("},{"line_number":279,"context_line":"            ValueError, b_utils.lines_with_context,"},{"line_number":280,"context_line":"            3, [5, 6, 7], 4, 6"},{"line_number":281,"context_line":"        )"},{"line_number":282,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_d56ed995","line":279,"updated":"2015-09-02 00:30:50.000000000","message":"docstring for the function doesn\u0027t say it raises ValueError.","commit_id":"03e324c923f38ca05c5475ebf357e8fef53b1a7c"},{"author":{"_account_id":11029,"name":"Jamie Finnigan","email":"jamiefinnigan@gmail.com","username":"jamiefinnigan"},"change_message_id":"b782fbead3961aeb6a48219996ee124da1fa5d0e","unresolved":false,"context_lines":[{"line_number":276,"context_line":"        res \u003d b_utils.lines_with_context(0, [0], 0, 0)"},{"line_number":277,"context_line":"        self.assertEqual([], res)"},{"line_number":278,"context_line":"        self.assertRaises("},{"line_number":279,"context_line":"            ValueError, b_utils.lines_with_context,"},{"line_number":280,"context_line":"            3, [5, 6, 7], 4, 6"},{"line_number":281,"context_line":"        )"},{"line_number":282,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_f11671f0","line":279,"in_reply_to":"da20952f_d56ed995","updated":"2015-09-02 14:53:48.000000000","message":"Good point, I\u0027ll address that with a separate change.","commit_id":"03e324c923f38ca05c5475ebf357e8fef53b1a7c"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d935e77501c12463b3c443fd3782e6527dc4199c","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        self.assertEqual(\u0027a.b.c\u0027, b_utils.deepgetattr(a.b.c, \u0027e\u0027))"},{"line_number":266,"context_line":"        self.assertEqual(\u0027deep value\u0027, b_utils.deepgetattr(a, \u0027b.c.d\u0027))"},{"line_number":267,"context_line":"        self.assertEqual(\u0027deep value 2\u0027, b_utils.deepgetattr(a, \u0027b.c.d2\u0027))"},{"line_number":268,"context_line":"        self.assertRaises(AttributeError, b_utils.deepgetattr, a.b, \u0027z\u0027)"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def test_lines_with_context(self):"},{"line_number":271,"context_line":"        res \u003d b_utils.lines_with_context(2, [0, 1, 2, 3, 4], 20, 100)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da20952f_f07bc679","line":268,"updated":"2015-09-02 16:38:21.000000000","message":"The docstring for deepgetattr doesn\u0027t say the function raises AttributeError.","commit_id":"87be8b8744de2543dc3ba0c049417f24c3c1e0cb"}]}
