When passing arrays of interfaces to an XPCOM method, we didn't know the
declared IID to obtain. This prevented us detecting arrays of variants and giving them the same special treatment normal Variants get. Fix that. Not part of the build. git-svn-id: svn://10.0.0.236/trunk@215020 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -418,8 +418,10 @@ def test_derived_interface(c, test_flat = 0):
|
||||
test_method(c.AppendVariant, (None, None), None)
|
||||
|
||||
test_method(c.SumVariants, ([],), None)
|
||||
# Array's dont expose their interface, so we are unable to auto-wrap
|
||||
# variant arrays, as they aren't aware if the IID of the array
|
||||
test_method(c.SumVariants, ([1,2,3],), 6)
|
||||
test_method(c.SumVariants, (['foo', 'bar'],), 'foobar')
|
||||
# We previously had trouble working out the IID of interface arrays, so
|
||||
# had to pass an explicitly wrapped variant - let's check that still works.
|
||||
test_method(c.SumVariants, ([MakeVariant(1),MakeVariant(2),MakeVariant(3)],), 6)
|
||||
test_method(c.SumVariants, ([MakeVariant('foo'), MakeVariant('bar')],), 'foobar')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user