def test_read_broken_utf8(fd):
    assert ScriptDataLongString.read(fd) == "日本"
    assert fd.tell() == BROKEN_UTF8_SIZE
def test_read_utf8(fd):
    assert ScriptDataLongString.read(fd) == "日本語"
    assert fd.tell() == UTF8_SIZE
def test_read_ascii(fd):
    assert ScriptDataLongString.read(fd, "ascii") == "ABC"
    assert fd.tell() == ASCII_SIZE
def test_read_broken_utf8(fd):
    assert ScriptDataLongString.read(fd) == "日本"
    assert fd.tell() == BROKEN_UTF8_SIZE
def test_read_utf8(fd):
    assert ScriptDataLongString.read(fd) == "日本語"
    assert fd.tell() == UTF8_SIZE
def test_read_ascii(fd):
    assert ScriptDataLongString.read(fd, "ascii") == "ABC"
    assert fd.tell() == ASCII_SIZE