diff --git a/rostests/winetests/vbscript/CMakeLists.txt b/rostests/winetests/vbscript/CMakeLists.txt index fc6e85c80a3..60150eafc58 100644 --- a/rostests/winetests/vbscript/CMakeLists.txt +++ b/rostests/winetests/vbscript/CMakeLists.txt @@ -1,13 +1,11 @@ -add_definitions(-D__ROS_LONG64__) add_idl_headers(vbscript_wine_test_idlheader vbsregexp55.idl) list(APPEND SOURCE createobj.c run.c vbscript.c - testlist.c - rsrc.rc) + testlist.c) list(APPEND vbscript_winetest_rc_deps ${CMAKE_CURRENT_SOURCE_DIR}/api.vbs @@ -15,10 +13,8 @@ list(APPEND vbscript_winetest_rc_deps ${CMAKE_CURRENT_SOURCE_DIR}/regexp.vbs) set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS "${vbscript_winetest_rc_deps}") - -add_executable(vbscript_winetest ${SOURCE}) -target_link_libraries(vbscript_winetest wine) +add_executable(vbscript_winetest ${SOURCE} rsrc.rc) set_module_type(vbscript_winetest win32cui) -add_importlibs(vbscript_winetest ole32 oleaut32 advapi32 msvcrt kernel32 ntdll) +add_importlibs(vbscript_winetest ole32 oleaut32 advapi32 msvcrt kernel32) add_dependencies(vbscript_winetest vbscript_wine_test_idlheader) add_cd_file(TARGET vbscript_winetest DESTINATION reactos/bin FOR all) diff --git a/rostests/winetests/vbscript/api.vbs b/rostests/winetests/vbscript/api.vbs index 0aaeefbd79d..3c496b186f2 100644 --- a/rostests/winetests/vbscript/api.vbs +++ b/rostests/winetests/vbscript/api.vbs @@ -134,6 +134,8 @@ Call ok(getVT(Chr(120)) = "VT_BSTR", "getVT(Chr(120)) = " & getVT(Chr(120))) Call ok(getVT(Chr(255)) = "VT_BSTR", "getVT(Chr(255)) = " & getVT(Chr(255))) Call ok(Chr(120) = "x", "Chr(120) = " & Chr(120)) Call ok(Chr(0) <> "", "Chr(0) = """"") +Call ok(Chr(120.5) = "x", "Chr(120.5) = " & Chr(120.5)) +Call ok(Chr(119.5) = "x", "Chr(119.5) = " & Chr(119.5)) Call ok(isObject(new EmptyClass), "isObject(new EmptyClass) is not true?") Set x = new EmptyClass @@ -292,6 +294,9 @@ Call ok(Space(5) = " ", "Space(5) = " & Space(5) & """") Call ok(Space(5.2) = " ", "Space(5.2) = " & Space(5.2) & """") Call ok(Space(5.8) = " ", "Space(5.8) = " & Space(5.8) & """") Call ok(Space(5.5) = " ", "Space(5.5) = " & Space(5.5) & """") +Call ok(Space(4.5) = " ", "Space(4.5) = " & Space(4.5) & """") +Call ok(Space(0.5) = "", "Space(0.5) = " & Space(0.5) & """") +Call ok(Space(1.5) = " ", "Space(1.5) = " & Space(1.5) & """") Sub TestStrReverse(str, ex) Call ok(StrReverse(str) = ex, "StrReverse(" & str & ") = " & StrReverse(str)) @@ -310,6 +315,8 @@ TestLeft "test", 2, "te" TestLeft "test", 5, "test" TestLeft "test", 0, "" TestLeft 123, 2, "12" +TestLeft "123456", 1.5, "12" +TestLeft "123456", 2.5, "12" if isEnglishLang then TestLeft true, 2, "Tr" Sub TestRight(str, len, ex) @@ -383,6 +390,8 @@ if isEnglishLang then Call ok(WeekDayName(1, 10) = "Sun", "WeekDayName(1, 10) = " & WeekDayName(1, 10)) Call ok(WeekDayName(1, true, 0) = "Sun", "WeekDayName(1, true, 0) = " & WeekDayName(1, true, 0)) Call ok(WeekDayName(1, true, 2) = "Mon", "WeekDayName(1, true, 2) = " & WeekDayName(1, true, 2)) + Call ok(WeekDayName(1, true, 2.5) = "Mon", "WeekDayName(1, true, 2.5) = " & WeekDayName(1, true, 2.5)) + Call ok(WeekDayName(1, true, 1.5) = "Mon", "WeekDayName(1, true, 1.5) = " & WeekDayName(1, true, 1.5)) Call ok(WeekDayName(1, true, 7) = "Sat", "WeekDayName(1, true, 7) = " & WeekDayName(1, true, 7)) Call ok(WeekDayName(1, true, 7.1) = "Sat", "WeekDayName(1, true, 7.1) = " & WeekDayName(1, true, 7.1)) @@ -424,4 +433,35 @@ Call ok(getVT(vbYes) = "VT_I2", "getVT(vbYes) = " & getVT(vbYes)) Call ok(vbNo = 7, "vbNo = " & vbNo) Call ok(getVT(vbNo) = "VT_I2", "getVT(vbNo) = " & getVT(vbNo)) +Call ok(CInt(-36.75) = -37, "CInt(-36.75) = " & CInt(-36.75)) +Call ok(getVT(CInt(-36.75)) = "VT_I2", "getVT(CInt(-36.75)) = " & getVT(CInt(-36.75))) +Call ok(CInt(-36.50) = -36, "CInt(-36.50) = " & CInt(-36.50)) +Call ok(getVT(CInt(-36.50)) = "VT_I2", "getVT(CInt(-36.50)) = " & getVT(CInt(-36.50))) +Call ok(CInt(-36.25) = -36, "CInt(-36.25) = " & CInt(-36.25)) +Call ok(getVT(CInt(-36.25)) = "VT_I2", "getVT(CInt(-36.25)) = " & getVT(CInt(-36.25))) +Call ok(CInt(-36) = -36, "CInt(-36) = " & CInt(-36)) +Call ok(getVT(CInt(-36)) = "VT_I2", "getVT(CInt(-36)) = " & getVT(CInt(-36))) +Call ok(CInt(0) = 0, "CInt(0) = " & CInt(0)) +Call ok(getVT(CInt(0)) = "VT_I2", "getVT(CInt(0)) = " & getVT(CInt(0))) +Call ok(CInt(0.0) = 0, "CInt(0.0) = " & CInt(0)) +Call ok(getVT(CInt(0.0)) = "VT_I2", "getVT(CInt(0.0)) = " & getVT(CInt(0.0))) +Call ok(CInt(0.5) = 0, "CInt(0.5) = " & CInt(0)) +Call ok(getVT(CInt(0.5)) = "VT_I2", "getVT(CInt(0.5)) = " & getVT(CInt(0.5))) +Call ok(CInt(36) = 36, "CInt(36) = " & CInt(36)) +Call ok(getVT(CInt(36)) = "VT_I2", "getVT(CInt(36)) = " & getVT(CInt(36))) +Call ok(CInt(36.25) = 36, "CInt(36.25) = " & CInt(36.25)) +Call ok(getVT(CInt(36.25)) = "VT_I2", "getVT(CInt(36.25)) = " & getVT(CInt(36.25))) +Call ok(CInt(36.50) = 36, "CInt(36.50) = " & CInt(36.50)) +Call ok(getVT(CInt(36.50)) = "VT_I2", "getVT(CInt(36.50)) = " & getVT(CInt(36.50))) +Call ok(CInt(36.75) = 37, "CInt(36.75) = " & CInt(36.75)) +Call ok(getVT(CInt(36.75)) = "VT_I2", "getVT(CInt(36.75)) = " & getVT(CInt(36.75))) + + +Call ok(CBool(5) = true, "CBool(5) = " & CBool(5)) +Call ok(getVT(CBool(5)) = "VT_BOOL", "getVT(CBool(5)) = " & getVT(CBool(5))) +Call ok(CBool(0) = false, "CBool(0) = " & CBool(0)) +Call ok(getVT(CBool(0)) = "VT_BOOL", "getVT(CBool(0)) = " & getVT(CBool(0))) +Call ok(CBool(-5) = true, "CBool(-5) = " & CBool(-5)) +Call ok(getVT(CBool(-5)) = "VT_BOOL", "getVT(CBool(-5)) = " & getVT(CBool(-5))) + Call reportSuccess() diff --git a/rostests/winetests/vbscript/vbscript.c b/rostests/winetests/vbscript/vbscript.c index 1996e2bf0a1..5f14d4b509d 100644 --- a/rostests/winetests/vbscript/vbscript.c +++ b/rostests/winetests/vbscript/vbscript.c @@ -861,6 +861,10 @@ static void test_RegExp(void) ok(hres == S_OK, "QueryInterface(IID_IMatchCollection2) returned %x\n", hres); IDispatch_Release(disp); + hres = IMatchCollection2_QueryInterface(mc, &IID_IMatchCollection, (void**)&unk); + ok(hres == S_OK, "QueryInterface(IID_IMatchCollection) returned %x\n", hres); + IUnknown_Release(unk); + hres = IMatchCollection2_get_Count(mc, NULL); ok(hres == E_POINTER, "get_Count returned %x, expected E_POINTER\n", hres); @@ -880,6 +884,10 @@ static void test_RegExp(void) ok(hres == S_OK, "QueryInterface(IID_IMatch2) returned %x\n", hres); IDispatch_Release(disp); + hres = IMatch2_QueryInterface(match, &IID_IMatch, (void**)&unk); + ok(hres == S_OK, "QueryInterface(IID_IMatch) returned %x\n", hres); + IUnknown_Release(unk); + hres = IMatch2_get_Value(match, NULL); ok(hres == E_POINTER, "get_Value returned %x, expected E_POINTER\n", hres);