Nikolay Sivov : msxml3: Implement get_line() and get_linepos().
Alexandre Julliard
julliard at winehq.org
Tue Nov 8 12:23:08 CST 2011
Module: wine
Branch: master
Commit: 945dccb7d60afd636bca380e80e14f7aa3f107c1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=945dccb7d60afd636bca380e80e14f7aa3f107c1
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Fri Nov 4 23:26:53 2011 +0300
msxml3: Implement get_line() and get_linepos().
---
dlls/msxml3/parseerror.c | 23 +++++++++++++++--------
dlls/msxml3/tests/domdoc.c | 26 ++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/dlls/msxml3/parseerror.c b/dlls/msxml3/parseerror.c
index b8cc381..c461095 100644
--- a/dlls/msxml3/parseerror.c
+++ b/dlls/msxml3/parseerror.c
@@ -135,13 +135,10 @@ static HRESULT WINAPI parseError_GetTypeInfo(
ITypeInfo** ppTInfo )
{
parse_error_t *This = impl_from_IXMLDOMParseError( iface );
- HRESULT hr;
TRACE("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo);
- hr = get_typeinfo(IXMLDOMParseError_tid, ppTInfo);
-
- return hr;
+ return get_typeinfo(IXMLDOMParseError_tid, ppTInfo);
}
static HRESULT WINAPI parseError_GetIDsOfNames(
@@ -255,8 +252,13 @@ static HRESULT WINAPI parseError_get_line(
LONG *line )
{
parse_error_t *This = impl_from_IXMLDOMParseError( iface );
- FIXME("(%p)->(%p)\n", This, line);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p): stub\n", This, line);
+
+ if (!line) return E_INVALIDARG;
+
+ *line = This->line;
+ return S_OK;
}
static HRESULT WINAPI parseError_get_linepos(
@@ -264,8 +266,13 @@ static HRESULT WINAPI parseError_get_linepos(
LONG *linepos )
{
parse_error_t *This = impl_from_IXMLDOMParseError( iface );
- FIXME("(%p)->(%p)\n", This, linepos);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, linepos);
+
+ if (!linepos) return E_INVALIDARG;
+
+ *linepos = This->linepos;
+ return S_OK;
}
static HRESULT WINAPI parseError_get_filepos(
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index a883da0..eeff419 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -10752,6 +10752,31 @@ static void test_dispex(void)
free_bstrs();
}
+static void test_parseerror(void)
+{
+ IXMLDOMParseError *error;
+ IXMLDOMDocument *doc;
+ HRESULT hr;
+
+ doc = create_document(&IID_IXMLDOMDocument);
+
+ hr = IXMLDOMDocument_get_parseError(doc, &error);
+ EXPECT_HR(hr, S_OK);
+
+ hr = IXMLDOMParseError_get_line(error, NULL);
+ EXPECT_HR(hr, E_INVALIDARG);
+
+ hr = IXMLDOMParseError_get_srcText(error, NULL);
+ todo_wine EXPECT_HR(hr, E_INVALIDARG);
+
+ hr = IXMLDOMParseError_get_linepos(error, NULL);
+ EXPECT_HR(hr, E_INVALIDARG);
+
+ IXMLDOMParseError_Release(error);
+
+ IXMLDOMDocument_Release(doc);
+}
+
START_TEST(domdoc)
{
IXMLDOMDocument *doc;
@@ -10824,6 +10849,7 @@ START_TEST(domdoc)
test_selection();
test_load();
test_dispex();
+ test_parseerror();
test_xsltemplate();
More information about the wine-cvs
mailing list