/
smwwiki
/
OneScript_fork
Обзор
Документация
Войти
/
smwwiki
/
OneScript_fork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
tests/BinaryData-global.os
473 строки
35 KB
Michael Rybakin
Тесты к #1142
15 апр 2022, 13:15
15 апр 2022, 13:15
d983752
Код
Авторство
О чём код?
/////////////////////////////////////////////////////////////////////// // // Тест проверки поведения некоторых глобальных функций // // /////////////////////////////////////////////////////////////////////// Перем юТест; //////////////////////////////////////////////////////////////////// // Программный интерфейс Функция ПолучитьСписокТестов(ЮнитТестирование) Экспорт юТест = ЮнитТестирование; ВсеТесты = Новый Массив; ВсеТесты.Добавить("ТестДолжен_Проверить_ДвоичныеДанныеИзСтрокиВСтроку"); ВсеТесты.Добавить("ТестДолжен_Проверить_СоединитьДвоичныеДанные"); ВсеТесты.Добавить("ТестДолжен_Проверить_РазбитьДвоичныеДанные"); ВсеТесты.Добавить("ТестДолжен_Проверить_ПреобразованиеHexСтрокиВДвоичныеДанныеИНаоборот"); ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбросИсключенияПриНевалидномФорматеHexСтроки"); ВсеТесты.Добавить("ТестДолжен_Проверить_ПреобразованиеHexСтрокиВБуферДвоичныхДанныхИНаоборот"); ВсеТесты.Добавить("ТестДолжен_Проверить_ПреобразованияВСтрокуBase64ИОбратно"); ВсеТесты.Добавить("ТестДолжен_Проверить_ПреобразованияДвоичныхДанныхВРазныеФорматы"); ВсеТесты.Добавить("ТестДолжен_Проверить_ПреобразованияБуфераДвоичныхДанныхВРазныеФорматы"); ВсеТесты.Добавить("ТестДолжен_Проверить_ДобавлениеBOMДляКодировокСBOM"); ВсеТесты.Добавить("ТестДолжен_Проверить_ОтсутствиеBOMДляКодировокБезBOM"); ВсеТесты.Добавить("ТестДолжен_Проверить_КодировкиДляПолучитьСтрокуИзДвоичныхДанных"); ВсеТесты.Добавить("ТестДолжен_Проверить_КодировкиДляПолучитьСтрокуИзБуфераДвоичныхДанных"); Возврат ВсеТесты; КонецФункции // //////////////////////////////////////////////////////////////////// Процедура ТестДолжен_Проверить_ДвоичныеДанныеИзСтрокиВСтроку() Экспорт Строка1 = "Тестовая строка1"; ДвоичныеДанные1 = ПолучитьДвоичныеДанныеИзСтроки(Строка1); Строка2 = ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные1); юТест.ПроверитьРавенство(Строка1, Строка2); КонецПроцедуры Процедура ТестДолжен_Проверить_СоединитьДвоичныеДанные() Экспорт Строка1 = "Тестовая строка1"; ДвоичныеДанные1 = ПолучитьДвоичныеДанныеИзСтроки(Строка1); Размер1 = ДвоичныеДанные1.Размер(); Строка2 = "ТестоваяСтрока2"; ДвоичныеДанные2 = ПолучитьДвоичныеДанныеИзСтроки(Строка2); Размер2 = ДвоичныеДанные2.Размер(); МассивДанных = Новый Массив(); МассивДанных.Добавить(ДвоичныеДанные1); МассивДанных.Добавить(ДвоичныеДанные2); ДвоичныеДанные3 = СоединитьДвоичныеДанные(МассивДанных); юТест.ПроверитьРавенство(ДвоичныеДанные3.Размер(), Размер1 + Размер2); КонецПроцедуры Процедура ТестДолжен_Проверить_РазбитьДвоичныеДанные() Экспорт Строка1 = "Тестовая строка1"; ДвоичныеДанные1 = ПолучитьДвоичныеДанныеИзСтроки(Строка1); Размер1 = ДвоичныеДанные1.Размер(); Строка2 = "ТестоваяСтрока2"; ДвоичныеДанные2 = ПолучитьДвоичныеДанныеИзСтроки(Строка2); Размер2 = ДвоичныеДанные2.Размер(); МассивДанных = Новый Массив(); МассивДанных.Добавить(ДвоичныеДанные1); МассивДанных.Добавить(ДвоичныеДанные2); ДвоичныеДанные3 = СоединитьДвоичныеДанные(МассивДанных); РазмерБлока = 6; РазмерОстатка = ДвоичныеДанные3.Размер() % РазмерБлока; КратныйРазмер = ДвоичныеДанные3.Размер() - РазмерОстатка; КоличествоБлоков = КратныйРазмер/РазмерБлока; Если Не РазмерОстатка = 0 Тогда КоличествоБлоков = КоличествоБлоков + 1; КонецЕсли; МассивДанных = РазделитьДвоичныеДанные(ДвоичныеДанные3, РазмерБлока); юТест.ПроверитьРавенство(МассивДанных.Количество(), КоличествоБлоков, "Не совпадает количество блоков"); Индекс = 0; Для Каждого Элемент Из МассивДанных Цикл Если (Не Индекс = КоличествоБлоков - 1) Тогда юТест.ПроверитьРавенство(Элемент.Размер(), РазмерБлока, "Не совпадает размер блока"); КонецЕсли; Если (Индекс = КоличествоБлоков - 1) Тогда Если РазмерОстатка = 0 Тогда юТест.ПроверитьРавенство(Элемент.Размер(), РазмерБлока, "Не совпадает размер последнего блока"); Иначе юТест.ПроверитьРавенство(Элемент.Размер(), РазмерОстатка, "Не совпадает размер последнего блока"); КонецЕсли; КонецЕсли; Индекс = Индекс + 1; КонецЦикла; КонецПроцедуры Процедура ТестДолжен_Проверить_ВыбросИсключенияПриНевалидномФорматеHexСтроки() Экспорт Попытка Буфер = ПолучитьБуферДвоичныхДанныхИзHexСтроки("0xA1B2C3"); Исключение Ошибка = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); юТест.ПроверитьВхождение(Ошибка, "Неверный формат шестнадцатеричной строки"); КонецПопытки; юТест.ПроверитьРавенство(Буфер, Неопределено); Попытка Буфер = ПолучитьБуферДвоичныхДанныхИзHexСтроки("A1B2C34"); Исключение Ошибка = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); юТест.ПроверитьВхождение(Ошибка, "Неверный формат шестнадцатеричной строки"); КонецПопытки; юТест.ПроверитьРавенство(Буфер, Неопределено); КонецПроцедуры Процедура ТестДолжен_Проверить_ПреобразованиеHexСтрокиВДвоичныеДанныеИНаоборот() Экспорт юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки("a1b2c3")), "A1B2C3"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки("A1B2C3")), "A1B2C3"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки("A1 B2 C3")), "A1B2C3"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки("01020304")), "01020304"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки("01 02 03 04")), "01020304"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзДвоичныхДанных(ПолучитьДвоичныеДанныеИзHexСтроки("+01и02 --- 0ю3 0.4")), "01020304"); КонецПроцедуры Процедура ТестДолжен_Проверить_ПреобразованиеHexСтрокиВБуферДвоичныхДанныхИНаоборот() Экспорт юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзБуфераДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзHexСтроки("a1b2c3")), "A1B2C3"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзБуфераДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзHexСтроки("A1B2C3")), "A1B2C3"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзБуфераДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзHexСтроки("A1 B2 C3")), "A1B2C3"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзБуфераДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзHexСтроки("01020304")), "01020304"); юТест.ПроверитьРавенство( ПолучитьHexСтрокуИзБуфераДвоичныхДанных(ПолучитьБуферДвоичныхДанныхИзHexСтроки("01 02 03 04")), "01020304"); КонецПроцедуры Процедура ТестДолжен_Проверить_ПреобразованияВСтрокуBase64ИОбратно() Экспорт ДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки("123"); юТест.ПроверитьРавенство(ПолучитьBase64СтрокуИзДвоичныхДанных(ДвоичныеДанные), "MTIz", "Неправильная Base64 строка из ДвоичныхДанных"); БуферДД = ПолучитьБуферДвоичныхДанныхИзСтроки("123"); юТест.ПроверитьРавенство(ПолучитьBase64СтрокуИзБуфераДвоичныхДанных(БуферДД), "MTIz", "Неправильная Base64 строка из БуфераДвоичныхДанных"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзBase64Строки("MTIz"); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные), "123", "Неправильные ДвоичныеДанные из Base64 строки"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзBase64Строки("M T" "I z"); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные), "123", "Неправильные ДвоичныеДанные из Base64 строки с пробелами"); БуферДД = ПолучитьБуферДвоичныхДанныхИзBase64Строки("MTIz"); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД), "123", "Неправильный БуферДвоичныхДанных из Base64 строки"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзBase64Строки("MTIz=="); юТест.ПроверитьРавенство(ДвоичныеДанные.Размер(), 0, "Ненулевой размер ДвоичныхДанных из Base64 строки для некорректной строки"); БуферДД = ПолучитьБуферДвоичныхДанныхИзBase64Строки("MTI??z"); юТест.ПроверитьРавенство(БуферДД.Размер, 0, "Ненулевой размер БуфераДвоичныхДанных Из Base64 строки для некорректной строки"); КонецПроцедуры Процедура ТестДолжен_Проверить_ПреобразованияДвоичныхДанныхВРазныеФорматы() Экспорт ДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки("123"); ДвоичныеДанные64 = ПолучитьBase64ДвоичныеДанныеИзДвоичныхДанных(ДвоичныеДанные); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные64), "MTIz", "Неправильные Base64ДвоичныеДанные Из ДвоичныхДанных"); ДвоичныеДанные16 = ПолучитьHexДвоичныеДанныеИзДвоичныхДанных(ДвоичныеДанные); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные16), "313233", "Неправильные HexДвоичныеДанные Из ДвоичныхДанных"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзBase64ДвоичныхДанных(ДвоичныеДанные64); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные), "123", "Неправильные ДвоичныеДанные Из Base64ДвоичныхДанных"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexДвоичныхДанных(ДвоичныеДанные16); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные), "123", "Неправильные ДвоичныеДанные Из HexДвоичныхДанных"); ДвоичныеДанные64 = ПолучитьДвоичныеДанныеИзСтроки("MTIz??"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзBase64ДвоичныхДанных(ДвоичныеДанные64); юТест.ПроверитьРавенство(ДвоичныеДанные.Размер(), 0, "Ненулевой размер ДвоичныеДанные Из Base64ДвоичныхДанных для некорректных данных"); ДвоичныеДанные16 = ПолучитьДвоичныеДанныеИзСтроки("+31и32 --- 33 3.4"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexДвоичныхДанных(ДвоичныеДанные16); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные), "1234", "Неправильные ДвоичныеДанные Из HexДвоичныхДанных для данных с лишними символами"); ДвоичныеДанные16 = ПолучитьДвоичныеДанныеИзСтроки("3132353"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexДвоичныхДанных(ДвоичныеДанные16); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные), "125", "Неправильные ДвоичныеДанные Из HexДвоичныхДанных для нечетной длины цифр"); ДвоичныеДанные16 = ПолучитьДвоичныеДанныеИзСтроки("(нет шестнадцатеричных)"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexДвоичныхДанных(ДвоичныеДанные16); юТест.ПроверитьРавенство(ДвоичныеДанные.Размер(), 0, "Ненулевой размер ДвоичныеДанные Из HexДвоичныхДанных для некорректных данных"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки("1234"); БуферДД = ПолучитьБуферДвоичныхДанныхИзДвоичныхДанных(ДвоичныеДанные); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД), "1234", "Неправильный БуферДвоичныхДанных Из HexДвоичныхДанных"); КонецПроцедуры Процедура ТестДолжен_Проверить_ПреобразованияБуфераДвоичныхДанныхВРазныеФорматы() Экспорт БуферДД = ПолучитьБуферДвоичныхДанныхИзСтроки("123"); БуферДД64 = ПолучитьBase64БуферДвоичныхДанныхИзБуфераДвоичныхДанных(БуферДД); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД64), "MTIz", "Неправильный Base64БуферДвоичныхДанных Из БуфераДвоичныхДанных"); БуферДД16 = ПолучитьHexБуферДвоичныхДанныхИзБуфераДвоичныхДанных(БуферДД); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД16), "313233", "Неправильный HexБуферДвоичныхДанных Из БуфераДвоичныхДанных"); БуферДД = ПолучитьБуферДвоичныхДанныхИзBase64БуфераДвоичныхДанных(БуферДД64); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД), "123", "Неправильный БуферДвоичныхДанных Из Base64БуфераДвоичныхДанных"); БуферДД = ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных(БуферДД16); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД), "123", "Неправильный БуферДвоичныхДанных Из HexБуфераДвоичныхДанных"); БуферДД64 = ПолучитьБуферДвоичныхДанныхИзСтроки("MTIz??"); БуферДД = ПолучитьБуферДвоичныхДанныхИзBase64БуфераДвоичныхДанных(БуферДД64); юТест.ПроверитьРавенство(БуферДД.Размер, 0, "Ненулевой размер БуферДвоичныхДанных Из Base64БуфераДвоичныхДанных для некорректных данных"); БуферДД16 = ПолучитьБуферДвоичныхДанныхИзСтроки("+31и32 --- 33 3.4"); БуферДД = ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных(БуферДД16); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД), "1234", "Неправильный БуферДвоичныхДанных Из HexБуфераДвоичныхДанных для данных с лишними символами"); БуферДД16 = ПолучитьБуферДвоичныхДанныхИзСтроки("3132353"); БуферДД = ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных(БуферДД16); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(БуферДД), "125", "Неправильный БуферДвоичныхДанных Из HexБуфераДвоичныхДанных для нечетной длины цифр"); БуферДД16 = ПолучитьБуферДвоичныхДанныхИзСтроки("(нет шестнадцатеричных)"); БуферДД = ПолучитьБуферДвоичныхДанныхИзHexБуфераДвоичныхДанных(БуферДД16); юТест.ПроверитьРавенство(БуферДД.Размер, 0, "Ненулевой размер ДвоичныеДанные Из Base64ДвоичныхДанных для некорректных данных"); БуферДД = ПолучитьБуферДвоичныхДанныхИзСтроки("1234"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзБуфераДвоичныхДанных(БуферДД); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные), "1234", "Неправильные ДвоичныеДанные Из БуфераДвоичныхДанных"); КонецПроцедуры Процедура ТестДолжен_Проверить_ДобавлениеBOMДляКодировокСBOM() Экспорт Строка = "123"; юТест.ПроверитьНеРавенство( ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.UTF8, Ложь), ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.UTF8, Истина) ); юТест.ПроверитьНеРавенство( ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.UTF16, Ложь), ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.UTF16, Истина) ); КонецПроцедуры Процедура ТестДолжен_Проверить_ОтсутствиеBOMДляКодировокБезBOM() Экспорт Строка = "123"; юТест.ПроверитьРавенство( ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.ANSI, Ложь), ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.ANSI, Истина) ); юТест.ПроверитьРавенство( ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.OEM, Ложь), ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.OEM, Истина) ); юТест.ПроверитьРавенство( ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.UTF8NoBOM, Ложь), ПолучитьДвоичныеДанныеИзСтроки(Строка, КодировкаТекста.UTF8NoBOM, Истина) ); КонецПроцедуры Процедура ТестДолжен_Проверить_КодировкиДляПолучитьСтрокуИзДвоичныхДанных() Экспорт ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("EFBBBF2523"); Кодировка="cp866"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "я╗┐%#", "Неверная Строка из ДвоичныхДанных для "+Кодировка); Кодировка="windows-1251"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "п»ї%#", "Неверная Строка из ДвоичныхДанных для "+Кодировка); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "%#", "Неверная Строка из ДвоичныхДанных UTF-8 для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "%#", "Неверная Строка из ДвоичныхДанных UTF-8 для "+Кодировка); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "%#", "Неверная Строка из ДвоичныхДанных UTF-8 без Кодировки"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("FFFE2325"); Кодировка="windows-1251"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "яю#%", "Неверная Строка из ДвоичныхДанных для "+Кодировка); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); Кодировка="UTF-16BE"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); Кодировка="UTF-32"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 без Кодировки"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("FF FE 00 00 23 00 00 00"); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "#", "Неверная Строка из ДвоичныхДанных UTF-32 для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "#", "Неверная Строка из ДвоичныхДанных UTF-32 для "+Кодировка); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзHexСтроки("2325"); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "#%", "Неверная Строка из ДвоичныхДанных без BOM для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных без BOMдля "+Кодировка); Кодировка="UTF-16BE"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзДвоичныхДанных(ДвоичныеДанные, Кодировка), "⌥", "Неверная Строка из ДвоичныхДанных без BOM для "+Кодировка); КонецПроцедуры Процедура ТестДолжен_Проверить_КодировкиДляПолучитьСтрокуИзБуфераДвоичныхДанных() Экспорт ДвоичныеДанные = ПолучитьБуферДвоичныхДанныхИзHexСтроки("EFBBBF2523"); Кодировка="cp866"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "я╗┐%#", "Неверная Строка из ДвоичныхДанных для "+Кодировка); Кодировка="windows-1251"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "п»ї%#", "Неверная Строка из ДвоичныхДанных для "+Кодировка); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "%#", "Неверная Строка из ДвоичныхДанных UTF-8 для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "%#", "Неверная Строка из ДвоичныхДанных UTF-8 для "+Кодировка); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "%#", "Неверная Строка из ДвоичныхДанных UTF-8 без Кодировки"); ДвоичныеДанные = ПолучитьБуферДвоичныхДанныхИзHexСтроки("FFFE2325"); Кодировка="windows-1251"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "яю#%", "Неверная Строка из ДвоичныхДанных для "+Кодировка); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); Кодировка="UTF-16BE"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); Кодировка="UTF-32"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 для "+Кодировка); юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных UTF-16 без Кодировки"); ДвоичныеДанные = ПолучитьБуферДвоичныхДанныхИзHexСтроки("FF FE 00 00 23 00 00 00"); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "#", "Неверная Строка из ДвоичныхДанных UTF-32 для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "#", "Неверная Строка из ДвоичныхДанных UTF-32 для "+Кодировка); ДвоичныеДанные = ПолучитьБуферДвоичныхДанныхИзHexСтроки("2325"); Кодировка="UTF-8"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "#%", "Неверная Строка из ДвоичныхДанных без BOM для "+Кодировка); Кодировка="UTF-16"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "┣", "Неверная Строка из ДвоичныхДанных без BOMдля "+Кодировка); Кодировка="UTF-16BE"; юТест.ПроверитьРавенство(ПолучитьСтрокуИзБуфераДвоичныхДанных(ДвоичныеДанные, Кодировка), "⌥", "Неверная Строка из ДвоичныхДанных без BOM для "+Кодировка); КонецПроцедуры