Или можно сделать это с Изолятором Typemock без потребности отправить в поддельном контроллере вообще:
Isolate.WhenCalled(()=>HttpContext.Request.HttpMethod).WillReturn("Get");
Большинство дистрибутивов Linux имеют отличную поддержку Unicode. Однако я бы сказал, что использование UTF16 в Linux - ошибка. Я понимаю, что это было бы естественно, исходить из среды Windows, но это только усложнит вам задачу в Linux.
Пока ваш языковой стандарт установлен на Unicode, тривиально выводить строки UTF-32 (строки wchar_t) с помощью wprintf
или wcout
, и, конечно, вы можете выводить UTF -8 строк с использованием обычных средств вывода. Однако с UTF-16 вы по существу ограничены созданием собственного строкового класса, использующего int16_t
, который, как вы обнаружили, будет сложно распечатать в отладчике.
Вы упомянули. что вы создали функцию, которая переводит UTF-16 в UTF-8 для целей отладки, но символы переменной длины затрудняют работу с ними. Почему бы просто не создать функцию, которая переводит UTF16 в UTF32, чтобы каждая кодовая точка Unicode состояла из одного символа? Таким образом, вы можете использовать вывод широких символов для чтения строк. GDB не позволяет вам выводить строки расширенных символов по умолчанию, но вы можете исправить это, используя этот простой скрипт .
Полагаю, вы под X? Установлены ли правильные шрифты?
Используете ли вы фреймбуфер в качестве оконечного устройства на консоли? Текстовый режим VGA может отображать не более 256/512 символов. (случай 512 iirc съедает немного цветового пространства)