'Verifies that a certain cell in a table contains `expected`.
Row and column number start from 1. This keyword passes if the
specified cell contains the given content. If you want to test
that the cell content matches exactly, or that it e.g. starts
with some text, use `Get Table Cell` keyword in combination
with built-in keywords such as `Should Be Equal` or `Should
Start With`.
To understand how tables are identified, please take a look at
the `introduction`.
See `Page Should Contain` for explanation about `loglevel` argument.'

@keyword
def table_cell_should_contain(self, table_locator, row, column, expected, loglevel='INFO'):

    message = ("Cell    in    table    '%s'    in    row    #%s    and    column    #%s    should    have    contained    text    '%s'." % (table_locator, row, column, expected))
    try:
        content = self.get_table_cell(table_locator, row, column, loglevel='NONE')
    except AssertionError as err:
        self.info(err)
        self.ctx.log_source(loglevel)
        raise AssertionError(message)
    self.info(('Cell    contains    %s.' % content))
    if (expected not in content):
        self.ctx.log_source(loglevel)
        raise AssertionError(message)
