123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- SuperStrict
- Framework brl.standardio
- Import Text.Encoding
- Import BRL.MaxUnit
- New TTestSuite.run()
- Type TISOStrategyTest Extends TTest
- Method CompareStreams(encoding:EStreamEncoding)
- Local encodedStream:TStream = ReadStream("test_data/" + encoding.ToString().ToLower() +"_encoded.txt")
- Local utf8Sstream:TStream = ReadStream("test_data/" + encoding.ToString().ToLower() + "_utf8.txt")
-
- If Not encodedStream Or Not utf8Sstream Then
- Fail("Error: Unable to open the input or expected files.")
- End If
-
- Local encodingStream:TEncodingToUTF8Stream = New TEncodingToUTF8Stream(encodedStream, encoding)
- Local buf:Byte[128]
-
- Local totalBytesRead:Long
- Local expectedByte:Byte
- Local success:Int = True
-
- Local bytesRead:Long = encodingStream.Read(buf, 128)
- While bytesRead > 0
- For Local i:Int = 0 Until bytesRead
- utf8Sstream.ReadBytes(varptr expectedByte, 1)
- If buf[i] <> expectedByte Then
- Print "Mismatch at position " + (totalBytesRead + i) + ": Expected " + expectedByte + " but got " + buf[i]
- success = False
- End If
- Next
-
- totalBytesRead :+ bytesRead
- bytesRead = encodingStream.Read(buf, 128)
- Wend
-
- encodingStream.Close()
- utf8Sstream.Close()
- AssertTrue(success)
- End Method
- Method testISO_8859_1() { test }
- CompareStreams(EStreamEncoding.ISO_8859_1)
- End Method
- Method testISO_8859_2() { test }
- CompareStreams(EStreamEncoding.ISO_8859_2)
- End Method
- Method testISO_8859_5() { test }
- CompareStreams(EStreamEncoding.ISO_8859_5)
- End Method
- Method testISO_8859_6() { test }
- CompareStreams(EStreamEncoding.ISO_8859_6)
- End Method
- Method testISO_8859_7() { test }
- CompareStreams(EStreamEncoding.ISO_8859_7)
- End Method
- Method testISO_8859_8() { test }
- CompareStreams(EStreamEncoding.ISO_8859_8)
- End Method
- Method testISO_8859_9() { test }
- CompareStreams(EStreamEncoding.ISO_8859_9)
- End Method
- Method testISO_8859_15() { test }
- CompareStreams(EStreamEncoding.ISO_8859_15)
- End Method
- Method testWindows_1250() { test }
- CompareStreams(EStreamEncoding.CP1250)
- End Method
- Method testWindows_1251() { test }
- CompareStreams(EStreamEncoding.CP1251)
- End Method
- Method testWindows_1252() { test }
- CompareStreams(EStreamEncoding.CP1252)
- End Method
- Method testWindows_1253() { test }
- CompareStreams(EStreamEncoding.CP1253)
- End Method
- Method testWindows_1254() { test }
- CompareStreams(EStreamEncoding.CP1254)
- End Method
- Method testWindows_1255() { test }
- CompareStreams(EStreamEncoding.CP1255)
- End Method
- Method testWindows_1256() { test }
- CompareStreams(EStreamEncoding.CP1256)
- End Method
- Method testWindows_1257() { test }
- CompareStreams(EStreamEncoding.CP1257)
- End Method
- End Type
|