@ -66,3 +72,12 @@ class TestErrors(unittest.TestCase):
e=AnsibleError(self.message,self.obj)
e=AnsibleError(self.message,self.obj)
self.assertEqual(e.message,"ERROR! This is the error message\n\nThe error appears to have been in 'foo.yml': line 2, column 1, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\n(specified line no longer in file, maybe it changed?)")
self.assertEqual(e.message,"ERROR! This is the error message\n\nThe error appears to have been in 'foo.yml': line 2, column 1, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\n(specified line no longer in file, maybe it changed?)")
m=mock_open()
m.return_value.readlines.return_value=['this line has unicode \xf0\x9f\x98\xa8 in it!\n']
withpatch('{0}.open'.format(BUILTINS),m):
# this line will be found in the file
self.obj.ansible_pos=('foo.yml',1,1)
e=AnsibleError(self.unicode_message,self.obj)
self.assertEqual(e.message,"ERROR! This is an error with \xf0\x9f\x98\xa8 in it\n\nThe error appears to have been in 'foo.yml': line 1, column 1, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\nthis line has unicode \xf0\x9f\x98\xa8 in it!\n^ here\n")