Skip to content
Merged
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
21 changes: 15 additions & 6 deletions tests/file-object.os
Original file line number Diff line number Diff line change
Expand Up @@ -279,35 +279,44 @@
Возврат Дата(Формат(Дата, "ДФ=ггггММддЧЧммсс"));
КонецФункции

// Время файла должно попасть в интервал записи. Сравнивать с моментом до записи с допуском нельзя:
// на медленной машине CI запись файла занимает секунды. Запас в секунду - на округление до секунд
// и на шаг времени в 2 секунды у FAT32
Процедура ПроверитьДатуВИнтервале(Знач Дата, Знач Начало, Знач Конец, Знач ЧтоПроверяем)
Дата = ДатаСТочностьюДоСекунды(Дата);
юТест.ПроверитьБольшеИлиРавно(Дата, ДатаСТочностьюДоСекунды(Начало) - 1, ЧтоПроверяем + " раньше записи");
юТест.ПроверитьМеньшеИлиРавно(Дата, ДатаСТочностьюДоСекунды(Конец) + 1, ЧтоПроверяем + " позже записи");
КонецПроцедуры

Процедура ТестДолжен_ПроверитьПолучениеДатСозданияИИзменения() Экспорт
ТекущаяДата = ТекущаяДата();
ВремФайл = ПолучитьИмяВременногоФайла("os");

Если Не ФайловаяСистемаПоддерживаетВремяСоздания(ВремФайл) Тогда
Возврат;
КонецЕсли;

ДоЗаписи = ТекущаяДата();
ЗаписьТекста = Новый ЗаписьТекста(ВремФайл);
ЗаписьТекста.ЗаписатьСтроку("---");
ЗаписьТекста.Закрыть();
ПослеЗаписи = ТекущаяДата();
Файл = Новый Файл(ВремФайл);
ВремяСоздания = Файл.ПолучитьВремяСоздания();

юТест.ПроверитьРавенствоДатСТочностью2Секунды(
ДатаСТочностьюДоСекунды(ТекущаяДата), ДатаСТочностьюДоСекунды(ВремяСоздания));
ПроверитьДатуВИнтервале(ВремяСоздания, ДоЗаписи, ПослеЗаписи, "Время создания");

Приостановить(3000);

ТекущаяДата = ТекущаяДата();
ДоЗаписи = ТекущаяДата();
ЗаписьТекста.Открыть(ВремФайл);
ЗаписьТекста.ЗаписатьСтроку("---");
ЗаписьТекста.Закрыть();
ПослеЗаписи = ТекущаяДата();
Файл = Новый Файл(ВремФайл);
ВремяСоздания = Файл.ПолучитьВремяСоздания();
ВремяИзменения = Файл.ПолучитьВремяИзменения();

юТест.ПроверитьРавенствоДатСТочностью2Секунды(
ДатаСТочностьюДоСекунды(ТекущаяДата), ДатаСТочностьюДоСекунды(ВремяИзменения));
ПроверитьДатуВИнтервале(ВремяИзменения, ДоЗаписи, ПослеЗаписи, "Время изменения");
юТест.ПроверитьМеньше(ВремяСоздания, ВремяИзменения);

УдалитьФайлы(ВремФайл);
Expand Down