)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"579d47546a9e778b11e7c7e71a90ea2f5251b303","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add unit test for unicode in object __repr__"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds a unit test for the behavior when an object has a unicode"},{"line_number":10,"context_line":"string field. If not python 3, the repr is encoded to the default"},{"line_number":11,"context_line":"encoding (ascii) before being returned. This is to ensure calls like"},{"line_number":12,"context_line":"str(obj_repr) will work under python 2."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f044301_e82a918e","line":10,"range":{"start_line":10,"start_character":14,"end_line":10,"end_character":29},"updated":"2017-05-04 11:55:24.000000000","message":"Change this to \u0027On Python 2\u0027？\nNot sure if we have Python 4 int the future.","commit_id":"897e40b41eaeaf1b95195027244839986a103bdf"}],"oslo_versionedobjects/tests/test_objects.py":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"579d47546a9e778b11e7c7e71a90ea2f5251b303","unresolved":false,"context_lines":[{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"    def test_obj_repr_unicode(self):"},{"line_number":1204,"context_line":"        obj \u003d MyObj(bar\u003du\u0027\\u0191\\u01A1\\u01A1\u0027)"},{"line_number":1205,"context_line":"        # verify the unicode string has been encoded as ASCII if not python 3"},{"line_number":1206,"context_line":"        if not six.PY3:"},{"line_number":1207,"context_line":"            self.assertEqual(\"MyObj(bar\u003d\u0027\\xc6\\x91\\xc6\\xa1\\xc6\\xa1\u0027,foo\u003d\u003c?\u003e,\""},{"line_number":1208,"context_line":"                             \"missing\u003d\u003c?\u003e,mutable_default\u003d\u003c?\u003e,readonly\u003d\u003c?\u003e,\""},{"line_number":1209,"context_line":"                             \"rel_object\u003d\u003c?\u003e,rel_objects\u003d\u003c?\u003e,timestamp\u003d\u003c?\u003e)\","},{"line_number":1210,"context_line":"                             repr(obj))"},{"line_number":1211,"context_line":"        else:"},{"line_number":1212,"context_line":"            self.assertEqual(\"MyObj(bar\u003d\u0027\\u0191\\u01A1\\u01A1\u0027,foo\u003d\u003c?\u003e,\""},{"line_number":1213,"context_line":"                             \"missing\u003d\u003c?\u003e,mutable_default\u003d\u003c?\u003e,readonly\u003d\u003c?\u003e,\""},{"line_number":1214,"context_line":"                             \"rel_object\u003d\u003c?\u003e,rel_objects\u003d\u003c?\u003e,timestamp\u003d\u003c?\u003e)\","},{"line_number":1215,"context_line":"                             repr(obj))"},{"line_number":1216,"context_line":""},{"line_number":1217,"context_line":"    def test_obj_make_obj_compatible_with_relationships(self):"},{"line_number":1218,"context_line":"        subobj \u003d MyOwnedObject(baz\u003d1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_83088e28","line":1215,"range":{"start_line":1205,"start_character":0,"end_line":1215,"end_character":39},"updated":"2017-05-04 11:55:24.000000000","message":"what about adjusting the order to handle potential Python 4(maybe we never have)\nif six.PY2:\n   handle case under Python 2\nelse:\n   handle case under Python3+","commit_id":"897e40b41eaeaf1b95195027244839986a103bdf"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"648f24b300037218c37e364d2c508d210bf974e4","unresolved":false,"context_lines":[{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"    def test_obj_repr_unicode(self):"},{"line_number":1204,"context_line":"        obj \u003d MyObj(bar\u003du\u0027\\u0191\\u01A1\\u01A1\u0027)"},{"line_number":1205,"context_line":"        # verify the unicode string has been encoded as ASCII if not python 3"},{"line_number":1206,"context_line":"        if not six.PY3:"},{"line_number":1207,"context_line":"            self.assertEqual(\"MyObj(bar\u003d\u0027\\xc6\\x91\\xc6\\xa1\\xc6\\xa1\u0027,foo\u003d\u003c?\u003e,\""},{"line_number":1208,"context_line":"                             \"missing\u003d\u003c?\u003e,mutable_default\u003d\u003c?\u003e,readonly\u003d\u003c?\u003e,\""},{"line_number":1209,"context_line":"                             \"rel_object\u003d\u003c?\u003e,rel_objects\u003d\u003c?\u003e,timestamp\u003d\u003c?\u003e)\","},{"line_number":1210,"context_line":"                             repr(obj))"},{"line_number":1211,"context_line":"        else:"},{"line_number":1212,"context_line":"            self.assertEqual(\"MyObj(bar\u003d\u0027\\u0191\\u01A1\\u01A1\u0027,foo\u003d\u003c?\u003e,\""},{"line_number":1213,"context_line":"                             \"missing\u003d\u003c?\u003e,mutable_default\u003d\u003c?\u003e,readonly\u003d\u003c?\u003e,\""},{"line_number":1214,"context_line":"                             \"rel_object\u003d\u003c?\u003e,rel_objects\u003d\u003c?\u003e,timestamp\u003d\u003c?\u003e)\","},{"line_number":1215,"context_line":"                             repr(obj))"},{"line_number":1216,"context_line":""},{"line_number":1217,"context_line":"    def test_obj_make_obj_compatible_with_relationships(self):"},{"line_number":1218,"context_line":"        subobj \u003d MyOwnedObject(baz\u003d1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_c42c599b","line":1215,"range":{"start_line":1205,"start_character":0,"end_line":1215,"end_character":39},"in_reply_to":"3f044301_83088e28","updated":"2017-05-04 14:27:42.000000000","message":"I think the test should match the implementation, which uses \"if not six.PY3\":\n\nhttps://github.com/openstack/oslo.versionedobjects/blob/49f5a9b/oslo_versionedobjects/base.py#L317-L318","commit_id":"897e40b41eaeaf1b95195027244839986a103bdf"}]}
