std::all_of(pszChars + I - nEqualsSignCount, pszChars + I, [](const auto c) { return c == '='; }))\r
{\r
dwCookie &= ~COOKIE_RAWSTRING;\r
+ COOKIE_SET_LUA_EQUALS_SIGN_COUNT(dwCookie, 0);\r
bRedefineBlock = true;\r
}\r
continue;\r
std::all_of(pszChars + I - nEqualsSignCount, pszChars + I, [](const auto c) { return c == '='; }))\r
{\r
dwCookie &= ~COOKIE_EXT_COMMENT;\r
+ COOKIE_SET_LUA_EQUALS_SIGN_COUNT(dwCookie, 0);\r
bRedefineBlock = true;\r
}\r
continue;\r
--- /dev/null
+// stdafx.cpp : source file that includes just the standard includes\r
+// test.pch will be the pre-compiled header\r
+// stdafx.obj will contain the pre-compiled type information\r
+\r
+#include "stdafx.h"\r
+\r
+// TODO: reference any additional headers you need in STDAFX.H\r
+// and not in this file\r
--- /dev/null
+// stdafx.h : include file for standard system include files,\r
+// or project specific include files that are used frequently, but\r
+// are changed infrequently\r
+//\r
+\r
+#pragma once\r
+\r
+#include "targetver.h"\r
+\r
+// Headers for CppUnitTest\r
+#include "CppUnitTest.h"\r
+\r
+// TODO: reference additional headers your program requires here\r
+#include <Windows.h>\r
+#include <tchar.h>\r
+#define ASSERT(x)\r
--- /dev/null
+#pragma once\r
+\r
+// Including SDKDDKVer.h defines the highest available Windows platform.\r
+\r
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and\r
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.\r
+\r
+#include <SDKDDKVer.h>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|x64">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|x64">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <VCProjectVersion>15.0</VCProjectVersion>\r
+ <ProjectGuid>{D358EAE3-AE53-4292-9384-6DB97E8B8D40}</ProjectGuid>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <RootNamespace>test</RootNamespace>\r
+ <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>\r
+ <ProjectSubType>NativeUnitTestProject</ProjectSubType>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <UseDebugLibraries>true</UseDebugLibraries>\r
+ <PlatformToolset>v141</PlatformToolset>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <UseDebugLibraries>false</UseDebugLibraries>\r
+ <PlatformToolset>v141</PlatformToolset>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <UseDebugLibraries>true</UseDebugLibraries>\r
+ <PlatformToolset>v141</PlatformToolset>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+ <ConfigurationType>DynamicLibrary</ConfigurationType>\r
+ <UseDebugLibraries>false</UseDebugLibraries>\r
+ <PlatformToolset>v141</PlatformToolset>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Label="Shared">\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <LinkIncremental>true</LinkIncremental>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <LinkIncremental>true</LinkIncremental>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <LinkIncremental>true</LinkIncremental>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <LinkIncremental>true</LinkIncremental>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <ClCompile>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <UseFullPaths>true</UseFullPaths>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <ClCompile>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <Optimization>Disabled</Optimization>\r
+ <AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <UseFullPaths>true</UseFullPaths>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <ClCompile>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <UseFullPaths>true</UseFullPaths>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <ClCompile>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <PrecompiledHeader>Use</PrecompiledHeader>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <AdditionalIncludeDirectories>$(VCInstallDir)UnitTest\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <UseFullPaths>true</UseFullPaths>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\editlib\crystallineparser.h" />\r
+ <ClInclude Include="..\editlib\string_util.h" />\r
+ <ClInclude Include="..\editlib\SyntaxColors.h" />\r
+ <ClInclude Include="stdafx.h" />\r
+ <ClInclude Include="targetver.h" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\editlib\lua.cpp" />\r
+ <ClCompile Include="..\editlib\string_util.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="..\editlib\SyntaxColors.cpp" />\r
+ <ClCompile Include="stdafx.cpp">\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>\r
+ </ClCompile>\r
+ <ClCompile Include="unittest1.cpp" />\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="Source Files">\r
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
+ </Filter>\r
+ <Filter Include="Header Files">\r
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\r
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>\r
+ </Filter>\r
+ <Filter Include="Resource Files">\r
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\r
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>\r
+ </Filter>\r
+ <Filter Include="Source Files\editlib">\r
+ <UniqueIdentifier>{9f474218-4f7b-40d9-803e-d13e06cdee69}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="stdafx.h">\r
+ <Filter>Header Files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="targetver.h">\r
+ <Filter>Header Files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\editlib\string_util.h">\r
+ <Filter>Source Files\editlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\editlib\SyntaxColors.h">\r
+ <Filter>Source Files\editlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\editlib\crystallineparser.h">\r
+ <Filter>Source Files\editlib</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="stdafx.cpp">\r
+ <Filter>Source Files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="unittest1.cpp">\r
+ <Filter>Source Files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\editlib\lua.cpp">\r
+ <Filter>Source Files\editlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\editlib\string_util.cpp">\r
+ <Filter>Source Files\editlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\editlib\SyntaxColors.cpp">\r
+ <Filter>Source Files\editlib</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+#include "stdafx.h"\r
+#include "CppUnitTest.h"\r
+#include "../editlib/crystallineparser.h"\r
+#include "../editlib/SyntaxColors.h"\r
+\r
+using namespace Microsoft::VisualStudio::CppUnitTestFramework;\r
+\r
+namespace test\r
+{ \r
+ TEST_CLASS(UnitTest1)\r
+ {\r
+ public:\r
+ TEST_METHOD(LuaSyntax)\r
+ {\r
+ std::unique_ptr<CrystalLineParser::TEXTBLOCK[]> pblocks(new CrystalLineParser::TEXTBLOCK[256]);\r
+ struct TestData {\r
+ DWORD dwCookie;\r
+ TCHAR *pszChars;\r
+ } data[] = {\r
+ // 1 2 3 4 5\r
+ // 012345678901234567890123456789012345678901234657890123456\r
+ {0, LR"!(a="\"abc";)!" },\r
+ {0, LR"!(ab='\'abc';)!" },\r
+ {0, _T("return")},\r
+ {0, _T("--comment")},\r
+ {0, _T("return abc(1)")},\r
+ {0, _T("--[[comment]]--[=[]]]=]--[==[]==][[]][=[s]=][==[[[]]]==]a")},\r
+ {0, _T("--[[a")},\r
+ {COOKIE_EXT_COMMENT, _T("]]--[=[") },\r
+ {COOKIE_EXT_COMMENT | (1 << 28), _T("]=]--[==[") },\r
+ {COOKIE_EXT_COMMENT | (2 << 28), _T("]==][[") },\r
+ {COOKIE_RAWSTRING, _T("]][=[") },\r
+ {COOKIE_RAWSTRING | (1 << 28), _T("]=][==[") },\r
+ {COOKIE_RAWSTRING | (2 << 28), _T("]==];") },\r
+ };\r
+ struct Expected {\r
+ DWORD dwCookie;\r
+ CrystalLineParser::TEXTBLOCK pblocks[10];\r
+ size_t nblocks;\r
+ } expected[] = {\r
+ { 0, {\r
+ {0, COLORINDEX_NORMALTEXT, COLORINDEX_BKGND},\r
+ {1, COLORINDEX_OPERATOR, COLORINDEX_BKGND},\r
+ {2, COLORINDEX_STRING, COLORINDEX_BKGND},\r
+ {9, COLORINDEX_OPERATOR, COLORINDEX_BKGND},\r
+ }, 4},\r
+ { 0, {\r
+ {0, COLORINDEX_NORMALTEXT, COLORINDEX_BKGND},\r
+ {2, COLORINDEX_OPERATOR, COLORINDEX_BKGND},\r
+ {3, COLORINDEX_STRING, COLORINDEX_BKGND},\r
+ {10, COLORINDEX_OPERATOR, COLORINDEX_BKGND},\r
+ }, 4},\r
+ { 0, {\r
+ {0, COLORINDEX_KEYWORD, COLORINDEX_BKGND},\r
+ }, 1},\r
+ { 0, {\r
+ {0, COLORINDEX_COMMENT, COLORINDEX_BKGND},\r
+ }, 1},\r
+ { 0, {\r
+ {0, COLORINDEX_KEYWORD, COLORINDEX_BKGND},\r
+ {6, COLORINDEX_OPERATOR, COLORINDEX_BKGND},\r
+ {7, COLORINDEX_FUNCNAME, COLORINDEX_BKGND},\r
+ {10, COLORINDEX_OPERATOR, COLORINDEX_BKGND},\r
+ {11, COLORINDEX_NUMBER, COLORINDEX_BKGND},\r
+ {12, COLORINDEX_OPERATOR, COLORINDEX_BKGND},\r
+ }, 6},\r
+ { 0, {\r
+ {0, COLORINDEX_COMMENT, COLORINDEX_BKGND},\r
+ {13, COLORINDEX_COMMENT, COLORINDEX_BKGND},\r
+ {23, COLORINDEX_COMMENT, COLORINDEX_BKGND},\r
+ {33, COLORINDEX_STRING, COLORINDEX_BKGND},\r
+ {37, COLORINDEX_STRING, COLORINDEX_BKGND},\r
+ {44, COLORINDEX_STRING, COLORINDEX_BKGND},\r
+ {56, COLORINDEX_NORMALTEXT, COLORINDEX_BKGND},\r
+ }, 7},\r
+ { COOKIE_EXT_COMMENT, {{0, COLORINDEX_COMMENT, COLORINDEX_BKGND}}, 1 },\r
+ { COOKIE_EXT_COMMENT | (1 << 28), {{0, COLORINDEX_COMMENT, COLORINDEX_BKGND}, {2, COLORINDEX_COMMENT, COLORINDEX_BKGND}}, 2 },\r
+ { COOKIE_EXT_COMMENT | (2 << 28), {{0, COLORINDEX_COMMENT, COLORINDEX_BKGND}, {3, COLORINDEX_COMMENT, COLORINDEX_BKGND}}, 2 },\r
+ { COOKIE_RAWSTRING, {{0, COLORINDEX_COMMENT, COLORINDEX_BKGND}, {4, COLORINDEX_STRING, COLORINDEX_BKGND}}, 2 },\r
+ { COOKIE_RAWSTRING | (1 << 28), {{0, COLORINDEX_STRING, COLORINDEX_BKGND}, {2, COLORINDEX_STRING, COLORINDEX_BKGND}}, 2 },\r
+ { COOKIE_RAWSTRING | (2 << 28), {{0, COLORINDEX_STRING, COLORINDEX_BKGND}, {3, COLORINDEX_STRING, COLORINDEX_BKGND}}, 2 },\r
+ { 0, {{0, COLORINDEX_STRING, COLORINDEX_BKGND}, {4, COLORINDEX_OPERATOR, COLORINDEX_BKGND}}, 2 },\r
+ };\r
+ for (size_t i = 0; i < std::size(expected); ++i)\r
+ {\r
+ int nActualItems = 0;\r
+ std::wstring msg = L"index: " + std::to_wstring(i);\r
+ Assert::AreEqual(\r
+ static_cast<DWORD>(expected[i].dwCookie),\r
+ CrystalLineParser::ParseLineLua(data[i].dwCookie, data[i].pszChars, _tcslen(data[i].pszChars), pblocks.get(), nActualItems), msg.c_str());\r
+ Assert::AreEqual(static_cast<int>(expected[i].nblocks), nActualItems, msg.c_str());\r
+ for (int j = 0; j < nActualItems; ++j)\r
+ {\r
+ std::wstring msg = L"index: " + std::to_wstring(i) + L"," + std::to_wstring(j);\r
+ Assert::AreEqual(expected[i].pblocks[j].m_nCharPos, pblocks[j].m_nCharPos, msg.c_str());\r
+ Assert::AreEqual(expected[i].pblocks[j].m_nColorIndex, pblocks[j].m_nColorIndex, msg.c_str());\r
+ Assert::AreEqual(expected[i].pblocks[j].m_nBgColorIndex, pblocks[j].m_nBgColorIndex, msg.c_str());\r
+ }\r
+ }\r
+ }\r
+\r
+ };\r
+}
\ No newline at end of file