[PATCH v2 1/2] vbscript/tests: Test 'Get' keyword used as id
Brendan McGrath
brendan at redmandi.com
Tue Feb 12 18:33:12 CST 2019
I tried 'Dim Get' and 'Get = "xx"' in Windows, but they both create a
"compilation error". So I think 'Get' can be used as a Function on an
external object - but maybe can not be used as a declaration in vbscript.
I'm not really familiar with the grammatical notation of vbscript - but
I did find this:
https://rosettacode.org/wiki/BNF_Grammar#VBScript
It looks like after a 'dot', all the Keywords can be used (referred to
as a QualifiedIDTail in the link above), but after a 'Dim', only an
ExtendedID can be used (which only includes a subset of Keywords
referred to as 'SafeKeywordID' - which includes 'Property'). So I think
I should only be including the SafeKeywordIDs as an Identifier (which
does not include 'Get', 'Set' or 'Let').
For items after a dot, I guess I should introduce a new token (maybe
called DotIdentifier) which will include all the Keywords? I believe I
would therefore need to use an external object to test those.
On 12/2/19 10:45 pm, Jacek Caban wrote:
> Hi Brendan,
>
> On 2/10/19 1:45 AM, Brendan McGrath wrote:
>> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46318
>> Signed-off-by: Brendan McGrath <brendan at redmandi.com>
>> ---
>> dlls/vbscript/tests/run.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/dlls/vbscript/tests/run.c b/dlls/vbscript/tests/run.c
>> index 191f5a79a0..bc3e0742df 100644
>> --- a/dlls/vbscript/tests/run.c
>> +++ b/dlls/vbscript/tests/run.c
>> @@ -2406,6 +2406,10 @@ static void run_tests(void)
>> CHECK_CALLED(global_success_d);
>> CHECK_CALLED(global_success_i);
>> + hres = parse_script_ar("Set oLocator =
>> CreateObject(\"Wbemscripting.SWbemLocator\")\r"
>> + "Set oReg = oLocator.ConnectServer(\"\",
>> \"root\\default\", \"\", \"\").Get(\"StdRegProv\")");
>> + todo_wine ok(hres == S_OK, "parse_script failed: %08x\n", hres);
>
>
> Please integrate the test into existing lang.vbs. Note that you don't
> really need to create external objects to test that. You could, for
> example, try declare a variable called 'get'.
>
>
> Thanks,
>
> Jacek
>
More information about the wine-devel
mailing list