Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions src/OneScript.StandardLibrary/Text/TextReadImpl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -171,8 +171,7 @@ private void RequireOpen()
public static TextReadImpl Constructor (IValue input)
{
var reader = new TextReadImpl ();
reader.AnalyzeDefaultLineFeed = false;
reader.Open (input, null, "\n", "\r\n");
reader.Open(input);
return reader;
}

Expand All @@ -183,9 +182,7 @@ public static TextReadImpl Constructor (IValue input)
[ScriptConstructor(Name = "Формирование неинициализированного объекта")]
public static TextReadImpl Constructor()
{
var reader = new TextReadImpl();
reader.AnalyzeDefaultLineFeed = false;
return reader;
return new TextReadImpl();
}

/// <summary>
Expand Down
18 changes: 12 additions & 6 deletions tests/text-read.os
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,10 @@

// В конструкторе не указываем конвертируемый перевод строк
Ч = Новый ЧтениеТекста(ИмяВременногоФайла);
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "123123123\r", "\r в конце строки (через конструктор без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "45/645/645/6\r", "\r в конце строки (через конструктор без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "123123123", "Нет \r в конце строки (через конструктор без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "", "Пустая строка вместо \r (через конструктор без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "45/645/645/6", "Нет \r в конце строки (через конструктор без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "", "Пустая строка вместо \r (через конструктор без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "789789789");

Ч.Закрыть();
Expand All @@ -163,17 +165,21 @@
// Используем конструктор по-умолчанию и открытие без указания конвертируемого перевода строк
Ч = Новый ЧтениеТекста;
Ч.Открыть(ИмяВременногоФайла);
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "123123123\r", "\r в конце строки (через открытие без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "45/645/645/6\r", "\r в конце строки (через открытие без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "123123123", "Нет \r в конце строки (через открытие без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "", "Пустая строка вместо \r (через открытие без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "45/645/645/6", "Нет \r в конце строки (через открытие без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "", "Пустая строка вместо \r (через открытие без параметров по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "789789789");

Ч.Закрыть();

// Используем конструктор по-умолчанию и открытие с указанием конвертируемого перевода строк "по-умолчанию"
Ч = Новый ЧтениеТекста;
Ч.Открыть(ИмяВременногоФайла,,,);
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "123123123\r", "\r в конце строки (через открытие с параметрами по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "45/645/645/6\r", "\r в конце строки (через открытие с параметрами по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "123123123", "Нет \r в конце строки (через открытие с параметрами по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "", "Пустая строка вместо \r (через открытие с параметрами по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "45/645/645/6", "Нет \r в конце строки (через открытие с параметрами по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "", "Пустая строка вместо \r (через открытие с параметрами по-умолчанию)");
юТест.ПроверитьРавенство(ЭкранироватьПереводыСтрок(Ч.ПрочитатьСтроку()), "789789789");

Ч.Закрыть();
Expand Down
2 changes: 1 addition & 1 deletion tests/text-write.os
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@
Текст.Открыть(ПутьФайла,"UTF-8");
Стр = Текст.Прочитать();

юТест.ПроверитьРавенство(6, КоличествоСтрок);
юТест.ПроверитьРавенство(10, КоличествоСтрок);
юТест.ПроверитьРавенство(125, СтрДлина(Стр));

КонецПроцедуры
Expand Down