equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
79 return res; |
79 return res; |
80 } |
80 } |
81 } |
81 } |
82 |
82 |
83 @Test |
83 @Test |
84 void testIncomplete() throws Exception { |
84 public void testIncomplete() throws Exception { |
85 // Uses U+10400 which is encoded as the surrogate pair U+D801 U+DC00 |
85 // Uses U+10400 which is encoded as the surrogate pair U+D801 U+DC00 |
86 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
86 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
87 " les\n\n fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\ud801\udc00"; |
87 " les\n\n fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\ud801\udc00"; |
88 ObjectSubscriber subscriber = new ObjectSubscriber(); |
88 ObjectSubscriber subscriber = new ObjectSubscriber(); |
89 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
89 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
121 } |
121 } |
122 } |
122 } |
123 |
123 |
124 |
124 |
125 @Test |
125 @Test |
126 void testStringWithFinisherLF() throws Exception { |
126 public void testStringWithFinisherLF() throws Exception { |
127 // Uses U+10400 which is encoded as the surrogate pair U+D801 U+DC00 |
127 // Uses U+10400 which is encoded as the surrogate pair U+D801 U+DC00 |
128 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
128 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
129 " les\n\n fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\r"; |
129 " les\n\n fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\r"; |
130 ObjectSubscriber subscriber = new ObjectSubscriber(); |
130 ObjectSubscriber subscriber = new ObjectSubscriber(); |
131 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
131 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
153 assertEquals(subscriber.list, lines(text, "\n")); |
153 assertEquals(subscriber.list, lines(text, "\n")); |
154 } |
154 } |
155 |
155 |
156 |
156 |
157 @Test |
157 @Test |
158 void testStringWithFinisherCR() throws Exception { |
158 public void testStringWithFinisherCR() throws Exception { |
159 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
159 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
160 " les fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\r\r"; |
160 " les fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\r\r"; |
161 ObjectSubscriber subscriber = new ObjectSubscriber(); |
161 ObjectSubscriber subscriber = new ObjectSubscriber(); |
162 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
162 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
163 subscriber, Supplier::get, UTF_8, "\r"); |
163 subscriber, Supplier::get, UTF_8, "\r"); |
181 "")); |
181 "")); |
182 assertEquals(subscriber.list, lines(text, "\r")); |
182 assertEquals(subscriber.list, lines(text, "\r")); |
183 } |
183 } |
184 |
184 |
185 @Test |
185 @Test |
186 void testStringWithFinisherCRLF() throws Exception { |
186 public void testStringWithFinisherCRLF() throws Exception { |
187 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
187 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
188 " les fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres"; |
188 " les fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres"; |
189 ObjectSubscriber subscriber = new ObjectSubscriber(); |
189 ObjectSubscriber subscriber = new ObjectSubscriber(); |
190 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
190 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
191 subscriber, Supplier::get, UTF_8, "\r\n"); |
191 subscriber, Supplier::get, UTF_8, "\r\n"); |
208 assertEquals(subscriber.list, lines(text, "\r\n")); |
208 assertEquals(subscriber.list, lines(text, "\r\n")); |
209 } |
209 } |
210 |
210 |
211 |
211 |
212 @Test |
212 @Test |
213 void testStringWithFinisherBR() throws Exception { |
213 public void testStringWithFinisherBR() throws Exception { |
214 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
214 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
215 " les\r\r fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres"; |
215 " les\r\r fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres"; |
216 ObjectSubscriber subscriber = new ObjectSubscriber(); |
216 ObjectSubscriber subscriber = new ObjectSubscriber(); |
217 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
217 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
218 subscriber, Supplier::get, UTF_8, null); |
218 subscriber, Supplier::get, UTF_8, null); |
238 assertEquals(resp, expected.stream().collect(Collectors.joining(""))); |
238 assertEquals(resp, expected.stream().collect(Collectors.joining(""))); |
239 assertEquals(subscriber.list, lines(text, null)); |
239 assertEquals(subscriber.list, lines(text, null)); |
240 } |
240 } |
241 |
241 |
242 @Test |
242 @Test |
243 void testStringWithFinisherBR_UTF_16() throws Exception { |
243 public void testStringWithFinisherBR_UTF_16() throws Exception { |
244 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
244 String text = "Bient\u00f4t\r\n nous plongerons\r\n dans\r" + |
245 " les\r\r fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\r\r"; |
245 " les\r\r fr\u00f4\ud801\udc00des\r\n t\u00e9n\u00e8bres\r\r"; |
246 ObjectSubscriber subscriber = new ObjectSubscriber(); |
246 ObjectSubscriber subscriber = new ObjectSubscriber(); |
247 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
247 BodySubscriber<String> bodySubscriber = BodySubscribers.fromLineSubscriber( |
248 subscriber, Supplier::get, UTF_16, null); |
248 subscriber, Supplier::get, UTF_16, null); |