'Add borders to the cell.
Args:
data (str): Text to surround with borders.
Return:
text (str): Text with borders.'

def _border(self, data):

    left = ((self.border_left_char * self.border_left) + ANSIString('|n'))
    right = (ANSIString('|n') + (self.border_right_char * self.border_right))
    cwidth = ((((self.width + self.pad_left) + self.pad_right) + max(0, (self.border_left - 1))) + max(0, (self.border_right - 1)))
    vfill = (self.corner_top_left_char if left else '')
    vfill += (cwidth * self.border_top_char)
    vfill += (self.corner_top_right_char if right else '')
    top = [vfill for _ in range(self.border_top)]
    vfill = (self.corner_bottom_left_char if left else '')
    vfill += (cwidth * self.border_bottom_char)
    vfill += (self.corner_bottom_right_char if right else '')
    bottom = [vfill for _ in range(self.border_bottom)]
    return ((top + [((left + line) + right) for line in data]) + bottom)
