def show_tooltip(self, tooltip_type, line_number, editor=None):
        if editor is None:
            editor = self.get_editor_element()

        if tooltip_type == "error":
            divs_locator = UI.get_editor_errors_locator()

        elif tooltip_type == "info":
            divs_locator = UI.get_editor_infos_locator()

        else:
            raise Exception("Unsupported tooltip type")

        error_divs = self.get_error_divs(divs_locator, editor)
        error_div = None
        for error_div in error_divs:
            parent = self.get_parent_node(error_div)
            top = self.get_element_top(parent)
            line_num = self.get_line_number_from_top(top, editor)
            if line_num == line_number:
                break

        if error_div is None:
            raise ElementNotFoundException(self.get_driver())

        highlight(error_div, effect_time=1)
        actions = ActionChains(self.get_driver())
        actions.move_to_element(error_div).perform()
        time.sleep(1)
        hover = self.find_active_hover_element(editor=editor)
        hover_row = self.find_it(UI.get_hover_row_locator(), parent=hover)
        highlight(hover_row, effect_time=1)
        content = self.find_it(UI.get_hover_content_locator(),
                               parent=hover_row)
        return content.text
    def error_should_present(self, editor=None, error_type=None):
        if editor is None:
            editor = self.get_editor_element()

        if error_type is None:
            error_type = "error"

        overlays = self.find_it(UI.get_monako_overlays_locator(),
                                parent=editor)

        if error_type == "error":
            error_divs = self.find_them(UI.get_editor_errors_locator(),
                                        parent=overlays)

        elif error_type == "info":
            error_divs = self.find_them(UI.get_editor_infos_locator(),
                                        parent=overlays)

        else:
            raise Exception("Unsupported error_type: '{0}'".format(error_type))

        if not len(error_divs):
            raise WebDriverException

        return error_divs