123456789101112131415161718192021222324252627282930313233343536373839 |
- package com.vaadin.server;
-
- import static org.mockito.Matchers.contains;
- import static org.mockito.Matchers.eq;
- import static org.mockito.Mockito.mock;
- import static org.mockito.Mockito.verify;
-
- import java.io.IOException;
- import java.io.InputStream;
-
- import org.junit.Before;
- import org.junit.Test;
-
- public class DownloadStreamTest {
- private String filename = "A å日.png";
- private String encodedFileName = "A" + "%20" // space
- + "%c3%a5" // å
- + "%e6%97%a5" // 日
- + ".png";
- private DownloadStream stream;
-
- @Before
- public void setup() {
- stream = new DownloadStream(mock(InputStream.class), "", filename);
- }
-
- @Test
- public void contentDispositionFilenameIsUtf8Encoded() throws IOException {
- VaadinResponse response = mock(VaadinResponse.class);
-
- stream.writeResponse(mock(VaadinRequest.class), response);
-
- verify(response).setHeader(eq(DownloadStream.CONTENT_DISPOSITION),
- contains(String.format("filename=\"%s\";", encodedFileName)));
- verify(response).setHeader(eq(DownloadStream.CONTENT_DISPOSITION),
- contains(
- String.format("filename*=utf-8''%s", encodedFileName)));
- }
- }
|