def test_pack_into_mixed_array(): obj = create_mixed_array() size = ScriptDataECMAArray.size(obj) buf = bytearray(size) offset = 0 assert ScriptDataECMAArray.pack_into(buf, offset, obj) == MIXED_VALUES_SIZE
def test_size(): assert ScriptDataValue.size(True) == BOOL_SIZE assert ScriptDataValue.size(None) == NULL_SIZE assert ScriptDataValue.size(150.5) == NUMBER_SIZE assert ScriptDataValue.size([]) == STRICT_ARRAY_SIZE assert ScriptDataValue.size(ScriptDataECMAArray()) == ECMA_ARRAY_SIZE assert ScriptDataValue.size(ScriptDataObject()) == OBJECT_SIZE assert ScriptDataValue.size("ABC") == STRING_SIZE assert ScriptDataValue.size(create_date()) == DATE_SIZE assert ScriptDataValue.size(create_reference()) == REFERENCE_SIZE
def test_pack(): assert ScriptDataValue(True) == BOOL assert ScriptDataValue(None) == NULL assert ScriptDataValue(150.5) == NUMBER assert ScriptDataValue([]) == STRICT_ARRAY assert ScriptDataValue(ScriptDataECMAArray()) == ECMA_ARRAY assert ScriptDataValue(ScriptDataObject()) == OBJECT assert ScriptDataValue("ABC") == STRING assert ScriptDataValue(create_date()) == DATE assert ScriptDataValue(create_reference()) == REFERENCE
def test_unpack(): assert ScriptDataValue.unpack(BOOL)[0] == True assert ScriptDataValue.unpack(NULL)[0] == None assert ScriptDataValue.unpack(NUMBER)[0] == 150.5 assert ScriptDataValue.unpack(STRICT_ARRAY)[0] == [] assert ScriptDataValue.unpack(ECMA_ARRAY)[0] == ScriptDataECMAArray() assert ScriptDataValue.unpack(OBJECT)[0] == ScriptDataObject() assert ScriptDataValue.unpack(STRING)[0] == "ABC" assert ScriptDataValue.unpack(DATE)[0] == create_date() assert ScriptDataValue.unpack(REFERENCE)[0] == create_reference()
def test_read_strings_array(fd): assert ScriptDataECMAArray.read(fd) == ScriptDataECMAArray(foo="bar") assert fd.tell() == STRING_VALUE_SIZE
def test_read_numbers_array(fd): assert ScriptDataECMAArray.read(fd) == ScriptDataECMAArray(foo=123) assert fd.tell() == NUMBER_VALUE_SIZE
def test_read_empty_array(fd): assert ScriptDataECMAArray.read(fd) == ScriptDataECMAArray() assert fd.tell() == EMPTY_ARRAY_SIZE
def test_size_mixed_array(): obj = create_mixed_array() assert ScriptDataECMAArray.size(obj) == MIXED_VALUES_SIZE
def test_size_booleans_array(): assert ScriptDataECMAArray.size(ScriptDataECMAArray(foo=True)) == BOOLEAN_VALUE_SIZE
def test_size_strings_array(): assert ScriptDataECMAArray.size(ScriptDataECMAArray(foo="bar")) == STRING_VALUE_SIZE
def test_size_numbers_array(): assert ScriptDataECMAArray.size(ScriptDataECMAArray(foo=123)) == NUMBER_VALUE_SIZE
def test_pack_mixed_array(): obj = create_mixed_array() assert ScriptDataECMAArray.pack(obj) == MIXED_VALUES
def test_read_booleans_array(fd): assert ScriptDataECMAArray.read(fd) == ScriptDataECMAArray(foo=True) assert fd.tell() == BOOLEAN_VALUE_SIZE
def test_pack_booleans_array(): assert ScriptDataECMAArray.pack(ScriptDataECMAArray(foo=True)) == BOOLEAN_VALUE
def test_pack_strings_array(): assert ScriptDataECMAArray.pack(ScriptDataECMAArray(foo="bar")) == STRING_VALUE
def test_pack_numbers_array(): assert ScriptDataECMAArray.pack(ScriptDataECMAArray(foo=123)) == NUMBER_VALUE
def test_pack_empty_array(): assert ScriptDataECMAArray.pack(ScriptDataECMAArray()) == EMPTY_ARRAY
def test_unpack_from(): obj = create_mixed_array() buf = MIXED_VALUES * 2 offset = 0 assert ScriptDataECMAArray.unpack_from(buf, offset) == (obj, MIXED_VALUES_SIZE)
def test_read_mixed_array(fd): obj = create_mixed_array() assert ScriptDataECMAArray.read(fd) == obj assert fd.tell() == MIXED_VALUES_SIZE
def test_size_empty_array(): assert ScriptDataECMAArray.size(ScriptDataECMAArray()) == EMPTY_ARRAY_SIZE