Пример #1
0
    def test_setting_formula_with_syntax_error_sets_appropriate_raise_in_python_formula_and_clears_dependencies(self):
        cell = Cell()

        cell.dependencies = 'before'
        cell.python_formula = 'before'
        cell.formula = '=#NULL!'
        self.assertEquals(
            cell.python_formula,
            '_raise(FormulaError("Error in formula at position 2: unexpected \'#NULL!\'"))'
        )
        self.assertEquals(cell.dependencies, [])

        cell.dependencies = 'before'
        cell.python_formula = 'before'
        cell.formula = '=#Invalid!'
        self.assertEquals(
            cell.python_formula,
            '_raise(FormulaError("#Invalid! cell reference in formula"))'
        )
        self.assertEquals(cell.dependencies, [])

        cell.dependencies = 'before'
        cell.python_formula = 'before'
        cell.formula = '=#Deleted!'
        self.assertEquals(
            cell.python_formula,
            '_raise(FormulaError("#Deleted! cell reference in formula"))'
        )
        self.assertEquals(cell.dependencies, [])
Пример #2
0
    def test_setting_formula_with_syntax_error_sets_appropriate_raise_in_python_formula_and_clears_dependencies(
            self):
        cell = Cell()

        cell.dependencies = 'before'
        cell.python_formula = 'before'
        cell.formula = '=#NULL!'
        self.assertEquals(
            cell.python_formula,
            '_raise(FormulaError("Error in formula at position 2: unexpected \'#NULL!\'"))'
        )
        self.assertEquals(cell.dependencies, [])

        cell.dependencies = 'before'
        cell.python_formula = 'before'
        cell.formula = '=#Invalid!'
        self.assertEquals(
            cell.python_formula,
            '_raise(FormulaError("#Invalid! cell reference in formula"))')
        self.assertEquals(cell.dependencies, [])

        cell.dependencies = 'before'
        cell.python_formula = 'before'
        cell.formula = '=#Deleted!'
        self.assertEquals(
            cell.python_formula,
            '_raise(FormulaError("#Deleted! cell reference in formula"))')
        self.assertEquals(cell.dependencies, [])
Пример #3
0
    def test_clear_clears_stuff(self):
        cell = Cell()

        cell.value = 29
        cell.formula = 'e equals emcee squared'
        cell.python_formula = 'e equals emcee squared'
        cell.dependencies = [(1, 1), (2, 2)]
        cell.formatted_value = "wibble"
        cell.error = 'a spear'

        cell.clear()

        self.assertEquals(cell.value, undefined)
        self.assertEquals(cell.formula, None)
        self.assertEquals(cell.python_formula, None)
        self.assertEquals(Cell().dependencies, [])
        self.assertEquals(cell.formatted_value, u"")
        self.assertEquals(cell.error, None)
Пример #4
0
    def test_clear_clears_stuff(self):
        cell = Cell()

        cell.value = 29
        cell.formula = 'e equals emcee squared'
        cell.python_formula = 'e equals emcee squared'
        cell.dependencies = [(1, 1), (2, 2)]
        cell.formatted_value = "wibble"
        cell.error = 'a spear'

        cell.clear()

        self.assertEquals(cell.value, undefined)
        self.assertEquals(cell.formula, None)
        self.assertEquals(cell.python_formula, None)
        self.assertEquals(Cell().dependencies, [])
        self.assertEquals(cell.formatted_value, u"")
        self.assertEquals(cell.error, None)
Пример #5
0
def worksheet_from_json(json_string):
    #use jsonlib for read ops because of better performance
    #keep simplejson for write ops as it's more robust
    worksheet_dict = jsonlib.read(json_string)
    worksheet = Worksheet()
    for (key, value) in worksheet_dict.iteritems():
        if key == "_console_text":
            worksheet._console_text = value
        elif key == "_usercode_error":
            worksheet._usercode_error = value
        else:
            col_str, row_str = key.split(",")
            cell = Cell()
            cell._formula = value["formula"]
            cell._python_formula = value.get("python_formula")
            cell.dependencies = map(tuple, value.get("dependencies", []))
            cell.error = value.get("error")
            cell._value = value.get("value", undefined)
            cell.formatted_value = value["formatted_value"]
            worksheet[int(col_str), int(row_str)] = cell
    return worksheet