| 
									
										
										
										
											2008-05-10 21:17:24 -04:00
										 |  |  | USING: io.files io.streams.string io io.streams.byte-array | 
					
						
							|  |  |  | tools.test kernel io.encodings.ascii io.encodings.utf8 | 
					
						
							|  |  |  | namespaces accessors io.encodings ;
 | 
					
						
							| 
									
										
										
										
											2008-03-05 15:51:01 -05:00
										 |  |  | IN: io.streams.encodings.tests | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ { } ] | 
					
						
							| 
									
										
										
										
											2008-05-06 15:45:28 -04:00
										 |  |  | [ "resource:core/io/test/empty-file.txt" ascii <file-reader> lines ] | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : lines-test ( stream -- line1 line2 )
 | 
					
						
							| 
									
										
										
										
											2008-05-05 03:19:25 -04:00
										 |  |  |     [ readln readln ] with-input-stream ;
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |     "This is a line." | 
					
						
							|  |  |  |     "This is another line." | 
					
						
							|  |  |  | ] [ | 
					
						
							| 
									
										
										
										
											2008-05-06 15:45:28 -04:00
										 |  |  |     "resource:core/io/test/windows-eol.txt" | 
					
						
							|  |  |  |     ascii <file-reader> lines-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |     "This is a line." | 
					
						
							|  |  |  |     "This is another line." | 
					
						
							|  |  |  | ] [ | 
					
						
							| 
									
										
										
										
											2008-05-06 15:45:28 -04:00
										 |  |  |     "resource:core/io/test/mac-os-eol.txt" | 
					
						
							|  |  |  |     ascii <file-reader> lines-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |     "This is a line." | 
					
						
							|  |  |  |     "This is another line." | 
					
						
							|  |  |  | ] [ | 
					
						
							| 
									
										
										
										
											2008-05-06 15:45:28 -04:00
										 |  |  |     "resource:core/io/test/unix-eol.txt" | 
					
						
							|  |  |  |     ascii <file-reader> lines-test | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ | 
					
						
							|  |  |  |     "1234" | 
					
						
							|  |  |  | ] [ | 
					
						
							|  |  |  |      "Hello world\r\n1234" <string-reader> | 
					
						
							|  |  |  |      dup stream-readln drop
 | 
					
						
							|  |  |  |      4 swap stream-read
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-21 03:39:34 -05:00
										 |  |  | [ | 
					
						
							|  |  |  |     "1234" | 
					
						
							|  |  |  | ] [ | 
					
						
							|  |  |  |      "Hello world\r\n1234" <string-reader> | 
					
						
							|  |  |  |      dup stream-readln drop
 | 
					
						
							|  |  |  |      4 swap stream-read-partial
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-09-20 18:09:08 -04:00
										 |  |  | [ | 
					
						
							|  |  |  |     CHAR: 1
 | 
					
						
							|  |  |  | ] [ | 
					
						
							|  |  |  |      "Hello world\r\n1234" <string-reader> | 
					
						
							|  |  |  |      dup stream-readln drop
 | 
					
						
							|  |  |  |      stream-read1
 | 
					
						
							|  |  |  | ] unit-test | 
					
						
							| 
									
										
										
										
											2008-05-10 21:17:24 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | [ utf8 ascii ] [ | 
					
						
							|  |  |  |     "foo" utf8 [ | 
					
						
							|  |  |  |         input-stream get code>> | 
					
						
							|  |  |  |         ascii decode-input | 
					
						
							|  |  |  |         input-stream get code>> | 
					
						
							|  |  |  |     ] with-byte-reader | 
					
						
							|  |  |  | ] unit-test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [ utf8 ascii ] [ | 
					
						
							|  |  |  |     utf8 [ | 
					
						
							|  |  |  |         output-stream get code>> | 
					
						
							|  |  |  |         ascii encode-output | 
					
						
							|  |  |  |         output-stream get code>> | 
					
						
							|  |  |  |     ] with-byte-writer drop
 | 
					
						
							|  |  |  | ] unit-test |