xmllite: Store DTD processing mode in reader

Alexandre Julliard julliard at winehq.org
Mon Aug 27 12:45:50 CDT 2012


Nikolay Sivov <nsivov at codeweavers.com> writes:

> @@ -350,34 +353,47 @@ static void test_reader_create(void)
>      HRESULT hr;
>      IXmlReader *reader;
>      IUnknown *input;
> +    DtdProcessing dtd;
>  
>      /* crashes native */
>      if (0)
>      {
>          pCreateXmlReader(&IID_IXmlReader, NULL, NULL);
> -        pCreateXmlReader(NULL, (LPVOID*)&reader, NULL);
> +        pCreateXmlReader(NULL, (void**)&reader, NULL);
>      }
>  
> -    hr = pCreateXmlReader(&IID_IXmlReader, (LPVOID*)&reader, NULL);
> -    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
> +    hr = pCreateXmlReader(&IID_IXmlReader, (void**)&reader, NULL);
> +    EXPECT_HR(hr, S_OK);
>  
>      test_read_state(reader, XmlReadState_Closed, -1, FALSE);
>  
> +    dtd = 2;
> +    hr = IXmlReader_GetProperty(reader, XmlReaderProperty_DtdProcessing, (LONG_PTR*)&dtd);
> +    EXPECT_HR(hr, S_OK);
> +    ok(dtd == DtdProcessing_Prohibit, "got %d\n", dtd);
> +
> +    dtd = 2;
> +    hr = IXmlReader_SetProperty(reader, XmlReaderProperty_DtdProcessing, dtd);
> +    EXPECT_HR(hr, E_INVALIDARG);
> +
> +    hr = IXmlReader_SetProperty(reader, XmlReaderProperty_DtdProcessing, -1);
> +    EXPECT_HR(hr, E_INVALIDARG);
> +
>      /* Null input pointer, releases previous input */
>      hr = IXmlReader_SetInput(reader, NULL);
> -    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
> +    EXPECT_HR(hr, S_OK);

Explicit ok() calls are better than hiding them inside a macro.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list