~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/jscript/tests/jscript.c

Version: ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~ [ wine-1.0-rc5 ] ~ [ wine-1.0-rc4 ] ~ [ wine-1.0-rc3 ] ~ [ wine-1.0-rc2 ] ~ [ wine-1.0-rc1 ] ~ [ wine-0.9.61 ] ~ [ wine-0.9.60 ] ~ [ wine-0.9.59 ] ~ [ wine-0.9.58 ] ~ [ wine-0.9.57 ] ~ [ wine-0.9.56 ] ~ [ wine-0.9.55 ] ~ [ wine-0.9.54 ] ~ [ wine-0.9.53 ] ~ [ wine-0.9.52 ] ~ [ wine-0.9.51 ] ~ [ wine-0.9.50 ] ~ [ wine-0.9.49 ] ~ [ wine-0.9.48 ] ~ [ wine-0.9.47 ] ~ [ wine-0.9.46 ] ~ [ wine-0.9.45 ] ~ [ wine-0.9.44 ] ~ [ wine-0.9.43 ] ~ [ wine-0.9.42 ] ~ [ wine-0.9.41 ] ~ [ wine-0.9.40 ] ~ [ wine-0.9.39 ] ~ [ wine-0.9.38 ] ~ [ wine-0.9.37 ] ~ [ wine-0.9.36 ] ~ [ wine-0.9.35 ] ~ [ wine-0.9.34 ] ~ [ wine-0.9.33 ] ~ [ wine-0.9.32 ] ~ [ wine-0.9.31 ] ~ [ wine-0.9.30 ] ~ [ wine-0.9.29 ] ~ [ wine-0.9.28 ] ~ [ wine-0.9.27 ] ~ [ wine-0.9.26 ] ~ [ wine-0.9.25 ] ~ [ wine-0.9.24 ] ~ [ wine-0.9.23 ] ~ [ wine-0.9.22 ] ~ [ wine-0.9.21 ] ~ [ wine-0.9.20 ] ~ [ wine-0.9.19 ] ~ [ wine-0.9.18 ] ~ [ wine-0.9.17 ] ~ [ wine-0.9.16 ] ~ [ wine-0.9.15 ] ~ [ wine-0.9.14 ] ~ [ wine-0.9.13 ] ~ [ wine-0.9.12 ] ~ [ wine-0.9.11 ] ~ [ wine-0.9.10 ] ~ [ wine-0.9.9 ] ~ [ wine-0.9.8 ] ~ [ wine-0.9.7 ] ~ [ wine-0.9.6 ] ~ [ wine-0.9.5 ] ~ [ wine-0.9.4 ] ~ [ wine-0.9.3 ] ~ [ wine-0.9.2 ] ~ [ wine-0.9.1 ] ~ [ wine-0.9 ] ~ [ wine20050930 ] ~ [ wine20050830 ] ~ [ wine20050725 ] ~ [ wine20050628 ] ~ [ wine20050524 ] ~ [ wine20050419 ] ~ [ wine20050310 ] ~ [ wine20050211 ] ~ [ wine20050111 ] ~ [ wine20041201 ] ~ [ wine20041019 ] ~ [ wine20040914 ] ~ [ wine20040813 ] ~ [ wine20040716 ] ~ [ wine20040615 ] ~ [ wine20040505 ] ~ [ wine20040408 ] ~ [ wine20040309 ] ~ [ wine20040213 ] ~ [ wine20040121 ] ~ [ wine20031212 ] ~ [ wine20031118 ] ~ [ wine20031016 ] ~ [ wine20030911 ] ~ [ wine20030813 ] ~ [ wine20030709 ] ~ [ wine20030618 ] ~ [ wine20030508 ] ~ [ wine20030408 ] ~ [ wine20030318 ] ~ [ wine20030219 ] ~ [ wine20030115 ] ~ [ wine20021219 ] ~ [ wine20021125 ] ~ [ wine20021031 ] ~ [ wine20021007 ] ~ [ wine20020904 ] ~ [ wine20020804 ] ~ [ wine20020710 ] ~ [ wine20020605 ] ~ [ wine20020509 ] ~ [ wine20020411 ] ~ [ wine20020310 ] ~ [ wine20020228 ] ~ [ wine20011226 ] ~ [ wine20011108 ] ~ [ wine20011004 ] ~ [ wine20010824 ] ~ [ wine20010731 ] ~ [ wine20010629 ] ~ [ wine20010510 ] ~ [ wine20010418 ] ~ [ wine20010326 ] ~ [ wine20010305 ] ~ [ wine20010216 ] ~ [ wine20010112 ] ~ [ wine20001222 ] ~ [ wine20001202 ] ~ [ wine20001026 ] ~ [ wine20001002 ] ~ [ wine20000909 ] ~ [ wine20000821 ] ~ [ wine20000801 ] ~ [ wine20000716 ] ~ [ wine20000326 ] ~ [ wine20000227 ] ~ [ wine20000130 ] ~ [ wine20000109 ] ~

  1 /*
  2  * Copyright 2008 Jacek Caban for CodeWeavers
  3  *
  4  * This library is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU Lesser General Public
  6  * License as published by the Free Software Foundation; either
  7  * version 2.1 of the License, or (at your option) any later version.
  8  *
  9  * This library is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12  * Lesser General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU Lesser General Public
 15  * License along with this library; if not, write to the Free Software
 16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 
 19 #define COBJMACROS
 20 #define CONST_VTABLE
 21 
 22 #include <initguid.h>
 23 #include <ole2.h>
 24 #include <activscp.h>
 25 #include <objsafe.h>
 26 #include <dispex.h>
 27 
 28 #include "wine/test.h"
 29 
 30 DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
 31 
 32 static const CLSID CLSID_JScript =
 33     {0xf414c260,0x6ac0,0x11cf,{0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58}};
 34 
 35 #define DEFINE_EXPECT(func) \
 36     static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
 37 
 38 #define SET_EXPECT(func) \
 39     expect_ ## func = TRUE
 40 
 41 #define SET_CALLED(func) \
 42     called_ ## func = TRUE
 43 
 44 #define CHECK_EXPECT2(func) \
 45     do { \
 46         ok(expect_ ##func, "unexpected call " #func "\n"); \
 47         called_ ## func = TRUE; \
 48     }while(0)
 49 
 50 #define CHECK_EXPECT(func) \
 51     do { \
 52         CHECK_EXPECT2(func); \
 53         expect_ ## func = FALSE; \
 54     }while(0)
 55 
 56 #define CHECK_CALLED(func) \
 57     do { \
 58         ok(called_ ## func, "expected " #func "\n"); \
 59         expect_ ## func = called_ ## func = FALSE; \
 60     }while(0)
 61 
 62 DEFINE_EXPECT(GetLCID);
 63 DEFINE_EXPECT(OnStateChange_STARTED);
 64 DEFINE_EXPECT(OnStateChange_CONNECTED);
 65 DEFINE_EXPECT(OnStateChange_DISCONNECTED);
 66 DEFINE_EXPECT(OnStateChange_CLOSED);
 67 DEFINE_EXPECT(OnStateChange_INITIALIZED);
 68 DEFINE_EXPECT(OnEnterScript);
 69 DEFINE_EXPECT(OnLeaveScript);
 70 
 71 #define test_state(s,ss) _test_state(__LINE__,s,ss)
 72 static void _test_state(unsigned line, IActiveScript *script, SCRIPTSTATE exstate)
 73 {
 74     SCRIPTSTATE state = -1;
 75     HRESULT hres;
 76 
 77     hres = IActiveScript_GetScriptState(script, &state);
 78     ok_(__FILE__,line) (hres == S_OK, "GetScriptState failed: %08x\n", hres);
 79     ok_(__FILE__,line) (state == exstate, "state=%d, expected %d\n", state, exstate);
 80 }
 81 
 82 static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
 83 {
 84     *ppv = NULL;
 85 
 86     if(IsEqualGUID(&IID_IUnknown, riid))
 87         *ppv = iface;
 88     else if(IsEqualGUID(&IID_IActiveScriptSite, riid))
 89         *ppv = iface;
 90     else
 91         return E_NOINTERFACE;
 92 
 93     IUnknown_AddRef((IUnknown*)*ppv);
 94     return S_OK;
 95 }
 96 
 97 static ULONG WINAPI ActiveScriptSite_AddRef(IActiveScriptSite *iface)
 98 {
 99     return 2;
100 }
101 
102 static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface)
103 {
104     return 1;
105 }
106 
107 static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid)
108 {
109     CHECK_EXPECT(GetLCID);
110     return E_NOTIMPL;
111 }
112 
113 static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPCOLESTR pstrName,
114         DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti)
115 {
116     ok(0, "unexpected call\n");
117     return E_NOTIMPL;
118 }
119 
120 static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
121 {
122     ok(0, "unexpected call\n");
123     return E_NOTIMPL;
124 }
125 
126 static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate(IActiveScriptSite *iface,
127         const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo)
128 {
129     ok(0, "unexpected call\n");
130     return E_NOTIMPL;
131 }
132 
133 static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
134 {
135     switch(ssScriptState) {
136     case SCRIPTSTATE_STARTED:
137         CHECK_EXPECT(OnStateChange_STARTED);
138         return S_OK;
139     case SCRIPTSTATE_CONNECTED:
140         CHECK_EXPECT(OnStateChange_CONNECTED);
141         return S_OK;
142     case SCRIPTSTATE_DISCONNECTED:
143         CHECK_EXPECT(OnStateChange_DISCONNECTED);
144         return S_OK;
145     case SCRIPTSTATE_CLOSED:
146         CHECK_EXPECT(OnStateChange_CLOSED);
147         return S_OK;
148     case SCRIPTSTATE_INITIALIZED:
149         CHECK_EXPECT(OnStateChange_INITIALIZED);
150         return S_OK;
151     default:
152         ok(0, "unexpected call %d\n", ssScriptState);
153     }
154 
155     return E_NOTIMPL;
156 }
157 
158 static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
159 {
160     ok(0, "unexpected call\n");
161     return E_NOTIMPL;
162 }
163 
164 static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
165 {
166     CHECK_EXPECT(OnEnterScript);
167     return S_OK;
168 }
169 
170 static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
171 {
172     CHECK_EXPECT(OnLeaveScript);
173     return S_OK;
174 }
175 
176 #undef ACTSCPSITE_THIS
177 
178 static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl = {
179     ActiveScriptSite_QueryInterface,
180     ActiveScriptSite_AddRef,
181     ActiveScriptSite_Release,
182     ActiveScriptSite_GetLCID,
183     ActiveScriptSite_GetItemInfo,
184     ActiveScriptSite_GetDocVersionString,
185     ActiveScriptSite_OnScriptTerminate,
186     ActiveScriptSite_OnStateChange,
187     ActiveScriptSite_OnScriptError,
188     ActiveScriptSite_OnEnterScript,
189     ActiveScriptSite_OnLeaveScript
190 };
191 
192 static IActiveScriptSite ActiveScriptSite = { &ActiveScriptSiteVtbl };
193 
194 static void test_script_dispatch(IActiveScript *script, BOOL initialized)
195 {
196     IDispatchEx *dispex;
197     IDispatch *disp;
198     HRESULT hres;
199 
200     disp = (void*)0xdeadbeef;
201     hres = IActiveScript_GetScriptDispatch(script, NULL, &disp);
202     if(!initialized) {
203         ok(hres == E_UNEXPECTED, "hres = %08x, expected E_UNEXPECTED\n", hres);
204         ok(!disp, "disp != NULL\n");
205         return;
206     }
207 
208     ok(hres == S_OK, "GetScriptDispatch failed: %08x\n", hres);
209     if(FAILED(hres))
210         return;
211 
212     ok(disp != NULL, "disp == NULL\n");
213     hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex);
214     IDispatch_Release(disp);
215     ok(hres == S_OK, "Could not get IDispatchEx interface: %08x\n", hres);
216 
217     IDispatchEx_Release(dispex);
218 }
219 
220 static void test_safety(IUnknown *unk)
221 {
222     IObjectSafety *safety;
223     DWORD supported, enabled;
224     HRESULT hres;
225 
226     hres = IUnknown_QueryInterface(unk, &IID_IObjectSafety, (void**)&safety);
227     ok(hres == S_OK, "Could not get IObjectSafety: %08x\n", hres);
228     if(FAILED(hres))
229         return;
230 
231     hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_NULL, &supported, NULL);
232     ok(hres == E_POINTER, "GetInterfaceSafetyOptions failed: %08x, expected E_POINTER\n", hres);
233     hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_NULL, NULL, &enabled);
234     ok(hres == E_POINTER, "GetInterfaceSafetyOptions failed: %08x, expected E_POINTER\n", hres);
235 
236     supported = enabled = 0xdeadbeef;
237     hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_NULL, &supported, &enabled);
238     ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
239     ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
240        "supported=%x\n", supported);
241     ok(enabled == INTERFACE_USES_DISPEX, "enabled=%x\n", enabled);
242 
243     supported = enabled = 0xdeadbeef;
244     hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScript, &supported, &enabled);
245     ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
246     ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
247        "supported=%x\n", supported);
248     ok(enabled == INTERFACE_USES_DISPEX, "enabled=%x\n", enabled);
249 
250     supported = enabled = 0xdeadbeef;
251     hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &enabled);
252     ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
253     ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
254        "supported=%x\n", supported);
255     ok(enabled == INTERFACE_USES_DISPEX, "enabled=%x\n", enabled);
256 
257     hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
258             INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER
259                 |INTERFACESAFE_FOR_UNTRUSTED_CALLER,
260             INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER);
261     ok(hres == E_FAIL, "SetInterfaceSafetyOptions failed: %08x, expected E_FAIL\n", hres);
262 
263     hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
264             INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER,
265             INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER);
266     ok(hres == S_OK, "SetInterfaceSafetyOptions failed: %08x\n", hres);
267 
268     supported = enabled = 0xdeadbeef;
269     hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &enabled);
270     ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
271     ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
272        "supported=%x\n", supported);
273     ok(enabled == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
274        "enabled=%x\n", enabled);
275 
276     IObjectSafety_Release(safety);
277 }
278 
279 static void test_jscript(void)
280 {
281     IActiveScriptParse *parse;
282     IActiveScript *script;
283     IUnknown *unk;
284     ULONG ref;
285     HRESULT hres;
286 
287     hres = CoCreateInstance(&CLSID_JScript, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
288             &IID_IUnknown, (void**)&unk);
289     ok(hres == S_OK, "CoCreateInstance failed: %08x\n", hres);
290     if(FAILED(hres))
291         return;
292 
293     hres = IUnknown_QueryInterface(unk, &IID_IActiveScript, (void**)&script);
294     ok(hres == S_OK, "Could not get IActiveScript: %08x\n", hres);
295 
296     hres = IUnknown_QueryInterface(unk, &IID_IActiveScriptParse, (void**)&parse);
297     ok(hres == S_OK, "Could not get IActiveScriptParse: %08x\n", hres);
298 
299     test_state(script, SCRIPTSTATE_UNINITIALIZED);
300     test_safety(unk);
301 
302     hres = IActiveScriptParse_InitNew(parse);
303     ok(hres == S_OK, "InitNew failed: %08x\n", hres);
304 
305     hres = IActiveScriptParse_InitNew(parse);
306     ok(hres == E_UNEXPECTED, "InitNew failed: %08x, expected E_UNEXPECTED\n", hres);
307 
308     hres = IActiveScript_SetScriptSite(script, NULL);
309     ok(hres == E_POINTER, "SetScriptSite failed: %08x, expected E_POINTER\n", hres);
310 
311     test_state(script, SCRIPTSTATE_UNINITIALIZED);
312     test_script_dispatch(script, FALSE);
313 
314     SET_EXPECT(GetLCID);
315     SET_EXPECT(OnStateChange_INITIALIZED);
316     hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite);
317     ok(hres == S_OK, "SetScriptSite failed: %08x\n", hres);
318     CHECK_CALLED(GetLCID);
319     CHECK_CALLED(OnStateChange_INITIALIZED);
320 
321     test_state(script, SCRIPTSTATE_INITIALIZED);
322 
323     hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite);
324     ok(hres == E_UNEXPECTED, "SetScriptSite failed: %08x, expected E_UNEXPECTED\n", hres);
325 
326     test_script_dispatch(script, TRUE);
327 
328     SET_EXPECT(OnStateChange_STARTED);
329     hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_STARTED);
330     ok(hres == S_OK, "SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n", hres);
331     CHECK_CALLED(OnStateChange_STARTED);
332 
333     test_state(script, SCRIPTSTATE_STARTED);
334 
335     SET_EXPECT(OnStateChange_CLOSED);
336     hres = IActiveScript_Close(script);
337     ok(hres == S_OK, "Close failed: %08x\n", hres);
338     CHECK_CALLED(OnStateChange_CLOSED);
339 
340     test_state(script, SCRIPTSTATE_CLOSED);
341     test_script_dispatch(script, FALSE);
342 
343     IActiveScriptParse_Release(parse);
344     IActiveScript_Release(script);
345 
346     ref = IUnknown_Release(unk);
347     ok(!ref, "ref = %d\n", ref);
348 }
349 
350 static void test_jscript2(void)
351 {
352     IActiveScriptParse *parse;
353     IActiveScript *script;
354     IUnknown *unk;
355     ULONG ref;
356     HRESULT hres;
357 
358     hres = CoCreateInstance(&CLSID_JScript, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
359             &IID_IUnknown, (void**)&unk);
360     ok(hres == S_OK, "CoCreateInstance failed: %08x\n", hres);
361     if(FAILED(hres))
362         return;
363 
364     hres = IUnknown_QueryInterface(unk, &IID_IActiveScript, (void**)&script);
365     ok(hres == S_OK, "Could not get IActiveScript: %08x\n", hres);
366 
367     hres = IUnknown_QueryInterface(unk, &IID_IActiveScriptParse, (void**)&parse);
368     ok(hres == S_OK, "Could not get IActiveScriptParse: %08x\n", hres);
369 
370     test_state(script, SCRIPTSTATE_UNINITIALIZED);
371 
372     SET_EXPECT(GetLCID);
373     hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite);
374     ok(hres == S_OK, "SetScriptSite failed: %08x\n", hres);
375     CHECK_CALLED(GetLCID);
376 
377     test_state(script, SCRIPTSTATE_UNINITIALIZED);
378 
379     SET_EXPECT(OnStateChange_INITIALIZED);
380     hres = IActiveScriptParse_InitNew(parse);
381     ok(hres == S_OK, "InitNew failed: %08x\n", hres);
382     CHECK_CALLED(OnStateChange_INITIALIZED);
383 
384     hres = IActiveScriptParse_InitNew(parse);
385     ok(hres == E_UNEXPECTED, "InitNew failed: %08x, expected E_UNEXPECTED\n", hres);
386 
387     SET_EXPECT(OnStateChange_CONNECTED);
388     hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_CONNECTED);
389     ok(hres == S_OK, "SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08x\n", hres);
390     CHECK_CALLED(OnStateChange_CONNECTED);
391 
392     test_state(script, SCRIPTSTATE_CONNECTED);
393 
394     SET_EXPECT(OnStateChange_DISCONNECTED);
395     SET_EXPECT(OnStateChange_INITIALIZED);
396     SET_EXPECT(OnStateChange_CLOSED);
397     hres = IActiveScript_Close(script);
398     ok(hres == S_OK, "Close failed: %08x\n", hres);
399     CHECK_CALLED(OnStateChange_DISCONNECTED);
400     CHECK_CALLED(OnStateChange_INITIALIZED);
401     CHECK_CALLED(OnStateChange_CLOSED);
402 
403     test_state(script, SCRIPTSTATE_CLOSED);
404     test_script_dispatch(script, FALSE);
405 
406     IActiveScriptParse_Release(parse);
407     IActiveScript_Release(script);
408 
409     ref = IUnknown_Release(unk);
410     ok(!ref, "ref = %d\n", ref);
411 }
412 
413 START_TEST(jscript)
414 {
415     CoInitialize(NULL);
416 
417     test_jscript();
418     test_jscript2();
419 
420     CoUninitialize();
421 }
422 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.