def METHOD_NAME(self):
    headers = [
        ('Accept', 'text/*'),
        ('Content-Type', 'multipart/form-data; '
         'boundary=----------KM7Ij5cH2KM7Ef1gL6ae0ae0cH2gL6'),
        ('User-Agent', 'Shockwave Flash'),
        ('Host', 'www.example.com:54583'),
        ('Content-Length', '499'),
        ('Connection', 'Keep-Alive'),
        ('Cache-Control', 'no-cache'),
    ]
    filedata = (b'<?xml version="1.0" encoding="UTF-8"?>\r\n'
                b'<projectDescription>\r\n'
                b'</projectDescription>\r\n')
    body = (
        b'------------KM7Ij5cH2KM7Ef1gL6ae0ae0cH2gL6\r\n'
        b'Content-Disposition: form-data; name="Filename"\r\n'
        b'\r\n'
        b'.project\r\n'
        b'------------KM7Ij5cH2KM7Ef1gL6ae0ae0cH2gL6\r\n'
        b'Content-Disposition: form-data; '
        b'name="Filedata"; filename=".project"\r\n'
        b'Content-Type: application/octet-stream\r\n'
        b'\r\n' +
        filedata +
        b'\r\n'
        b'------------KM7Ij5cH2KM7Ef1gL6ae0ae0cH2gL6\r\n'
        b'Content-Disposition: form-data; name="Upload"\r\n'
        b'\r\n'
        b'Submit Query\r\n'
        # Flash apps omit the trailing \r\n on the last line:
        b'------------KM7Ij5cH2KM7Ef1gL6ae0ae0cH2gL6--'
    )
    self.getPage('/flashupload', headers, 'POST', body)
    self.assertBody('Upload: Submit Query, Filename: .project, '
                    'Filedata: %r' % filedata)