2 * Copyright 2012 Hans Leidekker for CodeWeavers
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.
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.
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
27 #include "wine/test.h"
29 static void test_CreateAssemblyNameObject( void )
31 static const WCHAR emptyW
[] = {0};
35 hr
= CreateAssemblyNameObject( NULL
, L
"wine", CANOF_PARSE_DISPLAY_NAME
, NULL
);
36 ok(hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
38 name
= (IAssemblyName
*)0xdeadbeef;
39 hr
= CreateAssemblyNameObject( &name
, NULL
, CANOF_PARSE_DISPLAY_NAME
, NULL
);
40 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
41 ok( !name
, "expected NULL got %p\n", name
);
43 name
= (IAssemblyName
*)0xdeadbeef;
44 hr
= CreateAssemblyNameObject( &name
, emptyW
, CANOF_PARSE_DISPLAY_NAME
, NULL
);
45 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
46 ok( !name
, "expected NULL got %p\n", name
);
48 name
= (IAssemblyName
*)0xdeadbeef;
49 hr
= CreateAssemblyNameObject( &name
, NULL
, CANOF_SET_DEFAULT_VALUES
, NULL
);
50 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
51 ok( !name
, "expected NULL got %p\n", name
);
53 name
= (IAssemblyName
*)0xdeadbeef;
54 hr
= CreateAssemblyNameObject( &name
, emptyW
, CANOF_SET_DEFAULT_VALUES
, NULL
);
55 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
56 ok( !name
, "expected NULL got %p\n", name
);
59 hr
= CreateAssemblyNameObject( &name
, L
"wine", CANOF_PARSE_DISPLAY_NAME
, NULL
);
60 ok( hr
== S_OK
, "expected S_OK got %08lx\n", hr
);
61 ok( name
!= NULL
, "expected non-NULL name\n" );
62 IAssemblyName_Release( name
);
64 hr
= CreateAssemblyNameObject( NULL
, L
"wine", CANOF_SET_DEFAULT_VALUES
, NULL
);
65 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
67 name
= (IAssemblyName
*)0xdeadbeef;
68 hr
= CreateAssemblyNameObject( &name
, NULL
, CANOF_SET_DEFAULT_VALUES
, NULL
);
69 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
70 ok( !name
, "expected NULL got %p\n", name
);
72 name
= (IAssemblyName
*)0xdeadbeef;
73 hr
= CreateAssemblyNameObject( &name
, emptyW
, CANOF_SET_DEFAULT_VALUES
, NULL
);
74 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
75 ok( !name
, "expected NULL got %p\n", name
);
77 name
= (IAssemblyName
*)0xdeadbeef;
78 hr
= CreateAssemblyNameObject( &name
, NULL
, CANOF_SET_DEFAULT_VALUES
, NULL
);
79 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
80 ok( !name
, "expected NULL got %p\n", name
);
82 name
= (IAssemblyName
*)0xdeadbeef;
83 hr
= CreateAssemblyNameObject( &name
, emptyW
, CANOF_SET_DEFAULT_VALUES
, NULL
);
84 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
85 ok( !name
, "expected NULL got %p\n", name
);
87 name
= (IAssemblyName
*)0xdeadbeef;
88 hr
= CreateAssemblyNameObject( &name
, L
"wine", CANOF_SET_DEFAULT_VALUES
, NULL
);
89 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
90 ok( !name
, "expected NULL got %p\n", name
);
92 hr
= CreateAssemblyNameObject( NULL
, L
"wine", 0, NULL
);
93 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
95 name
= (IAssemblyName
*)0xdeadbeef;
96 hr
= CreateAssemblyNameObject( &name
, NULL
, 0, NULL
);
97 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
98 ok( !name
, "expected NULL got %p\n", name
);
100 name
= (IAssemblyName
*)0xdeadbeef;
101 hr
= CreateAssemblyNameObject( &name
, emptyW
, 0, NULL
);
102 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
103 ok( !name
, "expected NULL got %p\n", name
);
105 name
= (IAssemblyName
*)0xdeadbeef;
106 hr
= CreateAssemblyNameObject( &name
, NULL
, 0, NULL
);
107 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
108 ok( !name
, "expected NULL got %p\n", name
);
110 name
= (IAssemblyName
*)0xdeadbeef;
111 hr
= CreateAssemblyNameObject( &name
, emptyW
, 0, NULL
);
112 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
113 ok( !name
, "expected NULL got %p\n", name
);
115 name
= (IAssemblyName
*)0xdeadbeef;
116 hr
= CreateAssemblyNameObject( &name
, L
"wine", 0, NULL
);
117 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
119 hr
= CreateAssemblyNameObject( NULL
, L
"wine", CANOF_SET_DEFAULT_VALUES
|CANOF_PARSE_DISPLAY_NAME
, NULL
);
120 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
122 name
= (IAssemblyName
*)0xdeadbeef;
123 hr
= CreateAssemblyNameObject( &name
, NULL
, CANOF_SET_DEFAULT_VALUES
|CANOF_PARSE_DISPLAY_NAME
, NULL
);
124 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
125 ok( !name
, "expected NULL got %p\n", name
);
127 name
= (IAssemblyName
*)0xdeadbeef;
128 hr
= CreateAssemblyNameObject( &name
, emptyW
, CANOF_SET_DEFAULT_VALUES
|CANOF_PARSE_DISPLAY_NAME
, NULL
);
129 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
130 ok( !name
, "expected NULL got %p\n", name
);
132 name
= (IAssemblyName
*)0xdeadbeef;
133 hr
= CreateAssemblyNameObject( &name
, NULL
, CANOF_SET_DEFAULT_VALUES
|CANOF_PARSE_DISPLAY_NAME
, NULL
);
134 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
135 ok( !name
, "expected NULL got %p\n", name
);
137 name
= (IAssemblyName
*)0xdeadbeef;
138 hr
= CreateAssemblyNameObject( &name
, emptyW
, CANOF_SET_DEFAULT_VALUES
|CANOF_PARSE_DISPLAY_NAME
, NULL
);
139 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
140 ok( !name
, "expected NULL got %p\n", name
);
142 name
= (IAssemblyName
*)0xdeadbeef;
143 hr
= CreateAssemblyNameObject( &name
, L
"wine", CANOF_SET_DEFAULT_VALUES
|CANOF_PARSE_DISPLAY_NAME
, NULL
);
144 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
145 ok( !name
, "expected NULL got %p\n", name
);
148 hr
= CreateAssemblyNameObject( &name
, L
"wine,version=\"1.2.3.4\"", CANOF_PARSE_DISPLAY_NAME
, NULL
);
149 ok( hr
== S_OK
, "expected S_OK got %08lx\n", hr
);
150 ok( name
!= NULL
, "expected non-NULL name\n" );
151 IAssemblyName_Release( name
);
153 name
= (IAssemblyName
*)0xdeadbeef;
154 hr
= CreateAssemblyNameObject( &name
, L
"wine,version=1.2.3.4", CANOF_PARSE_DISPLAY_NAME
, NULL
);
155 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
156 ok( !name
, "expected NULL got %p\n", name
);
158 name
= (IAssemblyName
*)0xdeadbeef;
159 hr
= CreateAssemblyNameObject( &name
, L
"wine, version=\"1.2.3.4\"", CANOF_PARSE_DISPLAY_NAME
, NULL
);
160 ok( hr
== HRESULT_FROM_WIN32( ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME
),
161 "expected ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME got %08lx\n", hr
);
162 ok( !name
, "expected NULL got %p\n", name
);
164 name
= (IAssemblyName
*)0xdeadbeef;
165 hr
= CreateAssemblyNameObject( &name
, L
"wine,version =\"1.2.3.4\"", CANOF_PARSE_DISPLAY_NAME
, NULL
);
166 ok( hr
== HRESULT_FROM_WIN32( ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME
),
167 "expected ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME got %08lx\n", hr
);
168 ok( !name
, "expected NULL got %p\n", name
);
170 name
= (IAssemblyName
*)0xdeadbeef;
171 hr
= CreateAssemblyNameObject( &name
, L
"wine,version= \"1.2.3.4\"", CANOF_PARSE_DISPLAY_NAME
, NULL
);
172 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
173 ok( !name
, "expected NULL got %p\n", name
);
176 hr
= CreateAssemblyNameObject( &name
, L
"wine ,version=\"1.2.3.4\"", CANOF_PARSE_DISPLAY_NAME
, NULL
);
177 ok( hr
== S_OK
, "expected S_OK got %08lx\n", hr
);
178 ok( name
!= NULL
, "expected non-NULL name\n" );
179 IAssemblyName_Release( name
);
181 name
= (IAssemblyName
*)0xdeadbeef;
182 hr
= CreateAssemblyNameObject( &name
, L
"wine,version", CANOF_PARSE_DISPLAY_NAME
, NULL
);
183 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
184 ok( !name
, "expected NULL got %p\n", name
);
187 hr
= CreateAssemblyNameObject( &name
, L
"wine,type=\"\"", CANOF_PARSE_DISPLAY_NAME
, NULL
);
188 ok( hr
== S_OK
, "expected S_OK got %08lx\n", hr
);
189 ok( name
!= NULL
, "expected non-NULL name\n" );
190 IAssemblyName_Release( name
);
192 name
= (IAssemblyName
*)0xdeadbeef;
193 hr
= CreateAssemblyNameObject( &name
, L
"wine,type=\"win32", CANOF_PARSE_DISPLAY_NAME
, NULL
);
194 ok( hr
== E_INVALIDARG
, "expected E_INVALIDARG got %08lx\n", hr
);
195 ok( !name
, "expected NULL got %p\n", name
);
200 test_CreateAssemblyNameObject();