Skip to content

Commit b10fbda

Browse files
committed
не закрывать поток +тест
1 parent 5f656f7 commit b10fbda

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

src/OneScript.StandardLibrary/Json/JSONWriter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ public void OpenStream(IStreamWrapper streamContext, string encoding = null, boo
462462

463463
Close();
464464
var textEncoding = TextEncodingEnum.GetEncodingByName(encoding ?? DEFAULT_ENCODING, addBOM);
465-
StreamWriter streamWriter = new(streamContext.GetUnderlyingStream(), textEncoding);
465+
StreamWriter streamWriter = new(streamContext.GetUnderlyingStream(), textEncoding, leaveOpen: true);
466466
SetWriter(streamWriter, settings);
467467
}
468468

tests/json/test-json_writer.os

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
СписокТестов.Добавить("Тест_Должен_СверитьХешСуммуСгенерированнойМетодомЗаписатьJSONСтруктурыСФиксированнымиКоллекциями");
1919
СписокТестов.Добавить("Тест_Должен_ПроверитьПустуюСтрокуПриЗакрытии");
2020
СписокТестов.Добавить("Тест_Должен_ПроверитьСохранениеУстановленнойСтроки");
21+
СписокТестов.Добавить("Тест_Должен_ПроверитьСохранениеПотокаПослеЗакрытия");
2122
Возврат СписокТестов;
2223

2324
КонецФункции
@@ -207,3 +208,21 @@
207208
Структура = Новый Структура();
208209
ПопыткаЗаписатьЗначение(Структура);
209210
КонецПроцедуры
211+
212+
Процедура Тест_Должен_ПроверитьСохранениеПотокаПослеЗакрытия() Экспорт
213+
Поток = Новый ПотокВПамяти(64);
214+
Поток.Записать(ПолучитьБуферДвоичныхДанныхИзСтроки("БДД"),0,2);
215+
216+
ЗаписьJSON = Новый ЗаписьJSON;
217+
ЗаписьJSON.ОткрытьПоток(Поток);
218+
ЗаписьJSON.УстановитьСтроку();
219+
ЗаписьJSON.ЗаписатьБезОбработки("123");
220+
РезЗаписи = ЗаписьJSON.Закрыть();
221+
222+
Поток.Записать(ПолучитьБуферДвоичныхДанныхИзСтроки("БДД"),2,2);
223+
РезПотока = Поток.ЗакрытьИПолучитьДвоичныеДанные();
224+
225+
юТест.ПроверитьРавенство("123", РезЗаписи);
226+
юТест.ПроверитьРавенство("D0 91 D0 94", Строка(РезПотока));
227+
КонецПроцедуры
228+

0 commit comments

Comments
 (0)