summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am21
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-property-example.page13
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-signal-example.page13
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-vfunc.page27
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.method.page81
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.new.page30
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.page46
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/DocExamples.ObjClass.page12
-rw-r--r--tests/doctool/DocExamples-1.0-C-expected/index.page19
-rw-r--r--tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-property-example.page16
-rw-r--r--tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-signal-example.page40
-rw-r--r--tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-vfunc.page27
-rw-r--r--tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.method.page78
-rw-r--r--tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.page53
-rw-r--r--tests/doctool/DocExamples-1.0-Python-expected/index.page19
-rw-r--r--tests/doctool/Makefile.am45
-rw-r--r--tests/doctool/doc-examples-obj.c127
-rw-r--r--tests/doctool/doc-examples-obj.h64
-rwxr-xr-xtests/gi-tester55
-rw-r--r--tests/gimarshallingtests.c3821
-rw-r--r--tests/gimarshallingtests.h268
-rw-r--r--tests/offsets/Makefile.am22
-rwxr-xr-xtests/offsets/gen-gitestoffsets2
-rw-r--r--tests/offsets/offsets.h3
-rw-r--r--tests/repository/Makefile.am10
-rw-r--r--tests/repository/gitestrepo.c2
-rw-r--r--tests/repository/gitestthrows.c2
-rw-r--r--tests/repository/gitypelibtest.c376
-rw-r--r--tests/scanner/Annotation-1.0-expected.gir853
-rw-r--r--tests/scanner/Bar-1.0-expected.gir4
-rw-r--r--tests/scanner/Foo-1.0-expected.gir281
-rw-r--r--tests/scanner/GetType-1.0-expected.gir19
-rw-r--r--tests/scanner/GtkFrob-1.0-expected.gir1
-rw-r--r--tests/scanner/Headeronly-1.0-expected.gir21
-rw-r--r--tests/scanner/Makefile.am148
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page44
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page39
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page27
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page41
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page28
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page67
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page67
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page49
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page50
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page49
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page67
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page67
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page75
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page61
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page43
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page55
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page44
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page43
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page41
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page63
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page76
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page35
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page38
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page38
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page55
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page61
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page61
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page55
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page50
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page55
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page35
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page43
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page35
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page35
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page45
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page44
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page39
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page39
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page39
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page39
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page35
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page59
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page111
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page111
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page111
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page111
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page102
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page102
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page61
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page26
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page25
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page67
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page41
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page75
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page41
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page49
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page67
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page42
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page58
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_double.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_float.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page49
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page41
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_int.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_long.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page66
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page73
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_short.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_size.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page49
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page93
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page93
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page120
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page40
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page48
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page57
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page41
-rw-r--r--tests/scanner/Regress-1.0-C-expected/index.page32
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page26
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page40
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page30
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page41
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page31
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page43
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page44
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page43
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page67
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page31
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.new.page58
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page66
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page43
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page60
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page43
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new_as_super.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page66
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page54
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page54
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page63
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page63
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page31
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page31
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page60
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page66
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page58
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.new.page58
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.new.page58
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page43
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page66
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.page60
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.ref.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.unref.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.new.page52
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.page63
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page63
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page60
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page41
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page40
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page40
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page44
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page40
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page44
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page35
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.constructor.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page52
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_callback.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_from_file.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page75
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page82
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page82
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page82
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page82
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page51
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page62
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page66
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page51
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page66
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page25
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page29
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.new.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page65
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page58
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page54
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page70
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page43
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page55
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page51
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page51
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page44
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page51
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page58
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page58
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page43
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page54
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page71
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page62
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page66
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page70
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page46
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page38
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page50
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page39
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/index.page32
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page26
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page53
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page45
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page46
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page30
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page31
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page67
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page64
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page64
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page52
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page53
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page52
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page62
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page64
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page71
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page31
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page65
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page43
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page40
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page44
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page53
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page44
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page43
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page62
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page62
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page41
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page36
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page36
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page44
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page65
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page43
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page35
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page65
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page62
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page62
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page41
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page40
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page41
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page41
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page46
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page49
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page46
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page45
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page46
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page50
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page45
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page46
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page45
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page50
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page45
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page41
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page61
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page62
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page107
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page107
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page107
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page107
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page60
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page95
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page99
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page65
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page25
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page29
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page62
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page64
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page38
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page71
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page43
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page56
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page68
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page60
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page44
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page60
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page59
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page48
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page43
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page63
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page38
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page72
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page87
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page91
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page111
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page42
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page47
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page55
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page51
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page39
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/index.page32
-rw-r--r--tests/scanner/Regress-1.0-expected.gir3283
-rw-r--r--tests/scanner/Regress-1.0-sections-expected.txt362
-rw-r--r--tests/scanner/SLetter-1.0-expected.gir20
-rw-r--r--tests/scanner/TestInherit-1.0-expected.gir12
-rw-r--r--tests/scanner/Typedefs-1.0-expected.gir84
-rw-r--r--tests/scanner/Utility-1.0-expected.gir23
-rw-r--r--tests/scanner/WarnLib-1.0-expected.gir153
-rw-r--r--tests/scanner/annotation.c358
-rw-r--r--tests/scanner/annotation.h171
-rw-r--r--tests/scanner/annotationparser/Makefile.am68
-rw-r--r--tests/scanner/annotationparser/README52
-rw-r--r--tests/scanner/annotationparser/gi/annotation_allow_none.xml63
-rw-r--r--tests/scanner/annotationparser/gi/annotation_array.xml483
-rw-r--r--tests/scanner/annotationparser/gi/annotation_attributes.xml477
-rw-r--r--tests/scanner/annotationparser/gi/annotation_closure.xml147
-rw-r--r--tests/scanner/annotationparser/gi/annotation_constructor.xml26
-rw-r--r--tests/scanner/annotationparser/gi/annotation_destroy.xml110
-rw-r--r--tests/scanner/annotationparser/gi/annotation_element_type.xml272
-rw-r--r--tests/scanner/annotationparser/gi/annotation_foreign.xml27
-rw-r--r--tests/scanner/annotationparser/gi/annotation_get_value_func.xml154
-rw-r--r--tests/scanner/annotationparser/gi/annotation_in.xml63
-rw-r--r--tests/scanner/annotationparser/gi/annotation_in_out.xml71
-rw-r--r--tests/scanner/annotationparser/gi/annotation_method.xml34
-rw-r--r--tests/scanner/annotationparser/gi/annotation_out.xml192
-rw-r--r--tests/scanner/annotationparser/gi/annotation_ref_func.xml154
-rw-r--r--tests/scanner/annotationparser/gi/annotation_rename_to.xml232
-rw-r--r--tests/scanner/annotationparser/gi/annotation_scope.xml131
-rw-r--r--tests/scanner/annotationparser/gi/annotation_set_value_func.xml118
-rw-r--r--tests/scanner/annotationparser/gi/annotation_skip.xml91
-rw-r--r--tests/scanner/annotationparser/gi/annotation_transfer.xml285
-rw-r--r--tests/scanner/annotationparser/gi/annotation_type.xml263
-rw-r--r--tests/scanner/annotationparser/gi/annotation_unref_func.xml118
-rw-r--r--tests/scanner/annotationparser/gi/annotation_value.xml118
-rw-r--r--tests/scanner/annotationparser/gi/annotation_virtual.xml158
-rw-r--r--tests/scanner/annotationparser/gi/annotations.xml637
-rw-r--r--tests/scanner/annotationparser/gi/identifier.xml122
-rw-r--r--tests/scanner/annotationparser/gi/identifier_section.xml332
-rw-r--r--tests/scanner/annotationparser/gi/identifier_symbol.xml435
-rw-r--r--tests/scanner/annotationparser/gi/parameter.xml375
-rw-r--r--tests/scanner/annotationparser/gi/parameter_varargs.xml298
-rw-r--r--tests/scanner/annotationparser/gi/syntax.xml467
-rw-r--r--tests/scanner/annotationparser/gi/syntax_indentation.xml89
-rw-r--r--tests/scanner/annotationparser/gi/syntax_multiline_annotations.xml81
-rw-r--r--tests/scanner/annotationparser/gi/syntax_nested_tags.xml230
-rw-r--r--tests/scanner/annotationparser/gi/syntax_paragraph_breaks.xml359
-rw-r--r--tests/scanner/annotationparser/gi/syntax_whitespace.xml124
-rw-r--r--tests/scanner/annotationparser/gi/tag.xml401
-rw-r--r--tests/scanner/annotationparser/gi/tag_deprecated.xml127
-rw-r--r--tests/scanner/annotationparser/gi/tag_description.xml132
-rw-r--r--tests/scanner/annotationparser/gi/tag_returns.xml595
-rw-r--r--tests/scanner/annotationparser/gi/tag_since.xml187
-rw-r--r--tests/scanner/annotationparser/gi/tag_stability.xml211
-rw-r--r--tests/scanner/annotationparser/gtkdoc/annotations/tester.c.xml482
-rw-r--r--tests/scanner/annotationparser/gtkdoc/annotations/tester.h.xml39
-rw-r--r--tests/scanner/annotationparser/gtkdoc/bugs/tester.c.xml1108
-rw-r--r--tests/scanner/annotationparser/gtkdoc/bugs/tester.h.xml925
-rw-r--r--tests/scanner/annotationparser/gtkdoc/empty/tester.c.xml72
-rw-r--r--tests/scanner/annotationparser/gtkdoc/fail/tester.c.xml216
-rw-r--r--tests/scanner/annotationparser/gtkdoc/fail/tester.h.xml281
-rw-r--r--tests/scanner/annotationparser/gtkdoc/gobject/giface.c.xml197
-rw-r--r--tests/scanner/annotationparser/gtkdoc/gobject/giface.h.xml162
-rw-r--r--tests/scanner/annotationparser/gtkdoc/gobject/gobject.c.xml616
-rw-r--r--tests/scanner/annotationparser/gtkdoc/gobject/gobject.h.xml213
-rw-r--r--tests/scanner/annotationparser/gtkdoc/gobject/gtypes.c.xml46
-rw-r--r--tests/scanner/annotationparser/gtkdoc/gobject/gtypes.h.xml113
-rw-r--r--tests/scanner/annotationparser/test_parser.py461
-rw-r--r--tests/scanner/annotationparser/test_patterns.py943
-rw-r--r--tests/scanner/annotationparser/tests.xsd171
-rw-r--r--tests/scanner/barapp.c1
-rw-r--r--tests/scanner/drawable.c22
-rw-r--r--tests/scanner/drawable.h30
-rw-r--r--tests/scanner/foo.c502
-rw-r--r--tests/scanner/foo.h438
-rw-r--r--tests/scanner/gettype.c14
-rw-r--r--tests/scanner/regress.c181
-rw-r--r--tests/scanner/regress.h82
-rw-r--r--tests/scanner/test_sourcescanner.py41
-rw-r--r--tests/scanner/test_transformer.py445
-rw-r--r--tests/scanner/typedefs.c90
-rw-r--r--tests/scanner/typedefs.h73
-rw-r--r--tests/scanner/warnlib.c47
-rw-r--r--tests/scanner/warnlib.h39
-rw-r--r--tests/warn/Makefile.am7
-rw-r--r--tests/warn/annotationparser.h194
-rw-r--r--tests/warn/callback-invalid-scope.h11
-rw-r--r--tests/warn/invalid-array.h12
-rw-r--r--tests/warn/invalid-closure.h2
-rw-r--r--tests/warn/invalid-element-type.h53
-rw-r--r--tests/warn/invalid-option.h2
-rw-r--r--tests/warn/invalid-out.h2
-rw-r--r--tests/warn/invalid-transfer.h6
-rw-r--r--tests/warn/missing-element-type.h8
-rw-r--r--tests/warn/return-gobject.h2
-rw-r--r--tests/warn/unknown-parameter.h20
-rw-r--r--tests/warn/warningtester.py33
1437 files changed, 81729 insertions, 4767 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b6d6ebd2..26b59108 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,18 +1,12 @@
include $(top_srcdir)/common.mk
SUBDIRS = . scanner repository offsets warn
-DIST_SUBDIRS = $(SUBDIRS)
-if BUILD_DOCTOOL
-SUBDIRS += doctool
-else
-DIST_SUBDIRS += doctool
-endif
EXTRA_DIST=
BUILT_SOURCES=
CLEANFILES=
-INCLUDES = $(GOBJECT_CFLAGS)
+AM_CFLAGS = $(GOBJECT_CFLAGS)
LIBADD = $(GOBJECT_LIBS)
testsdir = $(datadir)/gobject-introspection-1.0/tests
@@ -22,19 +16,24 @@ tests_DATA = \
gimarshallingtests.c \
gimarshallingtests.h
-check_LTLIBRARIES = libeverything-1.0.la libgimarshallingtests-1.0.la
+EXTRA_LTLIBRARIES = libeverything-1.0.la libgimarshallingtests-1.0.la
libeverything_1_0_la_SOURCES = everything.c
libgimarshallingtests_1_0_la_SOURCES = gimarshallingtests.c
-EXTRA_DIST += gimarshallingtests.h
+EXTRA_DIST += \
+ gimarshallingtests.h \
+ gi-tester
BUILT_SOURCES += everything.c everything.h
CLEANFILES += \
$(BUILT_SOURCES) \
+ $(EXTRA_LTLIBRARIES) \
everything-stamp.h \
+ Everything-1.0.gir \
Everything-1.0.typelib \
+ GIMarshallingTests-1.0.gir \
GIMarshallingTests-1.0.typelib
everything-stamp.h: Makefile
@@ -67,5 +66,5 @@ GIMarshallingTests-1.0.gir: libgimarshallingtests-1.0.la Makefile
%.typelib: %.gir
$(AM_V_GEN) $(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) $< -o $@
-check: Everything-1.0.typelib GIMarshallingTests-1.0.typelib
-
+TESTS=Everything-1.0.typelib GIMarshallingTests-1.0.typelib
+LOG_COMPILER=$(srcdir)/gi-tester
diff --git a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-property-example.page b/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-property-example.page
deleted file mode 100644
index e7702a21..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-property-example.page
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.property-example"
- type="topic"
- style="property"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="property"/>
- <title type="link" role="topic">property-example</title>
- </info>
- <title>DocExamplesObj:property-example</title>
-<p>This is an example of how to document a property.</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-signal-example.page b/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-signal-example.page
deleted file mode 100644
index 548588c8..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-signal-example.page
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.signal-example"
- type="topic"
- style="signal"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="signal"/>
- <title type="link" role="topic">signal-example</title>
- </info>
- <title>DocExamplesObj::signal-example</title>
-<p>This is an example of how to document a signal.</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-vfunc.page b/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-vfunc.page
deleted file mode 100644
index 345d64b9..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj-vfunc.page
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.Obj-vfunc"
- type="topic"
- style="vfunc"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:api="http://projectmallard.org/experimental/api/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="vfunc"/>
- </info>
- <title>vfunc</title>
-<synopsis><code mime="text/x-csrc">
-</code></synopsis>
-<p>This is an example of how to document a vfunc.</p>
-
-<table>
-<tr>
-<td><p>first_arg :</p></td>
-<td><p>first argument</p></td>
-</tr>
-<tr>
-<td><p>Returns :</p></td>
-<td></td>
-</tr>
-</table>
-<p>Since 0.99</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.method.page b/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.method.page
deleted file mode 100644
index 5f27f96f..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.method.page
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-
-<page id="DocExamples.Obj.method"
- type="topic"
- style="method"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:api="http://projectmallard.org/experimental/api/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="method"/>
- <api:function>
- <api:returns>
- <api:type>gboolean</api:type>
- </api:returns>
- <api:name>doc_examples_obj_method</api:name>
- <api:arg>
- <api:type>DocExamplesObj *</api:type>
- <api:name>self</api:name>
- </api:arg>
- <api:arg>
- <api:type>gint</api:type>
- <api:name>first_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>gfloat</api:type>
- <api:name>second_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>gboolean</api:type>
- <api:name>boolean_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>gpointer</api:type>
- <api:name>pointer_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>gchar*</api:type>
- <api:name>string</api:name>
- </api:arg>
- </api:function>
- </info>
- <title>doc_examples_obj_method</title>
-<synopsis><code mime="text/x-csrc">
-gboolean doc_examples_obj_method (DocExamplesObj *self,
-gint first_arg,
- gfloat second_arg,
- gboolean boolean_arg,
- gpointer pointer_arg,
- gchar* string);
-</code></synopsis>
-<p>This is an example of how to document a method.</p><p>You should call this on a <link xref="DocExamples.Obj">DocExamples.Obj</link> that was
-created with <link xref="DocExamples.Obj.new">doc_examples_obj_new</link>.</p><p>This should be a %FALSEALARM.</p>
-
-<table>
-<tr>
-<td><p>first_arg :</p></td>
-<td><p>A <link xref="DocExamples.Obj">DocExamples.Obj</link>.</p></td>
-</tr>
-<tr>
-<td><p>second_arg :</p></td>
-<td><p>second argument</p></td>
-</tr>
-<tr>
-<td><p>boolean_arg :</p></td>
-<td><p>You should always pass TRUE.</p></td>
-</tr>
-<tr>
-<td><p>pointer_arg :</p></td>
-<td><p>If not NULL, do a thing.</p></td>
-</tr>
-<tr>
-<td><p>string :</p></td>
-<td><p>A NULL-terminated string.</p></td>
-</tr>
-<tr>
-<td><p>Returns :</p></td>
-<td><p>Either FALSE or something FALSE-y.</p></td>
-</tr>
-</table>
-<p>Since 0.99</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.new.page b/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.new.page
deleted file mode 100644
index c20d8c5f..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.new.page
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0"?>
-
-<page id="DocExamples.Obj.new"
- type="topic"
- style="constructor"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:api="http://projectmallard.org/experimental/api/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="constructor"/>
- <api:function>
- <api:returns>
- <api:type>DocExamplesObj*</api:type>
- </api:returns>
- <api:name>doc_examples_obj_new</api:name>
- </api:function>
- </info>
- <title>doc_examples_obj_new</title>
-<synopsis><code mime="text/x-csrc">
-DocExamplesObj* doc_examples_obj_new (void);
-</code></synopsis>
-
-
-<table>
-<tr>
-<td><p>Returns :</p></td>
-<td></td>
-</tr>
-</table>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.page b/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.page
deleted file mode 100644
index 0a46bd23..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.Obj.page
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.Obj"
- type="guide"
- style="class"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:api="http://projectmallard.org/experimental/api/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="index" group="class"/>
- </info>
- <title>DocExamplesObj</title>
-<p>This is an example of how to document a class</p><p>This class has a signal: <link xref="DocExamples.Obj-signal-example">DocExamples.Obj::signal-example</link>.</p><p>And also has a property: <link xref="DocExamples.Obj-property-example">DocExamples.Obj:property-example</link>.</p>
-<p>Since 0.99</p>
- <synopsis ui:expanded="no">
- <title>Hierarchy</title>
- <tree>
- <item>
- <code>GObjectObject</code>
- </item>
- </tree>
- </synopsis>
- <links type="topic" ui:expanded="yes"
- api:type="function" api:mime="text/x-csrc"
- groups="constructor" style="linklist">
- <title>Constructors</title>
- </links>
- <links type="topic" ui:expanded="yes"
- api:type="function" api:mime="text/x-csrc"
- groups="method" style="linklist">
- <title>Methods</title>
- </links>
- <links type="topic" ui:expanded="yes"
- api:type="function" api:mime="text/x-csrc"
- groups="function" style="linklist">
- <title>Functions</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="property" style="linklist">
- <title>Properties</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="signal" style="linklist">
- <title>Signals</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="#first #default #last" style="linklist">
- <title>Other</title>
- </links>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.ObjClass.page b/tests/doctool/DocExamples-1.0-C-expected/DocExamples.ObjClass.page
deleted file mode 100644
index c3a958d6..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/DocExamples.ObjClass.page
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.ObjClass"
- type="guide"
- style="record"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="index"/>
- </info>
- <title>DocExamplesObjClass</title>
-
-</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/index.page b/tests/doctool/DocExamples-1.0-C-expected/index.page
deleted file mode 100644
index a61ea759..00000000
--- a/tests/doctool/DocExamples-1.0-C-expected/index.page
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<page id="index"
- type="guide"
- style="namespace"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- </info>
- <title>DocExamples Documentation</title>
- <links type="topic" ui:expanded="yes" groups="class" style="linklist">
- <title>Classes</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="function" style="linklist">
- <title>Functions</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="#first #default #last" style="linklist">
- <title>Other</title>
- </links>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-property-example.page b/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-property-example.page
deleted file mode 100644
index be1e239b..00000000
--- a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-property-example.page
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.Obj-property-example"
- type="topic"
- style="property"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="property"/>
- <title type="link" role="topic">property-example</title>
- </info>
- <title>DocExamples.Obj:property-example</title>
-<synopsis><code mime="text/x-python">
-"property-example" {utf8: gint8} : Read / Write
-</code></synopsis>
-<p>This is an example of how to document a property.</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-signal-example.page b/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-signal-example.page
deleted file mode 100644
index d83d2d82..00000000
--- a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-signal-example.page
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.Obj-signal-example"
- type="topic"
- style="signal"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="signal"/>
- <title type="link" role="topic">signal-example</title>
- </info>
- <title>DocExamples.Obj::signal-example</title>
-<synopsis><code mime="text/x-python">
-def callback(obj, int_param, float_param, user_param1, ...)
-</code></synopsis>
-<p>This is an example of how to document a signal.</p>
-
-<table>
-<tr>
-<td><p>obj :</p></td>
-<td><p>instance of DocExamples.Obj that is emitting the signal</p></td>
-</tr>
-<tr>
-<td><p>int_param :</p></td>
-<td><p>a parameter of type int</p></td>
-</tr>
-<tr>
-<td><p>float_param :</p></td>
-<td><p>a parameter of type float</p></td>
-</tr>
-<tr>
-<td><p>user_param1 :</p></td>
-<td><p>first user parameter (if any) specified with the connect() method</p></td>
-</tr>
-<tr>
-<td><p>... :</p></td>
-<td><p>additional user parameters (if any)</p></td>
-</tr>
-</table>
-<p>Since 0.99</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-vfunc.page b/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-vfunc.page
deleted file mode 100644
index 4e394d2d..00000000
--- a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj-vfunc.page
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.Obj-vfunc"
- type="topic"
- style="vfunc"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:api="http://projectmallard.org/experimental/api/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="vfunc"/>
- <title type="link" role="topic">vfunc</title>
- </info>
- <title>DocExamples.Obj.vfunc</title>
-<synopsis><code mime="text/x-python">
-@accepts(gint)
-@returns(none)
-def do_vfunc(self, first_arg):
-</code></synopsis>
-<p>This is an example of how to document a vfunc.</p>
-
-<table>
-<tr>
-<td><p>first_arg :</p></td>
-<td><p>first argument</p></td>
-</tr>
-</table>
-<p>Since 0.99</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.method.page b/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.method.page
deleted file mode 100644
index 02f3a002..00000000
--- a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.method.page
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-
-<page id="DocExamples.Obj.method"
- type="topic"
- style="method"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:api="http://projectmallard.org/experimental/api/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="DocExamples.Obj" group="method"/>
- <api:function>
- <api:returns>
- <api:type>gboolean</api:type>
- </api:returns>
- <api:name>doc_examples_obj_method</api:name>
- <api:arg>
- <api:type>DocExamplesObj *</api:type>
- <api:name>self</api:name>
- </api:arg>
- <api:arg>
- <api:type>gint</api:type>
- <api:name>first_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>gfloat</api:type>
- <api:name>second_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>gboolean</api:type>
- <api:name>boolean_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>gpointer</api:type>
- <api:name>pointer_arg</api:name>
- </api:arg>
- <api:arg>
- <api:type>utf8</api:type>
- <api:name>string</api:name>
- </api:arg>
- </api:function>
- </info>
- <title>method</title>
-<synopsis><code mime="text/x-python">
-@accepts(gint, gfloat, gboolean, gpointer, utf8)
-@returns(gboolean)
-def method(first_arg, second_arg, boolean_arg, pointer_arg, string)
-</code></synopsis>
-<p>This is an example of how to document a method.</p><p>You should call this on a <link xref="DocExamples.Obj">DocExamples.Obj</link> that was
-created with <link xref="DocExamples.Obj.new">Obj.new</link>.</p><p>This should be a %FALSEALARM.</p>
-
-<table>
-<tr>
-<td><p>first_arg :</p></td>
-<td><p>A <link xref="DocExamples.Obj">DocExamples.Obj</link>.</p></td>
-</tr>
-<tr>
-<td><p>second_arg :</p></td>
-<td><p>second argument</p></td>
-</tr>
-<tr>
-<td><p>boolean_arg :</p></td>
-<td><p>You should always pass True.</p></td>
-</tr>
-<tr>
-<td><p>pointer_arg :</p></td>
-<td><p>If not None, do a thing.</p></td>
-</tr>
-<tr>
-<td><p>string :</p></td>
-<td><p>A None-terminated string.</p></td>
-</tr>
-<tr>
-<td><p>Returns :</p></td>
-<td><p>Either False or something False-y.</p></td>
-</tr>
-</table>
-<p>Since 0.99</p>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.page b/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.page
deleted file mode 100644
index 071abf1a..00000000
--- a/tests/doctool/DocExamples-1.0-Python-expected/DocExamples.Obj.page
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<page id="DocExamples.Obj"
- type="guide"
- style="class"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:api="http://projectmallard.org/experimental/api/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- <link type="guide" xref="index" group="class"/>
- </info>
- <title>DocExamples.Obj</title>
-<p>This is an example of how to document a class</p><p>This class has a signal: <link xref="DocExamples.Obj-signal-example">DocExamples.Obj::signal-example</link>.</p><p>And also has a property: <link xref="DocExamples.Obj-property-example">DocExamples.Obj:property-example</link>.</p>
-
- <synopsis><code>
-from gi.repository import DocExamples
-
-obj = DocExamples.Obj(<link xref='DocExamples.Obj-property-example'>property_example</link>=value) </code></synopsis>
-
-<p>Since 0.99</p>
- <synopsis>
- <title>Hierarchy</title>
- <tree>
- <item>
- <code>GObject.Object</code>
- <item>
- <code>DocExamples.Obj</code>
- </item>
- </item>
- </tree>
- </synopsis>
- <links type="topic" ui:expanded="yes"
- api:type="function" api:mime="text/x-python"
- groups="method" style="linklist">
- <title>Methods</title>
- </links>
- <links type="topic" ui:expanded="yes"
- api:type="function" api:mime="text/x-python"
- groups="function" style="linklist">
- <title>Functions</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="property" style="linklist">
- <title>Properties</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="signal" style="linklist">
- <title>Signals</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="vfunc" style="linklist">
- <title>Virtual functions</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="#first #default #last" style="linklist">
- <title>Other</title>
- </links>
-</page>
diff --git a/tests/doctool/DocExamples-1.0-Python-expected/index.page b/tests/doctool/DocExamples-1.0-Python-expected/index.page
deleted file mode 100644
index fc6a9b7d..00000000
--- a/tests/doctool/DocExamples-1.0-Python-expected/index.page
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<page id="index"
- type="guide"
- style="namespace"
- xmlns="http://projectmallard.org/1.0/"
- xmlns:ui="http://projectmallard.org/experimental/ui/">
- <info>
- </info>
- <title>DocExamples Documentation</title>
- <links type="topic" ui:expanded="yes" groups="class">
- <title>Classes</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="function">
- <title>Functions</title>
- </links>
- <links type="topic" ui:expanded="yes" groups="#first #default #last">
- <title>Other</title>
- </links>
-</page>
diff --git a/tests/doctool/Makefile.am b/tests/doctool/Makefile.am
deleted file mode 100644
index 60183d00..00000000
--- a/tests/doctool/Makefile.am
+++ /dev/null
@@ -1,45 +0,0 @@
-include $(top_srcdir)/common.mk
-include $(top_srcdir)/Makefile.introspection
-
-INTROSPECTION_SCANNER_ARGS += --warn-all --warn-error -I.
-
-check_LTLIBRARIES = \
- libdocexamples.la
-
-AM_CFLAGS = $(GOBJECT_CFLAGS)
-LIBS = $(GOBJECT_LIBS)
-
-libdocexamples_la_SOURCES = $(srcdir)/doc-examples-obj.c $(srcdir)/doc-examples-obj.h
-
-GIRS =
-TYPELIBS = $(GIRS:.gir=.typelib)
-INTROSPECTION_GIRS = $(GIRS)
-CHECK_TARGETS = $(GIRS:.gir=-C.page.check) $(GIRS:.gir=-Python.page.check)
-MALLARD_DIRS = $(GIRS:.gir=-C) $(GIRS:.gir=-Python)
-EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
-CLEANFILES = $(TYPELIBS) $(GIRS)
-BUILT_SOURCES = $(MALLARD_DIRS)
-EXTRA_DIST = $(EXPECTED_MALLARD_DIRS)
-
-DocExamples-1.0.gir: $(top_builddir)/Gio-2.0.gir libdocexamples.la
-DocExamples_1_0_gir_LIBS = libdocexamples.la
-DocExamples_1_0_gir_INCLUDES = cairo-1.0 Gio-2.0
-DocExamples_1_0_gir_FILES = $(libdocexamples_la_SOURCES)
-#DocExamples_1_0_gir_SCANNERFLAGS = --c-include="regress.h"
-GIRS += DocExamples-1.0.gir
-
-%-C: %.gir
- mkdir $*-C ; rm -f $*-C/*.page ; $(INTROSPECTION_DOCTOOL) --language C $*.gir -o $*-C/ && echo " GEN $*-C/index.page"
-
-%-Python: %.gir
- mkdir $*-Python ; rm -f $*-Python/*.page ; $(INTROSPECTION_DOCTOOL) --language Python $*.gir -o $*-Python/ && echo " GEN $*-Python/index.page"
-
-%-C.page.check: %-C
- @diff -u -U 10 $(srcdir)/$*-C-expected $*-C && echo " TEST $*-C" && rm -rf $*-C
-
-%-Python.page.check: %-Python
- @diff -u -U 10 $(srcdir)/$*-Python-expected $*-Python && echo " TEST $*-Python" && rm -rf $*-Python
-
-check-local: $(CHECK_TARGETS) $(TYPELIBS)
-clean-local:
- @rm -rf $(MALLARD_DIRS)
diff --git a/tests/doctool/doc-examples-obj.c b/tests/doctool/doc-examples-obj.c
deleted file mode 100644
index 44360d9d..00000000
--- a/tests/doctool/doc-examples-obj.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* doc-examples-obj.c */
-
-#include "doc-examples-obj.h"
-
-/**
- * DocExamplesObj:
- *
- * This is an example of how to document a class
- *
- * This class has a signal: #DocExamplesObj::signal-example.
- *
- * And also has a property: #DocExamplesObj:property-example.
- *
- * Since: 0.99
- */
-
-G_DEFINE_TYPE (DocExamplesObj, doc_examples_obj, G_TYPE_OBJECT)
-
-static void
-doc_examples_obj_get_property (GObject *object,
- guint property_id,
- GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id)
- {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- }
-}
-
-static void
-doc_examples_obj_set_property (GObject *object,
- guint property_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id)
- {
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- }
-}
-
-static void
-doc_examples_obj_class_init (DocExamplesObjClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- GParamSpec *pspec;
-
- gobject_class->get_property = doc_examples_obj_get_property;
- gobject_class->set_property = doc_examples_obj_set_property;
-
- /**
- * DocExamplesObj::signal-example:
- * @obj:
- * @int_param: a parameter of type int
- * @float_param: a parameter of type float
- *
- * This is an example of how to document a signal.
- *
- * Since: 0.99
- */
- g_signal_new ("signal-example",
- G_TYPE_FROM_CLASS (gobject_class),
- G_SIGNAL_RUN_LAST,
- 0, NULL, NULL,
- NULL,
- G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
-
- /**
- * DocExamplesObj:property-example:
- *
- * This is an example of how to document a property.
- *
- * Type: GLib.HashTable(utf8,gint8)
- * Transfer: container
- *
- * Since: 0.99
- */
- pspec = g_param_spec_boxed ("property-example",
- "Example property",
- "A contained GHashTable",
- G_TYPE_HASH_TABLE,
- G_PARAM_READWRITE);
- g_object_class_install_property (gobject_class,
- 1,
- pspec);
-}
-
-static void
-doc_examples_obj_init (DocExamplesObj *self)
-{
-
-}
-
-DocExamplesObj *
-doc_examples_obj_new (void)
-{
- return g_object_new (DOC_EXAMPLES_TYPE_OBJ, NULL);
-}
-
-/**
- * doc_examples_obj_method:
- * @first_arg: A #DocExamplesObj.
- * @second_arg: second argument
- * @boolean_arg: You should always pass %TRUE.
- * @pointer_arg: (allow-none): If not %NULL, do a thing.
- * @string: A %NULL-terminated string.
- *
- * This is an example of how to document a method.
- *
- * You should call this on a #DocExamplesObj that was
- * created with doc_examples_obj_new().
- *
- * This should be a %FALSEALARM.
- *
- * Since: 0.99
- *
- * Returns: Either %FALSE or something %FALSE-y.
- */
-gboolean
-doc_examples_obj_method (DocExamplesObj *self, gint first_arg, gfloat second_arg,
- gboolean boolean_arg, gpointer pointer_arg, gchar *string)
-{
- return FALSE;
-}
diff --git a/tests/doctool/doc-examples-obj.h b/tests/doctool/doc-examples-obj.h
deleted file mode 100644
index c8840d7a..00000000
--- a/tests/doctool/doc-examples-obj.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* doc-examples-obj.h */
-
-#ifndef _DOC_EXAMPLES_OBJ_H
-#define _DOC_EXAMPLES_OBJ_H
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define DOC_EXAMPLES_TYPE_OBJ doc_examples_obj_get_type()
-
-#define DOC_EXAMPLES_OBJ(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
- DOC_EXAMPLES_TYPE_OBJ, DocExamplesObj))
-
-#define DOC_EXAMPLES_OBJ_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), \
- DOC_EXAMPLES_TYPE_OBJ, DocExamplesObjClass))
-
-#define DOC_EXAMPLES_IS_OBJ(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
- DOC_EXAMPLES_TYPE_OBJ))
-
-#define DOC_EXAMPLES_IS_OBJ_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), \
- DOC_EXAMPLES_TYPE_OBJ))
-
-#define DOC_EXAMPLES_OBJ_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), \
- DOC_EXAMPLES_TYPE_OBJ, DocExamplesObjClass))
-
-typedef struct _DocExamplesObj DocExamplesObj;
-typedef struct _DocExamplesObjClass DocExamplesObjClass;
-
-struct _DocExamplesObj
-{
- GObject parent;
-};
-
-struct _DocExamplesObjClass
-{
- GObjectClass parent_class;
-
- /**
- * DocExamplesObjClass::vfunc:
- * @self:
- * @first_arg: first argument
- *
- * This is an example of how to document a vfunc.
- *
- * Since: 0.99
- */
- void (*vfunc) (DocExamplesObj *self, gint first_arg);
-};
-
-GType doc_examples_obj_get_type (void) G_GNUC_CONST;
-
-DocExamplesObj *doc_examples_obj_new (void);
-gboolean doc_examples_obj_method (DocExamplesObj *self, gint first_arg, gfloat second_arg,
- gboolean boolean_arg, gpointer pointer_arg, gchar *string);
-
-G_END_DECLS
-
-#endif /* _DOC_EXAMPLES_OBJ_H */
diff --git a/tests/gi-tester b/tests/gi-tester
new file mode 100755
index 00000000..51199dde
--- /dev/null
+++ b/tests/gi-tester
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+
+targetname=$1
+
+# Note the target name for the documentation targets (-C, -Python, -Gjs)
+# incorrectly include a relative path to the srcdir, strip that off for usage
+# in directory diffs.
+targetbase=${targetname##*/}
+
+case $targetname in
+*.gir)
+ len=${#targetname}
+ limit=$(expr $len - 4)
+ diff -u -U 10 ${srcdir}/${targetname:0:${limit}}-expected.gir ${builddir}/${targetname}
+ exit $?
+ ;;
+*.typelib)
+ # Do nothing for typelibs, this just ensures they build as part of the tests
+ exit 0
+ ;;
+*-C)
+ diff -r -u -w -B -U 10 ${srcdir}/${targetbase}-expected ${builddir}/${targetbase}
+ exit $?
+ ;;
+*-Python)
+ diff -r -u -w -B -U 10 ${srcdir}/${targetbase}-expected ${builddir}/${targetbase}
+ exit $?
+ ;;
+*-Gjs)
+ diff -r -u -w -B -U 10 ${srcdir}/${targetbase}-expected ${builddir}/${targetbase}
+ exit $?
+ ;;
+*-sections.txt)
+ diff -u -w -B -U 10 ${srcdir}/${targetname::-4}-expected.txt ${builddir}/${targetname}
+ exit $?
+ ;;
+*.py)
+ if [[ -z "${TESTARGS}" ]]; then
+ # Run as regular Python file if TESTARGS is empty
+ PYTHONPATH=${top_builddir}:${top_srcdir} ${PYTHON} ${targetname}
+ exit $?
+ else
+ # Run as Python unittest module with TESTARGS concatenated to the basename of target.
+ # Ensure we are in the directory containing the python module first.
+ export PYTHONPATH=$(readlink -f ${top_builddir}):$(readlink -f ${top_srcdir})
+ modulename=$(basename "${targetbase}" .py)
+ (cd $(dirname ${targetname}) && ${PYTHON} -m unittest -v "${modulename}.${TESTARGS}")
+ exit $?
+ fi
+ ;;
+*)
+ echo $"Usage: [TESTARGS=<args>] gi-tester <targetname>"
+ exit 1
+ ;;
+esac
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c
index 3eb6e075..bd3fe811 100644
--- a/tests/gimarshallingtests.c
+++ b/tests/gimarshallingtests.c
@@ -1,79 +1,79 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
- * vim: tabstop=4 shiftwidth=4 expandtab
+ *vim: tabstop=4 shiftwidth=4 expandtab
*/
#include "gimarshallingtests.h"
#include <string.h>
-static void gi_marshalling_tests_boxed_struct_free (GIMarshallingTestsBoxedStruct *struct_);
+static void gi_marshalling_tests_boxed_struct_free (GIMarshallingTestsBoxedStruct *v);
/* Booleans */
gboolean
gi_marshalling_tests_boolean_return_true (void)
{
- return TRUE;
+ return TRUE;
}
gboolean
gi_marshalling_tests_boolean_return_false (void)
{
- return FALSE;
+ return FALSE;
}
void
-gi_marshalling_tests_boolean_in_true (gboolean bool_)
+gi_marshalling_tests_boolean_in_true (gboolean v)
{
- g_assert (bool_ == TRUE);
+ g_assert (v == TRUE);
}
void
-gi_marshalling_tests_boolean_in_false (gboolean bool_)
+gi_marshalling_tests_boolean_in_false (gboolean v)
{
- g_assert (bool_ == FALSE);
+ g_assert (v == FALSE);
}
/**
* gi_marshalling_tests_boolean_out_true:
- * @bool_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_boolean_out_true (gboolean *bool_)
+gi_marshalling_tests_boolean_out_true (gboolean *v)
{
- *bool_ = TRUE;
+ *v = TRUE;
}
/**
* gi_marshalling_tests_boolean_out_false:
- * @bool_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_boolean_out_false (gboolean *bool_)
+gi_marshalling_tests_boolean_out_false (gboolean *v)
{
- *bool_ = FALSE;
+ *v = FALSE;
}
/**
* gi_marshalling_tests_boolean_inout_true_false:
- * @bool_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_boolean_inout_true_false (gboolean *bool_)
+gi_marshalling_tests_boolean_inout_true_false (gboolean *v)
{
- g_assert (*bool_ == TRUE);
- *bool_ = FALSE;
+ g_assert (*v == TRUE);
+ *v = FALSE;
}
/**
* gi_marshalling_tests_boolean_inout_false_true:
- * @bool_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_boolean_inout_false_true (gboolean *bool_)
+gi_marshalling_tests_boolean_inout_false_true (gboolean *v)
{
- g_assert (*bool_ == FALSE);
- *bool_ = TRUE;
+ g_assert (*v == FALSE);
+ *v = TRUE;
}
@@ -82,429 +82,429 @@ gi_marshalling_tests_boolean_inout_false_true (gboolean *bool_)
gint8
gi_marshalling_tests_int8_return_max (void)
{
- return G_MAXINT8;
+ return G_MAXINT8;
}
gint8
gi_marshalling_tests_int8_return_min (void)
{
- return G_MININT8;
+ return G_MININT8;
}
void
-gi_marshalling_tests_int8_in_max (gint8 int8)
+gi_marshalling_tests_int8_in_max (gint8 v)
{
- g_assert_cmpint(int8, ==, G_MAXINT8);
+ g_assert_cmpint (v, ==, G_MAXINT8);
}
void
-gi_marshalling_tests_int8_in_min (gint8 int8)
+gi_marshalling_tests_int8_in_min (gint8 v)
{
- g_assert_cmpint(int8, ==, G_MININT8);
+ g_assert_cmpint (v, ==, G_MININT8);
}
/**
* gi_marshalling_tests_int8_out_max:
- * @int8: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int8_out_max (gint8 *int8)
+gi_marshalling_tests_int8_out_max (gint8 *v)
{
- *int8 = G_MAXINT8;
+ *v = G_MAXINT8;
}
/**
* gi_marshalling_tests_int8_out_min:
- * @int8: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int8_out_min (gint8 *int8)
+gi_marshalling_tests_int8_out_min (gint8 *v)
{
- *int8 = G_MININT8;
+ *v = G_MININT8;
}
/**
* gi_marshalling_tests_int8_inout_max_min:
- * @int8: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int8_inout_max_min (gint8 *int8)
+gi_marshalling_tests_int8_inout_max_min (gint8 *v)
{
- g_assert_cmpint(*int8, ==, G_MAXINT8);
- *int8 = G_MININT8;
+ g_assert_cmpint (*v, ==, G_MAXINT8);
+ *v = G_MININT8;
}
/**
* gi_marshalling_tests_int8_inout_min_max:
- * @int8: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int8_inout_min_max (gint8 *int8)
+gi_marshalling_tests_int8_inout_min_max (gint8 *v)
{
- g_assert_cmpint(*int8, ==, G_MININT8);
- *int8 = G_MAXINT8;
+ g_assert_cmpint (*v, ==, G_MININT8);
+ *v = G_MAXINT8;
}
guint8
gi_marshalling_tests_uint8_return (void)
{
- return G_MAXUINT8;
+ return G_MAXUINT8;
}
void
-gi_marshalling_tests_uint8_in (guint8 uint8)
+gi_marshalling_tests_uint8_in (guint8 v)
{
- g_assert_cmpuint(uint8, ==, G_MAXUINT8);
+ g_assert_cmpuint (v, ==, G_MAXUINT8);
}
/**
* gi_marshalling_tests_uint8_out:
- * @uint8: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_uint8_out (guint8 *uint8)
+gi_marshalling_tests_uint8_out (guint8 *v)
{
- *uint8 = G_MAXUINT8;
+ *v = G_MAXUINT8;
}
/**
* gi_marshalling_tests_uint8_inout:
- * @uint8: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_uint8_inout (guint8 *uint8)
+gi_marshalling_tests_uint8_inout (guint8 *v)
{
- g_assert_cmpuint(*uint8, ==, G_MAXUINT8);
- *uint8 = 0;
+ g_assert_cmpuint (*v, ==, G_MAXUINT8);
+ *v = 0;
}
gint16
gi_marshalling_tests_int16_return_max (void)
{
- return G_MAXINT16;
+ return G_MAXINT16;
}
gint16
gi_marshalling_tests_int16_return_min (void)
{
- return G_MININT16;
+ return G_MININT16;
}
void
-gi_marshalling_tests_int16_in_max (gint16 int16)
+gi_marshalling_tests_int16_in_max (gint16 v)
{
- g_assert_cmpint(int16, ==, G_MAXINT16);
+ g_assert_cmpint (v, ==, G_MAXINT16);
}
void
-gi_marshalling_tests_int16_in_min (gint16 int16)
+gi_marshalling_tests_int16_in_min (gint16 v)
{
- g_assert_cmpint(int16, ==, G_MININT16);
+ g_assert_cmpint (v, ==, G_MININT16);
}
/**
* gi_marshalling_tests_int16_out_max:
- * @int16: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int16_out_max (gint16 *int16)
+gi_marshalling_tests_int16_out_max (gint16 *v)
{
- *int16 = G_MAXINT16;
+ *v = G_MAXINT16;
}
/**
* gi_marshalling_tests_int16_out_min:
- * @int16: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int16_out_min (gint16 *int16)
+gi_marshalling_tests_int16_out_min (gint16 *v)
{
- *int16 = G_MININT16;
+ *v = G_MININT16;
}
/**
* gi_marshalling_tests_int16_inout_max_min:
- * @int16: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int16_inout_max_min (gint16 *int16)
+gi_marshalling_tests_int16_inout_max_min (gint16 *v)
{
- g_assert_cmpint(*int16, ==, G_MAXINT16);
- *int16 = G_MININT16;
+ g_assert_cmpint (*v, ==, G_MAXINT16);
+ *v = G_MININT16;
}
/**
* gi_marshalling_tests_int16_inout_min_max:
- * @int16: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int16_inout_min_max (gint16 *int16)
+gi_marshalling_tests_int16_inout_min_max (gint16 *v)
{
- g_assert_cmpint(*int16, ==, G_MININT16);
- *int16 = G_MAXINT16;
+ g_assert_cmpint (*v, ==, G_MININT16);
+ *v = G_MAXINT16;
}
guint16
gi_marshalling_tests_uint16_return (void)
{
- return G_MAXUINT16;
+ return G_MAXUINT16;
}
void
-gi_marshalling_tests_uint16_in (guint16 uint16)
+gi_marshalling_tests_uint16_in (guint16 v)
{
- g_assert_cmpuint(uint16, ==, G_MAXUINT16);
+ g_assert_cmpuint (v, ==, G_MAXUINT16);
}
/**
* gi_marshalling_tests_uint16_out:
- * @uint16: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_uint16_out (guint16 *uint16)
+gi_marshalling_tests_uint16_out (guint16 *v)
{
- *uint16 = G_MAXUINT16;
+ *v = G_MAXUINT16;
}
/**
* gi_marshalling_tests_uint16_inout:
- * @uint16: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_uint16_inout (guint16 *uint16)
+gi_marshalling_tests_uint16_inout (guint16 *v)
{
- g_assert_cmpuint(*uint16, ==, G_MAXUINT16);
- *uint16 = 0;
+ g_assert_cmpuint (*v, ==, G_MAXUINT16);
+ *v = 0;
}
gint32
gi_marshalling_tests_int32_return_max (void)
{
- return G_MAXINT32;
+ return G_MAXINT32;
}
gint32
gi_marshalling_tests_int32_return_min (void)
{
- return G_MININT32;
+ return G_MININT32;
}
void
-gi_marshalling_tests_int32_in_max (gint32 int32)
+gi_marshalling_tests_int32_in_max (gint32 v)
{
- g_assert_cmpint(int32, ==, G_MAXINT32);
+ g_assert_cmpint (v, ==, G_MAXINT32);
}
void
-gi_marshalling_tests_int32_in_min (gint32 int32)
+gi_marshalling_tests_int32_in_min (gint32 v)
{
- g_assert_cmpint(int32, ==, G_MININT32);
+ g_assert_cmpint (v, ==, G_MININT32);
}
/**
* gi_marshalling_tests_int32_out_max:
- * @int32: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int32_out_max (gint32 *int32)
+gi_marshalling_tests_int32_out_max (gint32 *v)
{
- *int32 = G_MAXINT32;
+ *v = G_MAXINT32;
}
/**
* gi_marshalling_tests_int32_out_min:
- * @int32: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int32_out_min (gint32 *int32)
+gi_marshalling_tests_int32_out_min (gint32 *v)
{
- *int32 = G_MININT32;
+ *v = G_MININT32;
}
/**
* gi_marshalling_tests_int32_inout_max_min:
- * @int32: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int32_inout_max_min (gint32 *int32)
+gi_marshalling_tests_int32_inout_max_min (gint32 *v)
{
- g_assert_cmpint(*int32, ==, G_MAXINT32);
- *int32 = G_MININT32;
+ g_assert_cmpint (*v, ==, G_MAXINT32);
+ *v = G_MININT32;
}
/**
* gi_marshalling_tests_int32_inout_min_max:
- * @int32: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int32_inout_min_max (gint32 *int32)
+gi_marshalling_tests_int32_inout_min_max (gint32 *v)
{
- g_assert_cmpint(*int32, ==, G_MININT32);
- *int32 = G_MAXINT32;
+ g_assert_cmpint (*v, ==, G_MININT32);
+ *v = G_MAXINT32;
}
guint32
gi_marshalling_tests_uint32_return (void)
{
- return G_MAXUINT32;
+ return G_MAXUINT32;
}
void
-gi_marshalling_tests_uint32_in (guint32 uint32)
+gi_marshalling_tests_uint32_in (guint32 v)
{
- g_assert_cmpuint(uint32, ==, G_MAXUINT32);
+ g_assert_cmpuint (v, ==, G_MAXUINT32);
}
/**
* gi_marshalling_tests_uint32_out:
- * @uint32: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_uint32_out (guint32 *uint32)
+gi_marshalling_tests_uint32_out (guint32 *v)
{
- *uint32 = G_MAXUINT32;
+ *v = G_MAXUINT32;
}
/**
* gi_marshalling_tests_uint32_inout:
- * @uint32: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_uint32_inout (guint32 *uint32)
+gi_marshalling_tests_uint32_inout (guint32 *v)
{
- g_assert_cmpuint(*uint32, ==, G_MAXUINT32);
- *uint32 = 0;
+ g_assert_cmpuint (*v, ==, G_MAXUINT32);
+ *v = 0;
}
gint64
gi_marshalling_tests_int64_return_max (void)
{
- return G_MAXINT64;
+ return G_MAXINT64;
}
gint64
gi_marshalling_tests_int64_return_min (void)
{
- return G_MININT64;
+ return G_MININT64;
}
void
-gi_marshalling_tests_int64_in_max (gint64 int64)
+gi_marshalling_tests_int64_in_max (gint64 v)
{
- g_assert_cmpint(int64, ==, G_MAXINT64);
+ g_assert_cmpint (v, ==, G_MAXINT64);
}
void
-gi_marshalling_tests_int64_in_min (gint64 int64)
+gi_marshalling_tests_int64_in_min (gint64 v)
{
- g_assert_cmpint(int64, ==, G_MININT64);
+ g_assert_cmpint (v, ==, G_MININT64);
}
/**
* gi_marshalling_tests_int64_out_max:
- * @int64: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int64_out_max (gint64 *int64)
+gi_marshalling_tests_int64_out_max (gint64 *v)
{
- *int64 = G_MAXINT64;
+ *v = G_MAXINT64;
}
/**
* gi_marshalling_tests_int64_out_min:
- * @int64: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_int64_out_min (gint64 *int64)
+gi_marshalling_tests_int64_out_min (gint64 *v)
{
- *int64 = G_MININT64;
+ *v = G_MININT64;
}
/**
* gi_marshalling_tests_int64_inout_max_min:
- * @int64: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int64_inout_max_min (gint64 *int64)
+gi_marshalling_tests_int64_inout_max_min (gint64 *v)
{
- g_assert_cmpint(*int64, ==, G_MAXINT64);
- *int64 = G_MININT64;
+ g_assert_cmpint (*v, ==, G_MAXINT64);
+ *v = G_MININT64;
}
/**
* gi_marshalling_tests_int64_inout_min_max:
- * @int64: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_int64_inout_min_max (gint64 *int64)
+gi_marshalling_tests_int64_inout_min_max (gint64 *v)
{
- g_assert_cmpint(*int64, ==, G_MININT64);
- *int64 = G_MAXINT64;
+ g_assert_cmpint (*v, ==, G_MININT64);
+ *v = G_MAXINT64;
}
guint64
gi_marshalling_tests_uint64_return (void)
{
- return G_MAXUINT64;
+ return G_MAXUINT64;
}
void
-gi_marshalling_tests_uint64_in (guint64 uint64)
+gi_marshalling_tests_uint64_in (guint64 v)
{
- g_assert_cmpuint(uint64, ==, G_MAXUINT64);
+ g_assert_cmpuint (v, ==, G_MAXUINT64);
}
/**
* gi_marshalling_tests_uint64_out:
- * @uint64: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_uint64_out (guint64 *uint64)
+gi_marshalling_tests_uint64_out (guint64 *v)
{
- *uint64 = G_MAXUINT64;
+ *v = G_MAXUINT64;
}
/**
* gi_marshalling_tests_uint64_inout:
- * @uint64: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_uint64_inout (guint64 *uint64)
+gi_marshalling_tests_uint64_inout (guint64 *v)
{
- g_assert_cmpuint(*uint64, ==, G_MAXUINT64);
- *uint64 = 0;
+ g_assert_cmpuint (*v, ==, G_MAXUINT64);
+ *v = 0;
}
gshort
gi_marshalling_tests_short_return_max (void)
{
- return G_MAXSHORT;
+ return G_MAXSHORT;
}
gshort
gi_marshalling_tests_short_return_min (void)
{
- return G_MINSHORT;
+ return G_MINSHORT;
}
void
gi_marshalling_tests_short_in_max (gshort short_)
{
- g_assert_cmpint(short_, ==, G_MAXSHORT);
+ g_assert_cmpint (short_, ==, G_MAXSHORT);
}
void
gi_marshalling_tests_short_in_min (gshort short_)
{
- g_assert_cmpint(short_, ==, G_MINSHORT);
+ g_assert_cmpint (short_, ==, G_MINSHORT);
}
/**
@@ -514,7 +514,7 @@ gi_marshalling_tests_short_in_min (gshort short_)
void
gi_marshalling_tests_short_out_max (gshort *short_)
{
- *short_ = G_MAXSHORT;
+ *short_ = G_MAXSHORT;
}
/**
@@ -524,7 +524,7 @@ gi_marshalling_tests_short_out_max (gshort *short_)
void
gi_marshalling_tests_short_out_min (gshort *short_)
{
- *short_ = G_MINSHORT;
+ *short_ = G_MINSHORT;
}
/**
@@ -534,8 +534,8 @@ gi_marshalling_tests_short_out_min (gshort *short_)
void
gi_marshalling_tests_short_inout_max_min (gshort *short_)
{
- g_assert_cmpint(*short_, ==, G_MAXSHORT);
- *short_ = G_MINSHORT;
+ g_assert_cmpint (*short_, ==, G_MAXSHORT);
+ *short_ = G_MINSHORT;
}
/**
@@ -545,21 +545,21 @@ gi_marshalling_tests_short_inout_max_min (gshort *short_)
void
gi_marshalling_tests_short_inout_min_max (gshort *short_)
{
- g_assert_cmpint(*short_, ==, G_MINSHORT);
- *short_ = G_MAXSHORT;
+ g_assert_cmpint (*short_, ==, G_MINSHORT);
+ *short_ = G_MAXSHORT;
}
gushort
gi_marshalling_tests_ushort_return (void)
{
- return G_MAXUSHORT;
+ return G_MAXUSHORT;
}
void
gi_marshalling_tests_ushort_in (gushort ushort_)
{
- g_assert_cmpuint(ushort_, ==, G_MAXUSHORT);
+ g_assert_cmpuint (ushort_, ==, G_MAXUSHORT);
}
/**
@@ -569,7 +569,7 @@ gi_marshalling_tests_ushort_in (gushort ushort_)
void
gi_marshalling_tests_ushort_out (gushort *ushort_)
{
- *ushort_ = G_MAXUSHORT;
+ *ushort_ = G_MAXUSHORT;
}
/**
@@ -579,33 +579,33 @@ gi_marshalling_tests_ushort_out (gushort *ushort_)
void
gi_marshalling_tests_ushort_inout (gushort *ushort_)
{
- g_assert_cmpuint(*ushort_, ==, G_MAXUSHORT);
- *ushort_ = 0;
+ g_assert_cmpuint (*ushort_, ==, G_MAXUSHORT);
+ *ushort_ = 0;
}
gint
gi_marshalling_tests_int_return_max (void)
{
- return G_MAXINT;
+ return G_MAXINT;
}
gint
gi_marshalling_tests_int_return_min (void)
{
- return G_MININT;
+ return G_MININT;
}
void
gi_marshalling_tests_int_in_max (gint int_)
{
- g_assert_cmpint(int_, ==, G_MAXINT);
+ g_assert_cmpint (int_, ==, G_MAXINT);
}
void
gi_marshalling_tests_int_in_min (gint int_)
{
- g_assert_cmpint(int_, ==, G_MININT);
+ g_assert_cmpint (int_, ==, G_MININT);
}
/**
@@ -615,7 +615,7 @@ gi_marshalling_tests_int_in_min (gint int_)
void
gi_marshalling_tests_int_out_max (gint *int_)
{
- *int_ = G_MAXINT;
+ *int_ = G_MAXINT;
}
/**
@@ -625,7 +625,7 @@ gi_marshalling_tests_int_out_max (gint *int_)
void
gi_marshalling_tests_int_out_min (gint *int_)
{
- *int_ = G_MININT;
+ *int_ = G_MININT;
}
/**
@@ -635,8 +635,8 @@ gi_marshalling_tests_int_out_min (gint *int_)
void
gi_marshalling_tests_int_inout_max_min (gint *int_)
{
- g_assert_cmpint(*int_, ==, G_MAXINT);
- *int_ = G_MININT;
+ g_assert_cmpint (*int_, ==, G_MAXINT);
+ *int_ = G_MININT;
}
/**
@@ -646,21 +646,21 @@ gi_marshalling_tests_int_inout_max_min (gint *int_)
void
gi_marshalling_tests_int_inout_min_max (gint *int_)
{
- g_assert_cmpint(*int_, ==, G_MININT);
- *int_ = G_MAXINT;
+ g_assert_cmpint (*int_, ==, G_MININT);
+ *int_ = G_MAXINT;
}
guint
gi_marshalling_tests_uint_return (void)
{
- return G_MAXUINT;
+ return G_MAXUINT;
}
void
gi_marshalling_tests_uint_in (guint uint_)
{
- g_assert_cmpuint(uint_, ==, G_MAXUINT);
+ g_assert_cmpuint (uint_, ==, G_MAXUINT);
}
/**
@@ -670,7 +670,7 @@ gi_marshalling_tests_uint_in (guint uint_)
void
gi_marshalling_tests_uint_out (guint *uint_)
{
- *uint_ = G_MAXUINT;
+ *uint_ = G_MAXUINT;
}
/**
@@ -680,33 +680,33 @@ gi_marshalling_tests_uint_out (guint *uint_)
void
gi_marshalling_tests_uint_inout (guint *uint_)
{
- g_assert_cmpuint(*uint_, ==, G_MAXUINT);
- *uint_ = 0;
+ g_assert_cmpuint (*uint_, ==, G_MAXUINT);
+ *uint_ = 0;
}
glong
gi_marshalling_tests_long_return_max (void)
{
- return G_MAXLONG;
+ return G_MAXLONG;
}
glong
gi_marshalling_tests_long_return_min (void)
{
- return G_MINLONG;
+ return G_MINLONG;
}
void
gi_marshalling_tests_long_in_max (glong long_)
{
- g_assert_cmpint(long_, ==, G_MAXLONG);
+ g_assert_cmpint (long_, ==, G_MAXLONG);
}
void
gi_marshalling_tests_long_in_min (glong long_)
{
- g_assert_cmpint(long_, ==, G_MINLONG);
+ g_assert_cmpint (long_, ==, G_MINLONG);
}
/**
@@ -716,7 +716,7 @@ gi_marshalling_tests_long_in_min (glong long_)
void
gi_marshalling_tests_long_out_max (glong *long_)
{
- *long_ = G_MAXLONG;
+ *long_ = G_MAXLONG;
}
/**
@@ -726,7 +726,7 @@ gi_marshalling_tests_long_out_max (glong *long_)
void
gi_marshalling_tests_long_out_min (glong *long_)
{
- *long_ = G_MINLONG;
+ *long_ = G_MINLONG;
}
/**
@@ -736,8 +736,8 @@ gi_marshalling_tests_long_out_min (glong *long_)
void
gi_marshalling_tests_long_inout_max_min (glong *long_)
{
- g_assert_cmpint(*long_, ==, G_MAXLONG);
- *long_ = G_MINLONG;
+ g_assert_cmpint (*long_, ==, G_MAXLONG);
+ *long_ = G_MINLONG;
}
/**
@@ -747,21 +747,21 @@ gi_marshalling_tests_long_inout_max_min (glong *long_)
void
gi_marshalling_tests_long_inout_min_max (glong *long_)
{
- g_assert_cmpint(*long_, ==, G_MINLONG);
- *long_ = G_MAXLONG;
+ g_assert_cmpint (*long_, ==, G_MINLONG);
+ *long_ = G_MAXLONG;
}
gulong
gi_marshalling_tests_ulong_return (void)
{
- return G_MAXULONG;
+ return G_MAXULONG;
}
void
gi_marshalling_tests_ulong_in (gulong ulong_)
{
- g_assert_cmpuint(ulong_, ==, G_MAXULONG);
+ g_assert_cmpuint (ulong_, ==, G_MAXULONG);
}
/**
@@ -771,7 +771,7 @@ gi_marshalling_tests_ulong_in (gulong ulong_)
void
gi_marshalling_tests_ulong_out (gulong *ulong_)
{
- *ulong_ = G_MAXULONG;
+ *ulong_ = G_MAXULONG;
}
/**
@@ -781,33 +781,33 @@ gi_marshalling_tests_ulong_out (gulong *ulong_)
void
gi_marshalling_tests_ulong_inout (gulong *ulong_)
{
- g_assert_cmpuint(*ulong_, ==, G_MAXULONG);
- *ulong_ = 0;
+ g_assert_cmpuint (*ulong_, ==, G_MAXULONG);
+ *ulong_ = 0;
}
gssize
gi_marshalling_tests_ssize_return_max (void)
{
- return G_MAXSSIZE;
+ return G_MAXSSIZE;
}
gssize
gi_marshalling_tests_ssize_return_min (void)
{
- return G_MINSSIZE;
+ return G_MINSSIZE;
}
void
gi_marshalling_tests_ssize_in_max (gssize ssize)
{
- g_assert_cmpint(ssize, ==, G_MAXSSIZE);
+ g_assert_cmpint (ssize, ==, G_MAXSSIZE);
}
void
gi_marshalling_tests_ssize_in_min (gssize ssize)
{
- g_assert_cmpint(ssize, ==, G_MINSSIZE);
+ g_assert_cmpint (ssize, ==, G_MINSSIZE);
}
/**
@@ -817,7 +817,7 @@ gi_marshalling_tests_ssize_in_min (gssize ssize)
void
gi_marshalling_tests_ssize_out_max (gssize *ssize)
{
- *ssize = G_MAXSSIZE;
+ *ssize = G_MAXSSIZE;
}
/**
@@ -827,7 +827,7 @@ gi_marshalling_tests_ssize_out_max (gssize *ssize)
void
gi_marshalling_tests_ssize_out_min (gssize *ssize)
{
- *ssize = G_MINSSIZE;
+ *ssize = G_MINSSIZE;
}
/**
@@ -837,8 +837,8 @@ gi_marshalling_tests_ssize_out_min (gssize *ssize)
void
gi_marshalling_tests_ssize_inout_max_min (gssize *ssize)
{
- g_assert_cmpint(*ssize, ==, G_MAXSSIZE);
- *ssize = G_MINSSIZE;
+ g_assert_cmpint (*ssize, ==, G_MAXSSIZE);
+ *ssize = G_MINSSIZE;
}
/**
@@ -848,21 +848,21 @@ gi_marshalling_tests_ssize_inout_max_min (gssize *ssize)
void
gi_marshalling_tests_ssize_inout_min_max (gssize *ssize)
{
- g_assert_cmpint(*ssize, ==, G_MINSSIZE);
- *ssize = G_MAXSSIZE;
+ g_assert_cmpint (*ssize, ==, G_MINSSIZE);
+ *ssize = G_MAXSSIZE;
}
gsize
gi_marshalling_tests_size_return (void)
{
- return G_MAXSIZE;
+ return G_MAXSIZE;
}
void
gi_marshalling_tests_size_in (gsize size)
{
- g_assert_cmpuint(size, ==, G_MAXSIZE);
+ g_assert_cmpuint (size, ==, G_MAXSIZE);
}
/**
@@ -872,7 +872,7 @@ gi_marshalling_tests_size_in (gsize size)
void
gi_marshalling_tests_size_out (gsize *size)
{
- *size = G_MAXSIZE;
+ *size = G_MAXSIZE;
}
/**
@@ -882,135 +882,135 @@ gi_marshalling_tests_size_out (gsize *size)
void
gi_marshalling_tests_size_inout (gsize *size)
{
- g_assert_cmpuint(*size, ==, G_MAXSIZE);
- *size = 0;
+ g_assert_cmpuint (*size, ==, G_MAXSIZE);
+ *size = 0;
}
gfloat
gi_marshalling_tests_float_return (void)
{
- return G_MAXFLOAT;
+ return G_MAXFLOAT;
}
void
-gi_marshalling_tests_float_in (gfloat float_)
+gi_marshalling_tests_float_in (gfloat v)
{
- g_assert_cmpfloat(float_, ==, G_MAXFLOAT);
+ g_assert_cmpfloat (v, ==, G_MAXFLOAT);
}
/**
* gi_marshalling_tests_float_out:
- * @float_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_float_out (gfloat *float_)
+gi_marshalling_tests_float_out (gfloat *v)
{
- *float_ = G_MAXFLOAT;
+ *v = G_MAXFLOAT;
}
/**
* gi_marshalling_tests_float_inout:
- * @float_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_float_inout (gfloat *float_)
+gi_marshalling_tests_float_inout (gfloat *v)
{
- g_assert_cmpfloat(*float_, ==, G_MAXFLOAT);
- *float_ = G_MINFLOAT;
+ g_assert_cmpfloat (*v, ==, G_MAXFLOAT);
+ *v = G_MINFLOAT;
}
gdouble
gi_marshalling_tests_double_return (void)
{
- return G_MAXDOUBLE;
+ return G_MAXDOUBLE;
}
void
-gi_marshalling_tests_double_in (gdouble double_)
+gi_marshalling_tests_double_in (gdouble v)
{
- g_assert_cmpfloat(double_, ==, G_MAXDOUBLE);
+ g_assert_cmpfloat (v, ==, G_MAXDOUBLE);
}
/**
* gi_marshalling_tests_double_out:
- * @double_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_double_out (gdouble *double_)
+gi_marshalling_tests_double_out (gdouble *v)
{
- *double_ = G_MAXDOUBLE;
+ *v = G_MAXDOUBLE;
}
/**
* gi_marshalling_tests_double_inout:
- * @double_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_double_inout (gdouble *double_)
+gi_marshalling_tests_double_inout (gdouble *v)
{
- g_assert_cmpfloat(*double_, ==, G_MAXDOUBLE);
- *double_ = G_MINDOUBLE;
+ g_assert_cmpfloat (*v, ==, G_MAXDOUBLE);
+ *v = G_MINDOUBLE;
}
time_t
gi_marshalling_tests_time_t_return (void)
{
- return 1234567890;
+ return 1234567890;
}
void
-gi_marshalling_tests_time_t_in (time_t time_t_)
+gi_marshalling_tests_time_t_in (time_t v)
{
- g_assert_cmpuint(time_t_, ==, 1234567890);
+ g_assert_cmpuint (v, ==, 1234567890);
}
/**
* gi_marshalling_tests_time_t_out:
- * @time_t_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_time_t_out (time_t *time_t_)
+gi_marshalling_tests_time_t_out (time_t *v)
{
- *time_t_ = 1234567890;
+ *v = 1234567890;
}
/**
* gi_marshalling_tests_time_t_inout:
- * @time_t_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_time_t_inout (time_t *time_t_)
+gi_marshalling_tests_time_t_inout (time_t *v)
{
- g_assert_cmpuint(*time_t_, ==, 1234567890);
- *time_t_ = 0;
+ g_assert_cmpuint (*v, ==, 1234567890);
+ *v = 0;
}
GType
gi_marshalling_tests_gtype_return (void)
{
- return G_TYPE_NONE;
+ return G_TYPE_NONE;
}
GType
gi_marshalling_tests_gtype_string_return (void)
{
- return G_TYPE_STRING;
+ return G_TYPE_STRING;
}
void
gi_marshalling_tests_gtype_in (GType gtype)
{
- g_assert(gtype == G_TYPE_NONE);
+ g_assert (gtype == G_TYPE_NONE);
}
void
gi_marshalling_tests_gtype_string_in (GType gtype)
{
- g_assert(gtype == G_TYPE_STRING);
+ g_assert (gtype == G_TYPE_STRING);
}
@@ -1021,7 +1021,7 @@ gi_marshalling_tests_gtype_string_in (GType gtype)
void
gi_marshalling_tests_gtype_out (GType *gtype)
{
- *gtype = G_TYPE_NONE;
+ *gtype = G_TYPE_NONE;
}
/**
@@ -1031,7 +1031,7 @@ gi_marshalling_tests_gtype_out (GType *gtype)
void
gi_marshalling_tests_gtype_string_out (GType *gtype)
{
- *gtype = G_TYPE_STRING;
+ *gtype = G_TYPE_STRING;
}
/**
@@ -1041,27 +1041,44 @@ gi_marshalling_tests_gtype_string_out (GType *gtype)
void
gi_marshalling_tests_gtype_inout (GType *gtype)
{
- g_assert(*gtype == G_TYPE_NONE);
- *gtype = G_TYPE_INT;
+ g_assert (*gtype == G_TYPE_NONE);
+ *gtype = G_TYPE_INT;
}
const gchar *
gi_marshalling_tests_utf8_none_return (void)
{
- return GI_MARSHALLING_TESTS_CONSTANT_UTF8;
+ return GI_MARSHALLING_TESTS_CONSTANT_UTF8;
}
gchar *
gi_marshalling_tests_utf8_full_return (void)
{
- return g_strdup(GI_MARSHALLING_TESTS_CONSTANT_UTF8);
+ return g_strdup (GI_MARSHALLING_TESTS_CONSTANT_UTF8);
}
void
gi_marshalling_tests_utf8_none_in (const gchar *utf8)
{
- g_assert_cmpstr(GI_MARSHALLING_TESTS_CONSTANT_UTF8, ==, utf8);
+ g_assert_cmpstr (GI_MARSHALLING_TESTS_CONSTANT_UTF8, ==, utf8);
+}
+
+/**
+ * gi_marshalling_tests_utf8_as_uint8array_in:
+ * @array: (array length=len) (element-type guint8): Byte data that happens to be UTF-8
+ * @len: Length
+ *
+ * Takes data that happens to be UTF-8 as a byte array, to test
+ * binding conversion from their string type (e.g. JavaScript's
+ * UTF-16) to UTF-8.
+ */
+void
+gi_marshalling_tests_utf8_as_uint8array_in (const guint8 *array, gsize len)
+{
+ gsize orig_len = strlen (GI_MARSHALLING_TESTS_CONSTANT_UTF8);
+ g_assert_cmpint (orig_len, ==, len);
+ g_assert (memcmp (GI_MARSHALLING_TESTS_CONSTANT_UTF8, array, len) == 0);
}
/**
@@ -1071,7 +1088,7 @@ gi_marshalling_tests_utf8_none_in (const gchar *utf8)
void
gi_marshalling_tests_utf8_none_out (gchar **utf8)
{
- *utf8 = GI_MARSHALLING_TESTS_CONSTANT_UTF8;
+ *utf8 = GI_MARSHALLING_TESTS_CONSTANT_UTF8;
}
/**
@@ -1081,7 +1098,7 @@ gi_marshalling_tests_utf8_none_out (gchar **utf8)
void
gi_marshalling_tests_utf8_full_out (gchar **utf8)
{
- *utf8 = g_strdup(GI_MARSHALLING_TESTS_CONSTANT_UTF8);
+ *utf8 = g_strdup (GI_MARSHALLING_TESTS_CONSTANT_UTF8);
}
/**
@@ -1091,11 +1108,11 @@ gi_marshalling_tests_utf8_full_out (gchar **utf8)
void
gi_marshalling_tests_utf8_dangling_out (gchar **utf8)
{
- /* Intentionally don't touch the pointer to see how
- the bindings handle this case. Bindings should be
- robust against broken C functions and can initialize
- even OUT vlues to NULL.
- */
+ /* Intentionally don't touch the pointer to see how
+ the bindings handle this case. Bindings should be
+ robust against broken C functions and can initialize
+ even OUT vlues to NULL.
+ */
}
/**
@@ -1105,8 +1122,8 @@ gi_marshalling_tests_utf8_dangling_out (gchar **utf8)
void
gi_marshalling_tests_utf8_none_inout (gchar **utf8)
{
- g_assert_cmpstr(GI_MARSHALLING_TESTS_CONSTANT_UTF8, ==, *utf8);
- *utf8 = "";
+ g_assert_cmpstr (GI_MARSHALLING_TESTS_CONSTANT_UTF8, ==, *utf8);
+ *utf8 = "";
}
/**
@@ -1116,9 +1133,9 @@ gi_marshalling_tests_utf8_none_inout (gchar **utf8)
void
gi_marshalling_tests_utf8_full_inout (gchar **utf8)
{
- g_assert_cmpstr(GI_MARSHALLING_TESTS_CONSTANT_UTF8, ==, *utf8);
- g_free(*utf8);
- *utf8 = g_strdup("");
+ g_assert_cmpstr (GI_MARSHALLING_TESTS_CONSTANT_UTF8, ==, *utf8);
+ g_free (*utf8);
+ *utf8 = g_strdup ("");
}
@@ -1132,15 +1149,17 @@ gi_marshalling_tests_utf8_full_inout (gchar **utf8)
gboolean
gi_marshalling_tests_init_function (gint *n_args, char ***argv)
{
- if (n_args == NULL)
- return TRUE;
+ if (n_args == NULL)
+ return TRUE;
- if (*n_args == 0)
- return TRUE;
- (*n_args)--;
- g_assert (argv != NULL);
- (*argv)[*n_args] = NULL;
+ if (*n_args == 0)
return TRUE;
+ (*n_args)--;
+ g_assert (argv != NULL);
+ /* we have transfer ownership full, so we need to free the element ourself */
+ g_free ((*argv)[*n_args]);
+ (*argv)[*n_args] = NULL;
+ return TRUE;
}
/**
@@ -1151,8 +1170,8 @@ gi_marshalling_tests_init_function (gint *n_args, char ***argv)
const gint *
gi_marshalling_tests_array_fixed_int_return (void)
{
- static gint ints[] = {-1, 0, 1, 2};
- return ints;
+ static gint ints[] = { -1, 0, 1, 2 };
+ return ints;
}
/**
@@ -1163,8 +1182,8 @@ gi_marshalling_tests_array_fixed_int_return (void)
const gshort *
gi_marshalling_tests_array_fixed_short_return (void)
{
- static gshort shorts[] = {-1, 0, 1, 2};
- return shorts;
+ static gshort shorts[] = { -1, 0, 1, 2 };
+ return shorts;
}
/**
@@ -1174,10 +1193,10 @@ gi_marshalling_tests_array_fixed_short_return (void)
void
gi_marshalling_tests_array_fixed_int_in (const gint *ints)
{
- g_assert_cmpint(ints[0], ==, -1);
- g_assert_cmpint(ints[1], ==, 0);
- g_assert_cmpint(ints[2], ==, 1);
- g_assert_cmpint(ints[3], ==, 2);
+ g_assert_cmpint (ints[0], ==, -1);
+ g_assert_cmpint (ints[1], ==, 0);
+ g_assert_cmpint (ints[2], ==, 1);
+ g_assert_cmpint (ints[3], ==, 2);
}
/**
@@ -1187,10 +1206,10 @@ gi_marshalling_tests_array_fixed_int_in (const gint *ints)
void
gi_marshalling_tests_array_fixed_short_in (const gshort *shorts)
{
- g_assert_cmpint(shorts[0], ==, -1);
- g_assert_cmpint(shorts[1], ==, 0);
- g_assert_cmpint(shorts[2], ==, 1);
- g_assert_cmpint(shorts[3], ==, 2);
+ g_assert_cmpint (shorts[0], ==, -1);
+ g_assert_cmpint (shorts[1], ==, 0);
+ g_assert_cmpint (shorts[2], ==, 1);
+ g_assert_cmpint (shorts[3], ==, 2);
}
/**
@@ -1200,8 +1219,8 @@ gi_marshalling_tests_array_fixed_short_in (const gshort *shorts)
void
gi_marshalling_tests_array_fixed_out (gint **ints)
{
- static gint values[] = {-1, 0, 1, 2};
- *ints = values;
+ static gint values[] = { -1, 0, 1, 2 };
+ *ints = values;
}
/**
@@ -1211,19 +1230,20 @@ gi_marshalling_tests_array_fixed_out (gint **ints)
void
gi_marshalling_tests_array_fixed_out_struct (GIMarshallingTestsSimpleStruct **structs)
{
- static GIMarshallingTestsSimpleStruct *values;
+ static GIMarshallingTestsSimpleStruct *values;
- if (values == NULL) {
- values = g_new(GIMarshallingTestsSimpleStruct, 2);
+ if (values == NULL)
+ {
+ values = g_new (GIMarshallingTestsSimpleStruct, 2);
- values[0].long_ = 7;
- values[0].int8 = 6;
+ values[0].long_ = 7;
+ values[0].int8 = 6;
- values[1].long_ = 6;
- values[1].int8 = 7;
+ values[1].long_ = 6;
+ values[1].int8 = 7;
}
- *structs = values;
+ *structs = values;
}
/**
@@ -1233,14 +1253,14 @@ gi_marshalling_tests_array_fixed_out_struct (GIMarshallingTestsSimpleStruct **st
void
gi_marshalling_tests_array_fixed_inout (gint **ints)
{
- static gint values[] = {2, 1, 0, -1};
+ static gint values[] = { 2, 1, 0, -1 };
- g_assert_cmpint((*ints)[0], ==, -1);
- g_assert_cmpint((*ints)[1], ==, 0);
- g_assert_cmpint((*ints)[2], ==, 1);
- g_assert_cmpint((*ints)[3], ==, 2);
+ g_assert_cmpint ((*ints)[0], ==, -1);
+ g_assert_cmpint ((*ints)[1], ==, 0);
+ g_assert_cmpint ((*ints)[2], ==, 1);
+ g_assert_cmpint ((*ints)[3], ==, 2);
- *ints = values;
+ *ints = values;
}
@@ -1252,10 +1272,10 @@ gi_marshalling_tests_array_fixed_inout (gint **ints)
const gint *
gi_marshalling_tests_array_return (gint *length)
{
- static gint ints[] = {-1, 0, 1, 2};
+ static gint ints[] = { -1, 0, 1, 2 };
- *length = 4;
- return ints;
+ *length = 4;
+ return ints;
}
/**
@@ -1270,13 +1290,13 @@ gi_marshalling_tests_array_return (gint *length)
const gint *
gi_marshalling_tests_array_return_etc (gint first, gint *length, gint last, gint *sum)
{
- static gint ints[] = {-1, 0, 1, 2};
+ static gint ints[] = { -1, 0, 1, 2 };
- ints[0] = first;
- ints[3] = last;
- *sum = first + last;
- *length = 4;
- return ints;
+ ints[0] = first;
+ ints[3] = last;
+ *sum = first + last;
+ *length = 4;
+ return ints;
}
/**
@@ -1287,11 +1307,11 @@ gi_marshalling_tests_array_return_etc (gint first, gint *length, gint last, gint
void
gi_marshalling_tests_array_in (const gint *ints, gint length)
{
- g_assert_cmpint(length, ==, 4);
- g_assert_cmpint(ints[0], ==, -1);
- g_assert_cmpint(ints[1], ==, 0);
- g_assert_cmpint(ints[2], ==, 1);
- g_assert_cmpint(ints[3], ==, 2);
+ g_assert_cmpint (length, ==, 4);
+ g_assert_cmpint (ints[0], ==, -1);
+ g_assert_cmpint (ints[1], ==, 0);
+ g_assert_cmpint (ints[2], ==, 1);
+ g_assert_cmpint (ints[3], ==, 2);
}
/**
@@ -1302,7 +1322,7 @@ gi_marshalling_tests_array_in (const gint *ints, gint length)
void
gi_marshalling_tests_array_in_len_before (gint length, const gint *ints)
{
- gi_marshalling_tests_array_in (ints, length);
+ gi_marshalling_tests_array_in (ints, length);
}
/**
@@ -1313,15 +1333,15 @@ gi_marshalling_tests_array_in_len_before (gint length, const gint *ints)
void
gi_marshalling_tests_array_in_len_zero_terminated (const gint *ints, gint length)
{
- g_assert_cmpint(length, ==, 4);
+ g_assert_cmpint (length, ==, 4);
- g_assert_cmpint(ints[0], ==, -1);
- g_assert_cmpint(ints[1], ==, 0);
- g_assert_cmpint(ints[2], ==, 1);
- g_assert_cmpint(ints[3], ==, 2);
+ g_assert_cmpint (ints[0], ==, -1);
+ g_assert_cmpint (ints[1], ==, 0);
+ g_assert_cmpint (ints[2], ==, 1);
+ g_assert_cmpint (ints[3], ==, 2);
- /* One past the end, null terminator */
- g_assert_cmpint(ints[4], ==, 0);
+ /* One past the end, null terminator */
+ g_assert_cmpint (ints[4], ==, 0);
}
/**
@@ -1331,9 +1351,9 @@ gi_marshalling_tests_array_in_len_zero_terminated (const gint *ints, gint length
void
gi_marshalling_tests_array_string_in (const gchar **strings, gint length)
{
- g_assert_cmpint(length, ==, 2);
- g_assert_cmpstr(strings[0], ==, "foo");
- g_assert_cmpstr(strings[1], ==, "bar");
+ g_assert_cmpint (length, ==, 2);
+ g_assert_cmpstr (strings[0], ==, "foo");
+ g_assert_cmpstr (strings[1], ==, "bar");
}
/**
@@ -1343,11 +1363,11 @@ gi_marshalling_tests_array_string_in (const gchar **strings, gint length)
void
gi_marshalling_tests_array_uint8_in (const guint8 *chars, gint length)
{
- g_assert_cmpint(length, ==, 4);
- g_assert(chars[0] == 'a');
- g_assert(chars[1] == 'b');
- g_assert(chars[2] == 'c');
- g_assert(chars[3] == 'd');
+ g_assert_cmpint (length, ==, 4);
+ g_assert (chars[0] == 'a');
+ g_assert (chars[1] == 'b');
+ g_assert (chars[2] == 'c');
+ g_assert (chars[3] == 'd');
}
/**
@@ -1357,10 +1377,23 @@ gi_marshalling_tests_array_uint8_in (const guint8 *chars, gint length)
void
gi_marshalling_tests_array_struct_in (GIMarshallingTestsBoxedStruct **structs, gint length)
{
- g_assert_cmpint(length, ==, 3);
- g_assert_cmpint(structs[0]->long_, ==, 1);
- g_assert_cmpint(structs[1]->long_, ==, 2);
- g_assert_cmpint(structs[2]->long_, ==, 3);
+ g_assert_cmpint (length, ==, 3);
+ g_assert_cmpint (structs[0]->long_, ==, 1);
+ g_assert_cmpint (structs[1]->long_, ==, 2);
+ g_assert_cmpint (structs[2]->long_, ==, 3);
+}
+
+/**
+ * gi_marshalling_tests_array_struct_value_in:
+ * @structs: (array length=length):
+ */
+void
+gi_marshalling_tests_array_struct_value_in (GIMarshallingTestsBoxedStruct *structs, gint length)
+{
+ g_assert_cmpint (length, ==, 3);
+ g_assert_cmpint (structs[0].long_, ==, 1);
+ g_assert_cmpint (structs[1].long_, ==, 2);
+ g_assert_cmpint (structs[2].long_, ==, 3);
}
/**
@@ -1370,10 +1403,10 @@ gi_marshalling_tests_array_struct_in (GIMarshallingTestsBoxedStruct **structs, g
void
gi_marshalling_tests_array_simple_struct_in (GIMarshallingTestsSimpleStruct *structs, gint length)
{
- g_assert_cmpint(length, ==, 3);
- g_assert_cmpint(structs[0].long_, ==, 1);
- g_assert_cmpint(structs[1].long_, ==, 2);
- g_assert_cmpint(structs[2].long_, ==, 3);
+ g_assert_cmpint (length, ==, 3);
+ g_assert_cmpint (structs[0].long_, ==, 1);
+ g_assert_cmpint (structs[1].long_, ==, 2);
+ g_assert_cmpint (structs[2].long_, ==, 3);
}
/**
@@ -1384,13 +1417,13 @@ gi_marshalling_tests_array_simple_struct_in (GIMarshallingTestsSimpleStruct *str
void
gi_marshalling_tests_multi_array_key_value_in (gint length, const gchar **keys, const GValue *values)
{
- g_assert_cmpint(length, ==, 3);
- g_assert_cmpstr("one", ==, keys[0]);
- g_assert_cmpint(g_value_get_int(&values[0]), ==, 1);
- g_assert_cmpstr("two", ==, keys[1]);
- g_assert_cmpint(g_value_get_int(&values[1]), ==, 2);
- g_assert_cmpstr("three", ==, keys[2]);
- g_assert_cmpint(g_value_get_int(&values[2]), ==, 3);
+ g_assert_cmpint (length, ==, 3);
+ g_assert_cmpstr ("one", ==, keys[0]);
+ g_assert_cmpint (g_value_get_int (&values[0]), ==, 1);
+ g_assert_cmpstr ("two", ==, keys[1]);
+ g_assert_cmpint (g_value_get_int (&values[1]), ==, 2);
+ g_assert_cmpstr ("three", ==, keys[2]);
+ g_assert_cmpint (g_value_get_int (&values[2]), ==, 3);
}
@@ -1401,13 +1434,13 @@ gi_marshalling_tests_multi_array_key_value_in (gint length, const gchar **keys,
void
gi_marshalling_tests_array_struct_take_in (GIMarshallingTestsBoxedStruct **structs, gint length)
{
- gi_marshalling_tests_array_struct_in (structs, length);
+ gi_marshalling_tests_array_struct_in (structs, length);
- /* only really useful if run in valgrind actually */
- gi_marshalling_tests_boxed_struct_free (structs[0]);
- gi_marshalling_tests_boxed_struct_free (structs[1]);
- gi_marshalling_tests_boxed_struct_free (structs[2]);
- g_free (structs);
+ /* only really useful if run in valgrind actually */
+ gi_marshalling_tests_boxed_struct_free (structs[0]);
+ gi_marshalling_tests_boxed_struct_free (structs[1]);
+ gi_marshalling_tests_boxed_struct_free (structs[2]);
+ g_free (structs);
}
/**
@@ -1416,12 +1449,12 @@ gi_marshalling_tests_array_struct_take_in (GIMarshallingTestsBoxedStruct **struc
* @length:
*/
void
-gi_marshalling_tests_array_enum_in (GIMarshallingTestsEnum *_enum, gint length)
+gi_marshalling_tests_array_enum_in (GIMarshallingTestsEnum *v, gint length)
{
- g_assert_cmpint(length, ==, 3);
- g_assert_cmpint(_enum[0], ==, GI_MARSHALLING_TESTS_ENUM_VALUE1);
- g_assert_cmpint(_enum[1], ==, GI_MARSHALLING_TESTS_ENUM_VALUE2);
- g_assert_cmpint(_enum[2], ==, GI_MARSHALLING_TESTS_ENUM_VALUE3);
+ g_assert_cmpint (length, ==, 3);
+ g_assert_cmpint (v[0], ==, GI_MARSHALLING_TESTS_ENUM_VALUE1);
+ g_assert_cmpint (v[1], ==, GI_MARSHALLING_TESTS_ENUM_VALUE2);
+ g_assert_cmpint (v[2], ==, GI_MARSHALLING_TESTS_ENUM_VALUE3);
}
/**
@@ -1432,9 +1465,9 @@ gi_marshalling_tests_array_enum_in (GIMarshallingTestsEnum *_enum, gint length)
void
gi_marshalling_tests_array_in_guint64_len (const gint *ints, guint64 length)
{
- g_assert_cmpint(length, ==, 4);
+ g_assert_cmpint (length, ==, 4);
- gi_marshalling_tests_array_in (ints, length);
+ gi_marshalling_tests_array_in (ints, length);
}
/**
@@ -1445,9 +1478,9 @@ gi_marshalling_tests_array_in_guint64_len (const gint *ints, guint64 length)
void
gi_marshalling_tests_array_in_guint8_len (const gint *ints, guint8 length)
{
- g_assert_cmpint(length, ==, 4);
+ g_assert_cmpint (length, ==, 4);
- gi_marshalling_tests_array_in (ints, length);
+ gi_marshalling_tests_array_in (ints, length);
}
/**
@@ -1457,10 +1490,10 @@ gi_marshalling_tests_array_in_guint8_len (const gint *ints, guint8 length)
void
gi_marshalling_tests_array_out (gint **ints, gint *length)
{
- static gint values[] = {-1, 0, 1, 2};
+ static gint values[] = { -1, 0, 1, 2 };
- *length = 4;
- *ints = values;
+ *length = 4;
+ *ints = values;
}
/**
@@ -1474,13 +1507,13 @@ gi_marshalling_tests_array_out (gint **ints, gint *length)
void
gi_marshalling_tests_array_out_etc (gint first, gint **ints, gint *length, gint last, gint *sum)
{
- static gint values[] = {-1, 0, 1, 2};
+ static gint values[] = { -1, 0, 1, 2 };
- values[0] = first;
- values[3] = last;
- *sum = first + last;
- *length = 4;
- *ints = values;
+ values[0] = first;
+ values[3] = last;
+ *sum = first + last;
+ *length = 4;
+ *ints = values;
}
/**
@@ -1491,16 +1524,16 @@ gi_marshalling_tests_array_out_etc (gint first, gint **ints, gint *length, gint
void
gi_marshalling_tests_array_inout (gint **ints, gint *length)
{
- static gint values[] = {-2, -1, 0, 1, 2};
+ static gint values[] = { -2, -1, 0, 1, 2 };
- g_assert_cmpint(*length, ==, 4);
- g_assert_cmpint((*ints)[0], ==, -1);
- g_assert_cmpint((*ints)[1], ==, 0);
- g_assert_cmpint((*ints)[2], ==, 1);
- g_assert_cmpint((*ints)[3], ==, 2);
+ g_assert_cmpint (*length, ==, 4);
+ g_assert_cmpint ((*ints)[0], ==, -1);
+ g_assert_cmpint ((*ints)[1], ==, 0);
+ g_assert_cmpint ((*ints)[2], ==, 1);
+ g_assert_cmpint ((*ints)[3], ==, 2);
- *length = 5;
- *ints = values;
+ *length = 5;
+ *ints = values;
}
/**
@@ -1514,19 +1547,19 @@ gi_marshalling_tests_array_inout (gint **ints, gint *length)
void
gi_marshalling_tests_array_inout_etc (gint first, gint **ints, gint *length, gint last, gint *sum)
{
- static gint values[] = {-2, -1, 0, 1, 2};
+ static gint values[] = { -2, -1, 0, 1, 2 };
- g_assert_cmpint(*length, ==, 4);
- g_assert_cmpint((*ints)[0], ==, -1);
- g_assert_cmpint((*ints)[1], ==, 0);
- g_assert_cmpint((*ints)[2], ==, 1);
- g_assert_cmpint((*ints)[3], ==, 2);
+ g_assert_cmpint (*length, ==, 4);
+ g_assert_cmpint ((*ints)[0], ==, -1);
+ g_assert_cmpint ((*ints)[1], ==, 0);
+ g_assert_cmpint ((*ints)[2], ==, 1);
+ g_assert_cmpint ((*ints)[3], ==, 2);
- values[0] = first;
- values[4] = last;
- *sum = first + last;
- *length = 5;
- *ints = values;
+ values[0] = first;
+ values[4] = last;
+ *sum = first + last;
+ *length = 5;
+ *ints = values;
}
/**
@@ -1537,10 +1570,10 @@ gi_marshalling_tests_array_inout_etc (gint first, gint **ints, gint *length, gin
void
gi_marshalling_tests_array_in_nonzero_nonlen (gint first, const guint8 *chars)
{
- g_assert(chars[0] == 'a');
- g_assert(chars[1] == 'b');
- g_assert(chars[2] == 'c');
- g_assert(chars[3] == 'd');
+ g_assert (chars[0] == 'a');
+ g_assert (chars[1] == 'b');
+ g_assert (chars[2] == 'c');
+ g_assert (chars[3] == 'd');
}
/**
@@ -1551,8 +1584,8 @@ gi_marshalling_tests_array_in_nonzero_nonlen (gint first, const guint8 *chars)
gchar **
gi_marshalling_tests_array_zero_terminated_return (void)
{
- static gchar *values[] = {"0", "1", "2", NULL};
- return values;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ return values;
}
/**
@@ -1563,7 +1596,7 @@ gi_marshalling_tests_array_zero_terminated_return (void)
gchar **
gi_marshalling_tests_array_zero_terminated_return_null (void)
{
- return NULL;
+ return NULL;
}
/**
@@ -1574,20 +1607,20 @@ gi_marshalling_tests_array_zero_terminated_return_null (void)
GIMarshallingTestsBoxedStruct **
gi_marshalling_tests_array_zero_terminated_return_struct (void)
{
- GIMarshallingTestsBoxedStruct **ret = (GIMarshallingTestsBoxedStruct**) g_new (gpointer, 4);
+ GIMarshallingTestsBoxedStruct **ret = (GIMarshallingTestsBoxedStruct **) g_new (gpointer, 4);
- ret[0] = gi_marshalling_tests_boxed_struct_new ();
- ret[0]->long_ = 42;
+ ret[0] = gi_marshalling_tests_boxed_struct_new ();
+ ret[0]->long_ = 42;
- ret[1] = gi_marshalling_tests_boxed_struct_new ();
- ret[1]->long_ = 43;
+ ret[1] = gi_marshalling_tests_boxed_struct_new ();
+ ret[1]->long_ = 43;
- ret[2] = gi_marshalling_tests_boxed_struct_new ();
- ret[2]->long_ = 44;
+ ret[2] = gi_marshalling_tests_boxed_struct_new ();
+ ret[2]->long_ = 44;
- ret[3] = NULL;
+ ret[3] = NULL;
- return ret;
+ return ret;
}
/**
@@ -1597,10 +1630,10 @@ gi_marshalling_tests_array_zero_terminated_return_struct (void)
void
gi_marshalling_tests_array_zero_terminated_in (gchar **utf8s)
{
- g_assert(g_strv_length(utf8s));
- g_assert_cmpstr(utf8s[0], ==, "0");
- g_assert_cmpstr(utf8s[1], ==, "1");
- g_assert_cmpstr(utf8s[2], ==, "2");
+ g_assert (g_strv_length (utf8s));
+ g_assert_cmpstr (utf8s[0], ==, "0");
+ g_assert_cmpstr (utf8s[1], ==, "1");
+ g_assert_cmpstr (utf8s[2], ==, "2");
}
/**
@@ -1608,10 +1641,10 @@ gi_marshalling_tests_array_zero_terminated_in (gchar **utf8s)
* @utf8s: (out) (array zero-terminated=1) (transfer none):
*/
void
-gi_marshalling_tests_array_zero_terminated_out (gchar ***utf8s)
+gi_marshalling_tests_array_zero_terminated_out (gchar *** utf8s)
{
- static gchar *values[] = {"0", "1", "2", NULL};
- *utf8s = values;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ *utf8s = values;
}
/**
@@ -1619,16 +1652,16 @@ gi_marshalling_tests_array_zero_terminated_out (gchar ***utf8s)
* @utf8s: (inout) (array zero-terminated=1) (transfer none):
*/
void
-gi_marshalling_tests_array_zero_terminated_inout (gchar ***utf8s)
+gi_marshalling_tests_array_zero_terminated_inout (gchar *** utf8s)
{
- static gchar *values[] = {"-1", "0", "1", "2", NULL};
+ static gchar *values[] = { "-1", "0", "1", "2", NULL };
- g_assert(g_strv_length(*utf8s));
- g_assert_cmpstr((*utf8s)[0], ==, "0");
- g_assert_cmpstr((*utf8s)[1], ==, "1");
- g_assert_cmpstr((*utf8s)[2], ==, "2");
+ g_assert (g_strv_length (*utf8s));
+ g_assert_cmpstr ((*utf8s)[0], ==, "0");
+ g_assert_cmpstr ((*utf8s)[1], ==, "1");
+ g_assert_cmpstr ((*utf8s)[2], ==, "2");
- *utf8s = values;
+ *utf8s = values;
}
/**
@@ -1640,20 +1673,21 @@ gi_marshalling_tests_array_zero_terminated_inout (gchar ***utf8s)
GVariant **
gi_marshalling_tests_array_gvariant_none_in (GVariant **variants)
{
- /* Use a static container to detect if someone tries to free it */
- static GVariant *private_container[3] = { NULL, NULL, NULL };
-
- if (private_container[0] == NULL) {
+ /* Use a static container to detect if someone tries to free it */
+ static GVariant *private_container[3] = { NULL, NULL, NULL };
+
+ if (private_container[0] == NULL)
+ {
private_container[0] = g_variant_new_int32 (27);
private_container[1] = g_variant_new_string ("Hello");
}
- g_assert (variants != NULL);
- g_assert_cmpint (g_variant_get_int32 (variants[0]), ==, 27);
- g_assert_cmpstr (g_variant_get_string (variants[1], NULL), ==, "Hello");
- g_assert (variants[2] == NULL);
+ g_assert (variants != NULL);
+ g_assert_cmpint (g_variant_get_int32 (variants[0]), ==, 27);
+ g_assert_cmpstr (g_variant_get_string (variants[1], NULL), ==, "Hello");
+ g_assert (variants[2] == NULL);
- return private_container;
+ return private_container;
}
/**
@@ -1665,19 +1699,19 @@ gi_marshalling_tests_array_gvariant_none_in (GVariant **variants)
GVariant **
gi_marshalling_tests_array_gvariant_container_in (GVariant **variants)
{
- GVariant **container;
+ GVariant **container;
+
+ g_assert (variants != NULL);
+ g_assert_cmpint (g_variant_get_int32 (variants[0]), ==, 27);
+ g_assert_cmpstr (g_variant_get_string (variants[1], NULL), ==, "Hello");
+ g_assert (variants[2] == NULL);
+
+ container = g_new0 (GVariant *, 3);
+ container[0] = variants[0];
+ container[1] = variants[1];
+ g_free (variants);
- g_assert (variants != NULL);
- g_assert_cmpint (g_variant_get_int32 (variants[0]), ==, 27);
- g_assert_cmpstr (g_variant_get_string (variants[1], NULL), ==, "Hello");
- g_assert (variants[2] == NULL);
-
- container = g_new0 (GVariant*, 3);
- container[0] = variants[0];
- container[1] = variants[1];
- g_free (variants);
-
- return container;
+ return container;
}
/**
@@ -1689,23 +1723,23 @@ gi_marshalling_tests_array_gvariant_container_in (GVariant **variants)
GVariant **
gi_marshalling_tests_array_gvariant_full_in (GVariant **variants)
{
- GVariant **container;
+ GVariant **container;
- g_assert (variants != NULL);
- g_assert_cmpint (g_variant_get_int32 (variants[0]), ==, 27);
- g_assert_cmpstr (g_variant_get_string (variants[1], NULL), ==, "Hello");
- g_assert (variants[2] == NULL);
-
- /* To catch different behaviors we reconstruct one variant from scratch,
- * while leaving the other untouched. Both approaches are legal with full
- * transfer in and out */
- container = g_new0 (GVariant*, 3);
- container[0] = g_variant_new_int32 (g_variant_get_int32 (variants[0]));
- g_variant_unref (variants[0]);
- container[1] = variants[1];
- g_free (variants);
+ g_assert (variants != NULL);
+ g_assert_cmpint (g_variant_get_int32 (variants[0]), ==, 27);
+ g_assert_cmpstr (g_variant_get_string (variants[1], NULL), ==, "Hello");
+ g_assert (variants[2] == NULL);
- return container;
+ /* To catch different behaviors we reconstruct one variant from scratch,
+ * while leaving the other untouched. Both approaches are legal with full
+ * transfer in and out */
+ container = g_new0 (GVariant *, 3);
+ container[0] = g_variant_new_int32 (g_variant_get_int32 (variants[0]));
+ g_variant_unref (variants[0]);
+ container[1] = variants[1];
+ g_free (variants);
+
+ return container;
}
/**
@@ -1716,16 +1750,40 @@ gi_marshalling_tests_array_gvariant_full_in (GVariant **variants)
GArray *
gi_marshalling_tests_garray_int_none_return (void)
{
- static GArray *array = NULL;
- gint i;
+ static GArray *v = NULL;
+ gint i;
- if (array == NULL) {
- array = g_array_new (TRUE, TRUE, sizeof (gint));
- for (i = -1; i < 3; i++)
- g_array_append_val (array, i);
+ if (v == NULL)
+ {
+ v = g_array_new (TRUE, TRUE, sizeof (gint));
+ for (i = -1; i < 3; i++)
+ g_array_append_val (v, i);
+ }
+
+ return v;
+}
+
+/**
+ * gi_marshalling_tests_garray_uint64_none_return:
+ *
+ * Returns: (element-type guint64) (transfer none):
+ */
+GArray *
+gi_marshalling_tests_garray_uint64_none_return (void)
+{
+ static GArray *array = NULL;
+ guint64 i;
+
+ if (array == NULL)
+ {
+ array = g_array_new (TRUE, TRUE, sizeof (guint64));
+ i = 0;
+ g_array_append_val (array, i);
+ i = G_MAXUINT64;
+ g_array_append_val (array, i);
}
- return array;
+ return array;
}
/**
@@ -1736,17 +1794,18 @@ gi_marshalling_tests_garray_int_none_return (void)
GArray *
gi_marshalling_tests_garray_utf8_none_return (void)
{
- static GArray *array = NULL;
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ static GArray *array = NULL;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- if (array == NULL) {
- array = g_array_new (TRUE, TRUE, sizeof (gchar *));
- for (i = 0; values[i]; i++)
- g_array_append_val (array, values[i]);
+ if (array == NULL)
+ {
+ array = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ for (i = 0; values[i]; i++)
+ g_array_append_val (array, values[i]);
}
- return array;
+ return array;
}
/**
@@ -1757,15 +1816,15 @@ gi_marshalling_tests_garray_utf8_none_return (void)
GArray *
gi_marshalling_tests_garray_utf8_container_return (void)
{
- GArray *array = NULL;
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ GArray *array = NULL;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- array = g_array_new (TRUE, TRUE, sizeof (gchar *));
- for (i = 0; values[i]; i++)
- g_array_append_val (array, values[i]);
+ array = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ for (i = 0; values[i]; i++)
+ g_array_append_val (array, values[i]);
- return array;
+ return array;
}
/**
@@ -1776,17 +1835,18 @@ gi_marshalling_tests_garray_utf8_container_return (void)
GArray *
gi_marshalling_tests_garray_utf8_full_return (void)
{
- GArray *array = NULL;
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ GArray *array = NULL;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- array = g_array_new (TRUE, TRUE, sizeof (gchar *));
- for (i = 0; values[i]; i++) {
- gchar *str = g_strdup (values[i]);
- g_array_append_val (array, str);
+ array = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ for (i = 0; values[i]; i++)
+ {
+ gchar *str = g_strdup (values[i]);
+ g_array_append_val (array, str);
}
- return array;
+ return array;
}
/**
@@ -1796,11 +1856,23 @@ gi_marshalling_tests_garray_utf8_full_return (void)
void
gi_marshalling_tests_garray_int_none_in (GArray *array_)
{
- g_assert_cmpint(array_->len, ==, 4);
- g_assert_cmpint(g_array_index (array_, gint, 0), ==, -1);
- g_assert_cmpint(g_array_index (array_, gint, 1), ==, 0);
- g_assert_cmpint(g_array_index (array_, gint, 2), ==, 1);
- g_assert_cmpint(g_array_index (array_, gint, 3), ==, 2);
+ g_assert_cmpint (array_->len, ==, 4);
+ g_assert_cmpint (g_array_index (array_, gint, 0), ==, -1);
+ g_assert_cmpint (g_array_index (array_, gint, 1), ==, 0);
+ g_assert_cmpint (g_array_index (array_, gint, 2), ==, 1);
+ g_assert_cmpint (g_array_index (array_, gint, 3), ==, 2);
+}
+
+/**
+ * gi_marshalling_tests_garray_uint64_none_in:
+ * @array_: (element-type guint64) (transfer none):
+ */
+void
+gi_marshalling_tests_garray_uint64_none_in (GArray *array_)
+{
+ g_assert_cmpint (array_->len, ==, 2);
+ g_assert_cmpint (g_array_index (array_, guint64, 0), ==, 0);
+ g_assert_cmpint (g_array_index (array_, guint64, 1), ==, G_MAXUINT64);
}
/**
@@ -1810,10 +1882,10 @@ gi_marshalling_tests_garray_int_none_in (GArray *array_)
void
gi_marshalling_tests_garray_utf8_none_in (GArray *array_)
{
- g_assert_cmpint(array_->len, ==, 3);
- g_assert_cmpstr(g_array_index (array_, gchar*, 0), ==, "0");
- g_assert_cmpstr(g_array_index (array_, gchar*, 1), ==, "1");
- g_assert_cmpstr(g_array_index (array_, gchar*, 2), ==, "2");
+ g_assert_cmpint (array_->len, ==, 3);
+ g_assert_cmpstr (g_array_index (array_, gchar *, 0), ==, "0");
+ g_assert_cmpstr (g_array_index (array_, gchar *, 1), ==, "1");
+ g_assert_cmpstr (g_array_index (array_, gchar *, 2), ==, "2");
}
/**
@@ -1823,17 +1895,18 @@ gi_marshalling_tests_garray_utf8_none_in (GArray *array_)
void
gi_marshalling_tests_garray_utf8_none_out (GArray **array_)
{
- static GArray *internal = NULL;
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ static GArray *internal = NULL;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- if (internal == NULL) {
- internal = g_array_new (TRUE, TRUE, sizeof (gchar *));
- for (i = 0; values[i]; i++)
- g_array_append_val (internal, values[i]);
+ if (internal == NULL)
+ {
+ internal = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ for (i = 0; values[i]; i++)
+ g_array_append_val (internal, values[i]);
}
- *array_ = internal;
+ *array_ = internal;
}
/**
@@ -1843,14 +1916,14 @@ gi_marshalling_tests_garray_utf8_none_out (GArray **array_)
void
gi_marshalling_tests_garray_utf8_container_out (GArray **array_)
{
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- *array_ = NULL;
+ *array_ = NULL;
- *array_ = g_array_new (TRUE, TRUE, sizeof (gchar *));
- for (i = 0; values[i]; i++)
- g_array_append_val (*array_, values[i]);
+ *array_ = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ for (i = 0; values[i]; i++)
+ g_array_append_val (*array_, values[i]);
}
/**
@@ -1860,15 +1933,34 @@ gi_marshalling_tests_garray_utf8_container_out (GArray **array_)
void
gi_marshalling_tests_garray_utf8_full_out (GArray **array_)
{
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
+
+ *array_ = NULL;
- *array_ = NULL;
+ *array_ = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ for (i = 0; values[i]; i++)
+ {
+ gchar *str = g_strdup (values[i]);
+ g_array_append_val (*array_, str);
+ }
+}
+
+/**
+ * gi_marshalling_tests_garray_utf8_full_out_caller_allocated:
+ * @array_: (out caller-allocates) (array) (element-type utf8) (transfer full):
+ */
+void
+gi_marshalling_tests_garray_utf8_full_out_caller_allocated (GArray *array_)
+{
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- *array_ = g_array_new (TRUE, TRUE, sizeof (gchar *));
- for (i = 0; values[i]; i++) {
- gchar *str = g_strdup (values[i]);
- g_array_append_val (*array_, str);
+ g_array_set_size (array_, 0);
+ for (i = 0; values[i]; i++)
+ {
+ gchar *str = g_strdup (values[i]);
+ g_array_append_val (array_, str);
}
}
@@ -1879,22 +1971,23 @@ gi_marshalling_tests_garray_utf8_full_out (GArray **array_)
void
gi_marshalling_tests_garray_utf8_none_inout (GArray **array_)
{
- static GArray *internal = NULL;
- static gchar *values[] = {"-2", "-1", "0", "1", NULL};
- gint i;
+ static GArray *internal = NULL;
+ static gchar *values[] = { "-2", "-1", "0", "1", NULL };
+ gint i;
- g_assert_cmpint((*array_)->len, ==, 3);
- g_assert_cmpstr(g_array_index (*array_, gchar*, 0), ==, "0");
- g_assert_cmpstr(g_array_index (*array_, gchar*, 1), ==, "1");
- g_assert_cmpstr(g_array_index (*array_, gchar*, 2), ==, "2");
+ g_assert_cmpint ((*array_)->len, ==, 3);
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 0), ==, "0");
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 1), ==, "1");
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 2), ==, "2");
- if (internal == NULL) {
- internal = g_array_new (TRUE, TRUE, sizeof (gchar *));
- for (i = 0; values[i]; i++)
- g_array_append_val (internal, values[i]);
+ if (internal == NULL)
+ {
+ internal = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ for (i = 0; values[i]; i++)
+ g_array_append_val (internal, values[i]);
}
- *array_ = internal;
+ *array_ = internal;
}
/**
@@ -1904,24 +1997,25 @@ gi_marshalling_tests_garray_utf8_none_inout (GArray **array_)
void
gi_marshalling_tests_garray_utf8_container_inout (GArray **array_)
{
- static gchar *val1 = "-2";
- static gchar *val2 = "-1";
- static gchar *val3 = "0";
- static gchar *val4 = "1";
- GArray *result;
+ static gchar *val1 = "-2";
+ static gchar *val2 = "-1";
+ static gchar *val3 = "0";
+ static gchar *val4 = "1";
+ GArray *result;
- g_assert_cmpint((*array_)->len, ==, 3);
- g_assert_cmpstr(g_array_index (*array_, gchar*, 0), ==, "0");
- g_assert_cmpstr(g_array_index (*array_, gchar*, 1), ==, "1");
- g_assert_cmpstr(g_array_index (*array_, gchar*, 2), ==, "2");
+ g_assert_cmpint ((*array_)->len, ==, 3);
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 0), ==, "0");
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 1), ==, "1");
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 2), ==, "2");
- result = g_array_new (TRUE, TRUE, sizeof (gchar *));
- g_array_append_val (result, val1);
- g_array_append_val (result, val2);
- g_array_append_val (result, val3);
- g_array_append_val (result, val4);
+ result = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ g_array_append_val (result, val1);
+ g_array_append_val (result, val2);
+ g_array_append_val (result, val3);
+ g_array_append_val (result, val4);
- *array_ = result;
+ g_array_unref (*array_);
+ *array_ = result;
}
/**
@@ -1931,27 +2025,28 @@ gi_marshalling_tests_garray_utf8_container_inout (GArray **array_)
void
gi_marshalling_tests_garray_utf8_full_inout (GArray **array_)
{
- static gchar *val1 = "-1";
- static gchar *val2 = "-2";
- gchar *val;
- GArray *result;
+ static gchar *val1 = "-1";
+ static gchar *val2 = "-2";
+ gchar *val;
+ GArray *result;
- g_assert_cmpint((*array_)->len, ==, 3);
- g_assert_cmpstr(g_array_index (*array_, gchar*, 0), ==, "0");
- g_assert_cmpstr(g_array_index (*array_, gchar*, 1), ==, "1");
- g_assert_cmpstr(g_array_index (*array_, gchar*, 2), ==, "2");
+ g_assert_cmpint ((*array_)->len, ==, 3);
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 0), ==, "0");
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 1), ==, "1");
+ g_assert_cmpstr (g_array_index (*array_, gchar *, 2), ==, "2");
- result = g_array_new (TRUE, TRUE, sizeof (gchar *));
- val = g_strdup (val2);
- g_array_append_val(result, val);
- val = g_strdup (val1);
- g_array_append_val(result, val);
- val = g_strdup ("0");
- g_array_append_val(result, val);
- val = g_strdup ("1");
- g_array_append_val(result, val);
+ result = g_array_new (TRUE, TRUE, sizeof (gchar *));
+ val = g_strdup (val2);
+ g_array_append_val (result, val);
+ val = g_strdup (val1);
+ g_array_append_val (result, val);
+ val = g_strdup ("0");
+ g_array_append_val (result, val);
+ val = g_strdup ("1");
+ g_array_append_val (result, val);
- *array_ = result;
+ g_array_unref (*array_);
+ *array_ = result;
}
/**
@@ -1962,17 +2057,18 @@ gi_marshalling_tests_garray_utf8_full_inout (GArray **array_)
GPtrArray *
gi_marshalling_tests_gptrarray_utf8_none_return (void)
{
- static GPtrArray *parray = NULL;
- static gchar *values[] = {"0", "1", "2"};
- gint i;
+ static GPtrArray *parray = NULL;
+ static gchar *values[] = { "0", "1", "2" };
+ gint i;
- if (parray == NULL) {
- parray = g_ptr_array_new ();
- for (i = 0; i < 3; i++)
- g_ptr_array_add (parray, (gpointer) values[i]);
+ if (parray == NULL)
+ {
+ parray = g_ptr_array_new ();
+ for (i = 0; i < 3; i++)
+ g_ptr_array_add (parray, (gpointer) values[i]);
}
- return parray;
+ return parray;
}
/**
@@ -1983,15 +2079,15 @@ gi_marshalling_tests_gptrarray_utf8_none_return (void)
GPtrArray *
gi_marshalling_tests_gptrarray_utf8_container_return (void)
{
- GPtrArray *parray = NULL;
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ GPtrArray *parray = NULL;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- parray = g_ptr_array_new ();
- for (i = 0; values[i]; i++)
- g_ptr_array_add (parray, (gpointer)values[i]);
+ parray = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (parray, (gpointer) values[i]);
- return parray;
+ return parray;
}
/**
@@ -2002,17 +2098,18 @@ gi_marshalling_tests_gptrarray_utf8_container_return (void)
GPtrArray *
gi_marshalling_tests_gptrarray_utf8_full_return (void)
{
- GPtrArray *parray = NULL;
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ GPtrArray *parray = NULL;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- parray = g_ptr_array_new ();
- for (i = 0; values[i]; i++) {
- gchar *str = g_strdup (values[i]);
- g_ptr_array_add (parray, (gpointer)str);
+ parray = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ {
+ gchar *str = g_strdup (values[i]);
+ g_ptr_array_add (parray, (gpointer) str);
}
- return parray;
+ return parray;
}
/**
@@ -2022,10 +2119,10 @@ gi_marshalling_tests_gptrarray_utf8_full_return (void)
void
gi_marshalling_tests_gptrarray_utf8_none_in (GPtrArray *parray_)
{
- g_assert_cmpint(parray_->len, ==, 3);
- g_assert_cmpstr(g_ptr_array_index (parray_, 0), ==, "0");
- g_assert_cmpstr(g_ptr_array_index (parray_, 1), ==, "1");
- g_assert_cmpstr(g_ptr_array_index (parray_, 2), ==, "2");
+ g_assert_cmpint (parray_->len, ==, 3);
+ g_assert_cmpstr (g_ptr_array_index (parray_, 0), ==, "0");
+ g_assert_cmpstr (g_ptr_array_index (parray_, 1), ==, "1");
+ g_assert_cmpstr (g_ptr_array_index (parray_, 2), ==, "2");
}
/**
@@ -2035,17 +2132,18 @@ gi_marshalling_tests_gptrarray_utf8_none_in (GPtrArray *parray_)
void
gi_marshalling_tests_gptrarray_utf8_none_out (GPtrArray **parray_)
{
- static GPtrArray *internal = NULL;
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ static GPtrArray *internal = NULL;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- if (internal == NULL) {
- internal = g_ptr_array_new ();
- for (i = 0; values[i]; i++)
- g_ptr_array_add (internal, (gpointer)values[i]);
+ if (internal == NULL)
+ {
+ internal = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (internal, (gpointer) values[i]);
}
- *parray_ = internal;
+ *parray_ = internal;
}
/**
@@ -2055,14 +2153,14 @@ gi_marshalling_tests_gptrarray_utf8_none_out (GPtrArray **parray_)
void
gi_marshalling_tests_gptrarray_utf8_container_out (GPtrArray **parray_)
{
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- *parray_ = NULL;
+ *parray_ = NULL;
- *parray_ = g_ptr_array_new ();
- for (i = 0; values[i]; i++)
- g_ptr_array_add (*parray_, (gpointer)values[i]);
+ *parray_ = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (*parray_, (gpointer) values[i]);
}
/**
@@ -2072,15 +2170,16 @@ gi_marshalling_tests_gptrarray_utf8_container_out (GPtrArray **parray_)
void
gi_marshalling_tests_gptrarray_utf8_full_out (GPtrArray **parray_)
{
- static gchar *values[] = {"0", "1", "2", NULL};
- gint i;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ gint i;
- *parray_ = NULL;
+ *parray_ = NULL;
- *parray_ = g_ptr_array_new ();
- for (i = 0; values[i]; i++) {
- gchar *str = g_strdup (values[i]);
- g_ptr_array_add (*parray_, (gpointer)str);
+ *parray_ = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ {
+ gchar *str = g_strdup (values[i]);
+ g_ptr_array_add (*parray_, (gpointer) str);
}
}
@@ -2091,22 +2190,23 @@ gi_marshalling_tests_gptrarray_utf8_full_out (GPtrArray **parray_)
void
gi_marshalling_tests_gptrarray_utf8_none_inout (GPtrArray **parray_)
{
- static GPtrArray *internal = NULL;
- static gchar *values[] = {"-2", "-1", "0", "1", NULL};
- gint i;
+ static GPtrArray *internal = NULL;
+ static gchar *values[] = { "-2", "-1", "0", "1", NULL };
+ gint i;
- g_assert_cmpint((*parray_)->len, ==, 3);
- g_assert_cmpstr(g_ptr_array_index (*parray_, 0), ==, "0");
- g_assert_cmpstr(g_ptr_array_index (*parray_, 1), ==, "1");
- g_assert_cmpstr(g_ptr_array_index (*parray_, 2), ==, "2");
+ g_assert_cmpint ((*parray_)->len, ==, 3);
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 0), ==, "0");
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 1), ==, "1");
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 2), ==, "2");
- if (internal == NULL) {
- internal = g_ptr_array_new ();
- for (i = 0; values[i]; i++)
- g_ptr_array_add (internal, (gpointer) values[i]);
+ if (internal == NULL)
+ {
+ internal = g_ptr_array_new ();
+ for (i = 0; values[i]; i++)
+ g_ptr_array_add (internal, (gpointer) values[i]);
}
- *parray_ = internal;
+ *parray_ = internal;
}
/**
@@ -2116,24 +2216,25 @@ gi_marshalling_tests_gptrarray_utf8_none_inout (GPtrArray **parray_)
void
gi_marshalling_tests_gptrarray_utf8_container_inout (GPtrArray **parray_)
{
- static gchar *val1 = "-2";
- static gchar *val2 = "-1";
- static gchar *val3 = "0";
- static gchar *val4 = "1";
- GPtrArray *result;
+ static gchar *val1 = "-2";
+ static gchar *val2 = "-1";
+ static gchar *val3 = "0";
+ static gchar *val4 = "1";
+ GPtrArray *result;
- g_assert_cmpint((*parray_)->len, ==, 3);
- g_assert_cmpstr(g_ptr_array_index (*parray_, 0), ==, "0");
- g_assert_cmpstr(g_ptr_array_index (*parray_, 1), ==, "1");
- g_assert_cmpstr(g_ptr_array_index (*parray_, 2), ==, "2");
+ g_assert_cmpint ((*parray_)->len, ==, 3);
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 0), ==, "0");
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 1), ==, "1");
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 2), ==, "2");
- result = g_ptr_array_new ();
- g_ptr_array_add (result, (gpointer) val1);
- g_ptr_array_add (result, (gpointer) val2);
- g_ptr_array_add (result, (gpointer) val3);
- g_ptr_array_add (result, (gpointer) val4);
+ result = g_ptr_array_new ();
+ g_ptr_array_add (result, (gpointer) val1);
+ g_ptr_array_add (result, (gpointer) val2);
+ g_ptr_array_add (result, (gpointer) val3);
+ g_ptr_array_add (result, (gpointer) val4);
- *parray_ = result;
+ g_ptr_array_unref (*parray_);
+ *parray_ = result;
}
/**
@@ -2143,27 +2244,28 @@ gi_marshalling_tests_gptrarray_utf8_container_inout (GPtrArray **parray_)
void
gi_marshalling_tests_gptrarray_utf8_full_inout (GPtrArray **parray_)
{
- static gchar *val1 = "-1";
- static gchar *val2 = "-2";
- gchar *val;
- GPtrArray *result;
+ static gchar *val1 = "-1";
+ static gchar *val2 = "-2";
+ gchar *val;
+ GPtrArray *result;
- g_assert_cmpint((*parray_)->len, ==, 3);
- g_assert_cmpstr(g_ptr_array_index (*parray_, 0), ==, "0");
- g_assert_cmpstr(g_ptr_array_index (*parray_, 1), ==, "1");
- g_assert_cmpstr(g_ptr_array_index (*parray_, 2), ==, "2");
+ g_assert_cmpint ((*parray_)->len, ==, 3);
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 0), ==, "0");
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 1), ==, "1");
+ g_assert_cmpstr (g_ptr_array_index (*parray_, 2), ==, "2");
- result = g_ptr_array_new ();
- val = g_strdup (val2);
- g_ptr_array_add(result, (gpointer) val);
- val = g_strdup (val1);
- g_ptr_array_add(result, (gpointer) val);
- val = g_strdup ("0");
- g_ptr_array_add(result, (gpointer) val);
- val = g_strdup ("1");
- g_ptr_array_add(result, (gpointer) val);
+ result = g_ptr_array_new ();
+ val = g_strdup (val2);
+ g_ptr_array_add (result, (gpointer) val);
+ val = g_strdup (val1);
+ g_ptr_array_add (result, (gpointer) val);
+ val = g_strdup ("0");
+ g_ptr_array_add (result, (gpointer) val);
+ val = g_strdup ("1");
+ g_ptr_array_add (result, (gpointer) val);
- *parray_ = result;
+ g_ptr_array_unref (*parray_);
+ *parray_ = result;
}
/**
@@ -2174,28 +2276,58 @@ gi_marshalling_tests_gptrarray_utf8_full_inout (GPtrArray **parray_)
GByteArray *
gi_marshalling_tests_bytearray_full_return (void)
{
- GByteArray *array = NULL;
- guint8 data[] = {'\0', '1', '\xFF', '3'};
+ GByteArray *array = NULL;
+ guint8 data[] = { '\0', '1', '\xFF', '3' };
- array = g_byte_array_new ();
- g_byte_array_append (array, (const guint8*)data, G_N_ELEMENTS(data));
+ array = g_byte_array_new ();
+ g_byte_array_append (array, (const guint8 *) data, G_N_ELEMENTS (data));
- return array;
+ return array;
}
/**
* gi_marshalling_tests_bytearray_none_in:
- * @array_: (element-type gint8) (transfer none):
+ * @v: (element-type gint8) (transfer none):
*/
void
-gi_marshalling_tests_bytearray_none_in (GByteArray *array_)
+gi_marshalling_tests_bytearray_none_in (GByteArray *v)
{
- g_assert_cmpuint (array_->len, ==, 4);
- g_assert_cmpuint (g_array_index (array_, unsigned char, 0), ==, 0);
- g_assert_cmpuint (g_array_index (array_, unsigned char, 1), ==, 49);
- g_assert_cmpuint (g_array_index (array_, unsigned char, 2), ==, 0xFF);
- g_assert_cmpuint (g_array_index (array_, unsigned char, 3), ==, 51);
+ g_assert_cmpuint (v->len, ==, 4);
+ g_assert_cmpuint (g_array_index (v, unsigned char, 0), ==, 0);
+ g_assert_cmpuint (g_array_index (v, unsigned char, 1), ==, 49);
+ g_assert_cmpuint (g_array_index (v, unsigned char, 2), ==, 0xFF);
+ g_assert_cmpuint (g_array_index (v, unsigned char, 3), ==, 51);
+}
+
+/**
+ * gi_marshalling_tests_gbytes_full_return:
+ *
+ * Returns: (transfer full):
+ */
+GBytes *
+gi_marshalling_tests_gbytes_full_return (void)
+{
+ static guint8 data[] = { 0, 49, 0xFF, 51 };
+
+ return g_bytes_new_static (data, G_N_ELEMENTS (data));
+}
+
+/**
+ * gi_marshalling_tests_gbytes_none_in:
+ */
+void
+gi_marshalling_tests_gbytes_none_in (GBytes *v)
+{
+ const guint8 *data;
+ gsize len;
+ data = g_bytes_get_data (v, &len);
+
+ g_assert_cmpuint (len, ==, 4);
+ g_assert_cmpuint (data[0], ==, 0);
+ g_assert_cmpuint (data[1], ==, 49);
+ g_assert_cmpuint (data[2], ==, 0xFF);
+ g_assert_cmpuint (data[3], ==, 51);
}
/**
@@ -2206,12 +2338,12 @@ gi_marshalling_tests_bytearray_none_in (GByteArray *array_)
GStrv
gi_marshalling_tests_gstrv_return (void)
{
- GStrv values = g_new0 (gchar*, 4);
- values[0] = g_strdup ("0");
- values[1] = g_strdup ("1");
- values[2] = g_strdup ("2");
- values[3] = NULL;
- return values;
+ GStrv values = g_new0 (gchar *, 4);
+ values[0] = g_strdup ("0");
+ values[1] = g_strdup ("1");
+ values[2] = g_strdup ("2");
+ values[3] = NULL;
+ return values;
}
/**
@@ -2221,10 +2353,10 @@ gi_marshalling_tests_gstrv_return (void)
void
gi_marshalling_tests_gstrv_in (GStrv g_strv)
{
- g_assert_cmpint(g_strv_length(g_strv), ==, 3);
- g_assert_cmpstr(g_strv[0], ==, "0");
- g_assert_cmpstr(g_strv[1], ==, "1");
- g_assert_cmpstr(g_strv[2], ==, "2");
+ g_assert_cmpint (g_strv_length (g_strv), ==, 3);
+ g_assert_cmpstr (g_strv[0], ==, "0");
+ g_assert_cmpstr (g_strv[1], ==, "1");
+ g_assert_cmpstr (g_strv[2], ==, "2");
}
/**
@@ -2234,8 +2366,8 @@ gi_marshalling_tests_gstrv_in (GStrv g_strv)
void
gi_marshalling_tests_gstrv_out (GStrv *g_strv)
{
- static gchar *values[] = {"0", "1", "2", NULL};
- *g_strv = values;
+ static gchar *values[] = { "0", "1", "2", NULL };
+ *g_strv = values;
}
/**
@@ -2245,14 +2377,14 @@ gi_marshalling_tests_gstrv_out (GStrv *g_strv)
void
gi_marshalling_tests_gstrv_inout (GStrv *g_strv)
{
- static gchar *values[] = {"-1", "0", "1", "2", NULL};
+ static gchar *values[] = { "-1", "0", "1", "2", NULL };
- g_assert(g_strv_length(*g_strv) == 3);
- g_assert(strcmp((*g_strv)[0], "0") == 0);
- g_assert(strcmp((*g_strv)[1], "1") == 0);
- g_assert(strcmp((*g_strv)[2], "2") == 0);
+ g_assert (g_strv_length (*g_strv) == 3);
+ g_assert (strcmp ((*g_strv)[0], "0") == 0);
+ g_assert (strcmp ((*g_strv)[1], "1") == 0);
+ g_assert (strcmp ((*g_strv)[2], "2") == 0);
- *g_strv = values;
+ *g_strv = values;
}
/**
@@ -2263,16 +2395,36 @@ gi_marshalling_tests_gstrv_inout (GStrv *g_strv)
GList *
gi_marshalling_tests_glist_int_none_return (void)
{
- static GList *list = NULL;
+ static GList *list = NULL;
+
+ if (list == NULL)
+ {
+ list = g_list_append (list, GINT_TO_POINTER (-1));
+ list = g_list_append (list, GINT_TO_POINTER (0));
+ list = g_list_append (list, GINT_TO_POINTER (1));
+ list = g_list_append (list, GINT_TO_POINTER (2));
+ }
+
+ return list;
+}
+
+/**
+ * gi_marshalling_tests_glist_uint32_none_return:
+ *
+ * Returns: (element-type guint32) (transfer none):
+ */
+GList *
+gi_marshalling_tests_glist_uint32_none_return (void)
+{
+ static GList *list = NULL;
- if (list == NULL) {
- list = g_list_append(list, GINT_TO_POINTER(-1));
- list = g_list_append(list, GINT_TO_POINTER(0));
- list = g_list_append(list, GINT_TO_POINTER(1));
- list = g_list_append(list, GINT_TO_POINTER(2));
+ if (list == NULL)
+ {
+ list = g_list_append (list, GUINT_TO_POINTER (0));
+ list = g_list_append (list, GUINT_TO_POINTER (G_MAXUINT32));
}
- return list;
+ return list;
}
/**
@@ -2283,15 +2435,16 @@ gi_marshalling_tests_glist_int_none_return (void)
GList *
gi_marshalling_tests_glist_utf8_none_return (void)
{
- static GList *list = NULL;
+ static GList *list = NULL;
- if (list == NULL) {
- list = g_list_append(list, "0");
- list = g_list_append(list, "1");
- list = g_list_append(list, "2");
+ if (list == NULL)
+ {
+ list = g_list_append (list, "0");
+ list = g_list_append (list, "1");
+ list = g_list_append (list, "2");
}
- return list;
+ return list;
}
/**
@@ -2302,13 +2455,13 @@ gi_marshalling_tests_glist_utf8_none_return (void)
GList *
gi_marshalling_tests_glist_utf8_container_return (void)
{
- GList *list = NULL;
+ GList *list = NULL;
- list = g_list_append(list, "0");
- list = g_list_append(list, "1");
- list = g_list_append(list, "2");
+ list = g_list_append (list, "0");
+ list = g_list_append (list, "1");
+ list = g_list_append (list, "2");
- return list;
+ return list;
}
/**
@@ -2319,13 +2472,13 @@ gi_marshalling_tests_glist_utf8_container_return (void)
GList *
gi_marshalling_tests_glist_utf8_full_return (void)
{
- GList *list = NULL;
+ GList *list = NULL;
- list = g_list_append(list, g_strdup("0"));
- list = g_list_append(list, g_strdup("1"));
- list = g_list_append(list, g_strdup("2"));
+ list = g_list_append (list, g_strdup ("0"));
+ list = g_list_append (list, g_strdup ("1"));
+ list = g_list_append (list, g_strdup ("2"));
- return list;
+ return list;
}
/**
@@ -2335,11 +2488,23 @@ gi_marshalling_tests_glist_utf8_full_return (void)
void
gi_marshalling_tests_glist_int_none_in (GList *list)
{
- g_assert_cmpint(g_list_length(list), ==, 4);
- g_assert_cmpint(GPOINTER_TO_INT(g_list_nth_data(list, 0)), ==, -1);
- g_assert_cmpint(GPOINTER_TO_INT(g_list_nth_data(list, 1)), ==, 0);
- g_assert_cmpint(GPOINTER_TO_INT(g_list_nth_data(list, 2)), ==, 1);
- g_assert_cmpint(GPOINTER_TO_INT(g_list_nth_data(list, 3)), ==, 2);
+ g_assert_cmpint (g_list_length (list), ==, 4);
+ g_assert_cmpint (GPOINTER_TO_INT (g_list_nth_data (list, 0)), ==, -1);
+ g_assert_cmpint (GPOINTER_TO_INT (g_list_nth_data (list, 1)), ==, 0);
+ g_assert_cmpint (GPOINTER_TO_INT (g_list_nth_data (list, 2)), ==, 1);
+ g_assert_cmpint (GPOINTER_TO_INT (g_list_nth_data (list, 3)), ==, 2);
+}
+
+/**
+ * gi_marshalling_tests_glist_uint32_none_in:
+ * @list: (element-type guint32) (transfer none):
+ */
+void
+gi_marshalling_tests_glist_uint32_none_in (GList *list)
+{
+ g_assert_cmpint (g_list_length (list), ==, 2);
+ g_assert_cmpint (GPOINTER_TO_UINT (g_list_nth_data (list, 0)), ==, 0);
+ g_assert_cmpint (GPOINTER_TO_UINT (g_list_nth_data (list, 1)), ==, G_MAXUINT32);
}
/**
@@ -2349,10 +2514,10 @@ gi_marshalling_tests_glist_int_none_in (GList *list)
void
gi_marshalling_tests_glist_utf8_none_in (GList *list)
{
- g_assert_cmpint(g_list_length(list), ==, 3);
- g_assert_cmpint(strcmp(g_list_nth_data(list, 0), "0"), ==, 0);
- g_assert_cmpint(strcmp(g_list_nth_data(list, 1), "1"), ==, 0);
- g_assert_cmpint(strcmp(g_list_nth_data(list, 2), "2"), ==, 0);
+ g_assert_cmpint (g_list_length (list), ==, 3);
+ g_assert_cmpint (strcmp (g_list_nth_data (list, 0), "0"), ==, 0);
+ g_assert_cmpint (strcmp (g_list_nth_data (list, 1), "1"), ==, 0);
+ g_assert_cmpint (strcmp (g_list_nth_data (list, 2), "2"), ==, 0);
}
/**
@@ -2362,15 +2527,16 @@ gi_marshalling_tests_glist_utf8_none_in (GList *list)
void
gi_marshalling_tests_glist_utf8_none_out (GList **list)
{
- static GList *values = NULL;
+ static GList *values = NULL;
- if (values == NULL) {
- values = g_list_append(values, "0");
- values = g_list_append(values, "1");
- values = g_list_append(values, "2");
+ if (values == NULL)
+ {
+ values = g_list_append (values, "0");
+ values = g_list_append (values, "1");
+ values = g_list_append (values, "2");
}
- *list = values;
+ *list = values;
}
/**
@@ -2380,11 +2546,11 @@ gi_marshalling_tests_glist_utf8_none_out (GList **list)
void
gi_marshalling_tests_glist_utf8_container_out (GList **list)
{
- *list = NULL;
+ *list = NULL;
- *list = g_list_append(*list, "0");
- *list = g_list_append(*list, "1");
- *list = g_list_append(*list, "2");
+ *list = g_list_append (*list, "0");
+ *list = g_list_append (*list, "1");
+ *list = g_list_append (*list, "2");
}
/**
@@ -2394,11 +2560,11 @@ gi_marshalling_tests_glist_utf8_container_out (GList **list)
void
gi_marshalling_tests_glist_utf8_full_out (GList **list)
{
- *list = NULL;
+ *list = NULL;
- *list = g_list_append(*list, g_strdup("0"));
- *list = g_list_append(*list, g_strdup("1"));
- *list = g_list_append(*list, g_strdup("2"));
+ *list = g_list_append (*list, g_strdup ("0"));
+ *list = g_list_append (*list, g_strdup ("1"));
+ *list = g_list_append (*list, g_strdup ("2"));
}
/**
@@ -2408,21 +2574,22 @@ gi_marshalling_tests_glist_utf8_full_out (GList **list)
void
gi_marshalling_tests_glist_utf8_none_inout (GList **list)
{
- static GList *values = NULL;
+ static GList *values = NULL;
- g_assert_cmpint(g_list_length(*list), ==, 3);
- g_assert_cmpstr(g_list_nth_data(*list, 0), ==, "0");
- g_assert_cmpstr(g_list_nth_data(*list, 1), ==, "1");
- g_assert_cmpstr(g_list_nth_data(*list, 2), ==, "2");
+ g_assert_cmpint (g_list_length (*list), ==, 3);
+ g_assert_cmpstr (g_list_nth_data (*list, 0), ==, "0");
+ g_assert_cmpstr (g_list_nth_data (*list, 1), ==, "1");
+ g_assert_cmpstr (g_list_nth_data (*list, 2), ==, "2");
- if (values == NULL) {
- values = g_list_append(values, "-2");
- values = g_list_append(values, "-1");
- values = g_list_append(values, "0");
- values = g_list_append(values, "1");
+ if (values == NULL)
+ {
+ values = g_list_append (values, "-2");
+ values = g_list_append (values, "-1");
+ values = g_list_append (values, "0");
+ values = g_list_append (values, "1");
}
- *list = values;
+ *list = values;
}
/**
@@ -2432,19 +2599,20 @@ gi_marshalling_tests_glist_utf8_none_inout (GList **list)
void
gi_marshalling_tests_glist_utf8_container_inout (GList **list)
{
- GList *result = NULL;
+ GList *result = NULL;
- g_assert_cmpint(g_list_length(*list), ==, 3);
- g_assert_cmpstr(g_list_nth_data(*list, 0), ==, "0");
- g_assert_cmpstr(g_list_nth_data(*list, 1), ==, "1");
- g_assert_cmpstr(g_list_nth_data(*list, 2), ==, "2");
+ g_assert_cmpint (g_list_length (*list), ==, 3);
+ g_assert_cmpstr (g_list_nth_data (*list, 0), ==, "0");
+ g_assert_cmpstr (g_list_nth_data (*list, 1), ==, "1");
+ g_assert_cmpstr (g_list_nth_data (*list, 2), ==, "2");
- result = g_list_prepend(result, "1");
- result = g_list_prepend(result, "0");
- result = g_list_prepend(result, "-1");
- result = g_list_prepend(result, "-2");
+ result = g_list_prepend (result, "1");
+ result = g_list_prepend (result, "0");
+ result = g_list_prepend (result, "-1");
+ result = g_list_prepend (result, "-2");
- *list = result;
+ g_list_free (*list);
+ *list = result;
}
/**
@@ -2454,19 +2622,20 @@ gi_marshalling_tests_glist_utf8_container_inout (GList **list)
void
gi_marshalling_tests_glist_utf8_full_inout (GList **list)
{
- GList *result = NULL;
+ GList *result = NULL;
- g_assert_cmpint(g_list_length(*list), ==, 3);
- g_assert_cmpstr(g_list_nth_data(*list, 0), ==, "0");
- g_assert_cmpstr(g_list_nth_data(*list, 1), ==, "1");
- g_assert_cmpstr(g_list_nth_data(*list, 2), ==, "2");
+ g_assert_cmpint (g_list_length (*list), ==, 3);
+ g_assert_cmpstr (g_list_nth_data (*list, 0), ==, "0");
+ g_assert_cmpstr (g_list_nth_data (*list, 1), ==, "1");
+ g_assert_cmpstr (g_list_nth_data (*list, 2), ==, "2");
- result = g_list_prepend(result, g_strdup("1"));
- result = g_list_prepend(result, g_strdup("0"));
- result = g_list_prepend(result, g_strdup("-1"));
- result = g_list_prepend(result, g_strdup("-2"));
+ result = g_list_prepend (result, g_strdup ("1"));
+ result = g_list_prepend (result, g_strdup ("0"));
+ result = g_list_prepend (result, g_strdup ("-1"));
+ result = g_list_prepend (result, g_strdup ("-2"));
- *list = result;
+ g_list_free_full (*list, g_free);
+ *list = result;
}
@@ -2478,17 +2647,18 @@ gi_marshalling_tests_glist_utf8_full_inout (GList **list)
GSList *
gi_marshalling_tests_gslist_int_none_return (void)
{
- static GSList *list = NULL;
+ static GSList *list = NULL;
- if (list == NULL) {
- list = g_slist_prepend(list, GINT_TO_POINTER(-1));
- list = g_slist_prepend(list, GINT_TO_POINTER(0));
- list = g_slist_prepend(list, GINT_TO_POINTER(1));
- list = g_slist_prepend(list, GINT_TO_POINTER(2));
- list = g_slist_reverse(list);
+ if (list == NULL)
+ {
+ list = g_slist_prepend (list, GINT_TO_POINTER (-1));
+ list = g_slist_prepend (list, GINT_TO_POINTER (0));
+ list = g_slist_prepend (list, GINT_TO_POINTER (1));
+ list = g_slist_prepend (list, GINT_TO_POINTER (2));
+ list = g_slist_reverse (list);
}
- return list;
+ return list;
}
/**
@@ -2499,16 +2669,17 @@ gi_marshalling_tests_gslist_int_none_return (void)
GSList *
gi_marshalling_tests_gslist_utf8_none_return (void)
{
- static GSList *list = NULL;
+ static GSList *list = NULL;
- if (list == NULL) {
- list = g_slist_prepend(list, "0");
- list = g_slist_prepend(list, "1");
- list = g_slist_prepend(list, "2");
- list = g_slist_reverse(list);
+ if (list == NULL)
+ {
+ list = g_slist_prepend (list, "0");
+ list = g_slist_prepend (list, "1");
+ list = g_slist_prepend (list, "2");
+ list = g_slist_reverse (list);
}
- return list;
+ return list;
}
/**
@@ -2519,14 +2690,14 @@ gi_marshalling_tests_gslist_utf8_none_return (void)
GSList *
gi_marshalling_tests_gslist_utf8_container_return (void)
{
- GSList *list = NULL;
+ GSList *list = NULL;
- list = g_slist_prepend(list, "0");
- list = g_slist_prepend(list, "1");
- list = g_slist_prepend(list, "2");
- list = g_slist_reverse(list);
+ list = g_slist_prepend (list, "0");
+ list = g_slist_prepend (list, "1");
+ list = g_slist_prepend (list, "2");
+ list = g_slist_reverse (list);
- return list;
+ return list;
}
/**
@@ -2537,14 +2708,14 @@ gi_marshalling_tests_gslist_utf8_container_return (void)
GSList *
gi_marshalling_tests_gslist_utf8_full_return (void)
{
- GSList *list = NULL;
+ GSList *list = NULL;
- list = g_slist_prepend(list, g_strdup("0"));
- list = g_slist_prepend(list, g_strdup("1"));
- list = g_slist_prepend(list, g_strdup("2"));
- list = g_slist_reverse(list);
+ list = g_slist_prepend (list, g_strdup ("0"));
+ list = g_slist_prepend (list, g_strdup ("1"));
+ list = g_slist_prepend (list, g_strdup ("2"));
+ list = g_slist_reverse (list);
- return list;
+ return list;
}
/**
@@ -2554,11 +2725,11 @@ gi_marshalling_tests_gslist_utf8_full_return (void)
void
gi_marshalling_tests_gslist_int_none_in (GSList *list)
{
- g_assert_cmpint(g_slist_length(list), ==, 4);
- g_assert_cmpint(GPOINTER_TO_INT(g_slist_nth_data(list, 0)), ==, -1);
- g_assert_cmpint(GPOINTER_TO_INT(g_slist_nth_data(list, 1)), ==, 0);
- g_assert_cmpint(GPOINTER_TO_INT(g_slist_nth_data(list, 2)), ==, 1);
- g_assert_cmpint(GPOINTER_TO_INT(g_slist_nth_data(list, 3)), ==, 2);
+ g_assert_cmpint (g_slist_length (list), ==, 4);
+ g_assert_cmpint (GPOINTER_TO_INT (g_slist_nth_data (list, 0)), ==, -1);
+ g_assert_cmpint (GPOINTER_TO_INT (g_slist_nth_data (list, 1)), ==, 0);
+ g_assert_cmpint (GPOINTER_TO_INT (g_slist_nth_data (list, 2)), ==, 1);
+ g_assert_cmpint (GPOINTER_TO_INT (g_slist_nth_data (list, 3)), ==, 2);
}
/**
@@ -2568,10 +2739,10 @@ gi_marshalling_tests_gslist_int_none_in (GSList *list)
void
gi_marshalling_tests_gslist_utf8_none_in (GSList *list)
{
- g_assert_cmpint(g_slist_length(list), ==, 3);
- g_assert_cmpstr(g_slist_nth_data(list, 0), ==, "0");
- g_assert_cmpstr(g_slist_nth_data(list, 1), ==, "1");
- g_assert_cmpstr(g_slist_nth_data(list, 2), ==, "2");
+ g_assert_cmpint (g_slist_length (list), ==, 3);
+ g_assert_cmpstr (g_slist_nth_data (list, 0), ==, "0");
+ g_assert_cmpstr (g_slist_nth_data (list, 1), ==, "1");
+ g_assert_cmpstr (g_slist_nth_data (list, 2), ==, "2");
}
/**
@@ -2581,16 +2752,17 @@ gi_marshalling_tests_gslist_utf8_none_in (GSList *list)
void
gi_marshalling_tests_gslist_utf8_none_out (GSList **list)
{
- static GSList *values = NULL;
+ static GSList *values = NULL;
- if (values == NULL) {
- values = g_slist_prepend(values, "0");
- values = g_slist_prepend(values, "1");
- values = g_slist_prepend(values, "2");
- values = g_slist_reverse(values);
+ if (values == NULL)
+ {
+ values = g_slist_prepend (values, "0");
+ values = g_slist_prepend (values, "1");
+ values = g_slist_prepend (values, "2");
+ values = g_slist_reverse (values);
}
- *list = values;
+ *list = values;
}
/**
@@ -2600,12 +2772,12 @@ gi_marshalling_tests_gslist_utf8_none_out (GSList **list)
void
gi_marshalling_tests_gslist_utf8_container_out (GSList **list)
{
- *list = NULL;
+ *list = NULL;
- *list = g_slist_prepend(*list, "0");
- *list = g_slist_prepend(*list, "1");
- *list = g_slist_prepend(*list, "2");
- *list = g_slist_reverse(*list);
+ *list = g_slist_prepend (*list, "0");
+ *list = g_slist_prepend (*list, "1");
+ *list = g_slist_prepend (*list, "2");
+ *list = g_slist_reverse (*list);
}
/**
@@ -2615,12 +2787,12 @@ gi_marshalling_tests_gslist_utf8_container_out (GSList **list)
void
gi_marshalling_tests_gslist_utf8_full_out (GSList **list)
{
- *list = NULL;
+ *list = NULL;
- *list = g_slist_prepend(*list, g_strdup("0"));
- *list = g_slist_prepend(*list, g_strdup("1"));
- *list = g_slist_prepend(*list, g_strdup("2"));
- *list = g_slist_reverse(*list);
+ *list = g_slist_prepend (*list, g_strdup ("0"));
+ *list = g_slist_prepend (*list, g_strdup ("1"));
+ *list = g_slist_prepend (*list, g_strdup ("2"));
+ *list = g_slist_reverse (*list);
}
/**
@@ -2630,22 +2802,23 @@ gi_marshalling_tests_gslist_utf8_full_out (GSList **list)
void
gi_marshalling_tests_gslist_utf8_none_inout (GSList **list)
{
- static GSList *values = NULL;
+ static GSList *values = NULL;
- g_assert_cmpint(g_slist_length(*list), ==, 3);
- g_assert_cmpstr(g_slist_nth_data(*list, 0), ==, "0");
- g_assert_cmpstr(g_slist_nth_data(*list, 1), ==, "1");
- g_assert_cmpstr(g_slist_nth_data(*list, 2), ==, "2");
+ g_assert_cmpint (g_slist_length (*list), ==, 3);
+ g_assert_cmpstr (g_slist_nth_data (*list, 0), ==, "0");
+ g_assert_cmpstr (g_slist_nth_data (*list, 1), ==, "1");
+ g_assert_cmpstr (g_slist_nth_data (*list, 2), ==, "2");
- if (values == NULL) {
- values = g_slist_prepend(values, "-2");
- values = g_slist_prepend(values, "-1");
- values = g_slist_prepend(values, "0");
- values = g_slist_prepend(values, "1");
- values = g_slist_reverse(values);
+ if (values == NULL)
+ {
+ values = g_slist_prepend (values, "-2");
+ values = g_slist_prepend (values, "-1");
+ values = g_slist_prepend (values, "0");
+ values = g_slist_prepend (values, "1");
+ values = g_slist_reverse (values);
}
- *list = values;
+ *list = values;
}
/**
@@ -2655,19 +2828,20 @@ gi_marshalling_tests_gslist_utf8_none_inout (GSList **list)
void
gi_marshalling_tests_gslist_utf8_container_inout (GSList **list)
{
- GSList *result = NULL;
+ GSList *result = NULL;
- g_assert_cmpint(g_slist_length(*list), ==, 3);
- g_assert_cmpstr(g_slist_nth_data(*list, 0), ==, "0");
- g_assert_cmpstr(g_slist_nth_data(*list, 1), ==, "1");
- g_assert_cmpstr(g_slist_nth_data(*list, 2), ==, "2");
+ g_assert_cmpint (g_slist_length (*list), ==, 3);
+ g_assert_cmpstr (g_slist_nth_data (*list, 0), ==, "0");
+ g_assert_cmpstr (g_slist_nth_data (*list, 1), ==, "1");
+ g_assert_cmpstr (g_slist_nth_data (*list, 2), ==, "2");
- result = g_slist_prepend(result, "1");
- result = g_slist_prepend(result, "0");
- result = g_slist_prepend(result, "-1");
- result = g_slist_prepend(result, "-2");
+ result = g_slist_prepend (result, "1");
+ result = g_slist_prepend (result, "0");
+ result = g_slist_prepend (result, "-1");
+ result = g_slist_prepend (result, "-2");
- *list = result;
+ g_slist_free (*list);
+ *list = result;
}
/**
@@ -2677,19 +2851,20 @@ gi_marshalling_tests_gslist_utf8_container_inout (GSList **list)
void
gi_marshalling_tests_gslist_utf8_full_inout (GSList **list)
{
- GSList *result = NULL;
+ GSList *result = NULL;
- g_assert_cmpint(g_slist_length(*list), ==, 3);
- g_assert_cmpstr(g_slist_nth_data(*list, 0), ==, "0");
- g_assert_cmpstr(g_slist_nth_data(*list, 1), ==, "1");
- g_assert_cmpstr(g_slist_nth_data(*list, 2), ==, "2");
+ g_assert_cmpint (g_slist_length (*list), ==, 3);
+ g_assert_cmpstr (g_slist_nth_data (*list, 0), ==, "0");
+ g_assert_cmpstr (g_slist_nth_data (*list, 1), ==, "1");
+ g_assert_cmpstr (g_slist_nth_data (*list, 2), ==, "2");
- result = g_slist_prepend(result, g_strdup("1"));
- result = g_slist_prepend(result, g_strdup("0"));
- result = g_slist_prepend(result, g_strdup("-1"));
- result = g_slist_prepend(result, g_strdup("-2"));
+ result = g_slist_prepend (result, g_strdup ("1"));
+ result = g_slist_prepend (result, g_strdup ("0"));
+ result = g_slist_prepend (result, g_strdup ("-1"));
+ result = g_slist_prepend (result, g_strdup ("-2"));
- *list = result;
+ g_slist_free_full (*list, g_free);
+ *list = result;
}
@@ -2701,17 +2876,18 @@ gi_marshalling_tests_gslist_utf8_full_inout (GSList **list)
GHashTable *
gi_marshalling_tests_ghashtable_int_none_return (void)
{
- static GHashTable *hash_table = NULL;
+ static GHashTable *hash_table = NULL;
- if (hash_table == NULL) {
- hash_table = g_hash_table_new(NULL, NULL);
- g_hash_table_insert(hash_table, GINT_TO_POINTER(-1), GINT_TO_POINTER(1));
- g_hash_table_insert(hash_table, GINT_TO_POINTER(0), GINT_TO_POINTER(0));
- g_hash_table_insert(hash_table, GINT_TO_POINTER(1), GINT_TO_POINTER(-1));
- g_hash_table_insert(hash_table, GINT_TO_POINTER(2), GINT_TO_POINTER(-2));
+ if (hash_table == NULL)
+ {
+ hash_table = g_hash_table_new (NULL, NULL);
+ g_hash_table_insert (hash_table, GINT_TO_POINTER (-1), GINT_TO_POINTER (1));
+ g_hash_table_insert (hash_table, GINT_TO_POINTER (0), GINT_TO_POINTER (0));
+ g_hash_table_insert (hash_table, GINT_TO_POINTER (1), GINT_TO_POINTER (-1));
+ g_hash_table_insert (hash_table, GINT_TO_POINTER (2), GINT_TO_POINTER (-2));
}
- return hash_table;
+ return hash_table;
}
/**
@@ -2722,17 +2898,18 @@ gi_marshalling_tests_ghashtable_int_none_return (void)
GHashTable *
gi_marshalling_tests_ghashtable_utf8_none_return (void)
{
- static GHashTable *hash_table = NULL;
+ static GHashTable *hash_table = NULL;
- if (hash_table == NULL) {
- hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert(hash_table, "-1", "1");
- g_hash_table_insert(hash_table, "0", "0");
- g_hash_table_insert(hash_table, "1", "-1");
- g_hash_table_insert(hash_table, "2", "-2");
+ if (hash_table == NULL)
+ {
+ hash_table = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_insert (hash_table, "-1", "1");
+ g_hash_table_insert (hash_table, "0", "0");
+ g_hash_table_insert (hash_table, "1", "-1");
+ g_hash_table_insert (hash_table, "2", "-2");
}
- return hash_table;
+ return hash_table;
}
/**
@@ -2743,15 +2920,15 @@ gi_marshalling_tests_ghashtable_utf8_none_return (void)
GHashTable *
gi_marshalling_tests_ghashtable_utf8_container_return (void)
{
- GHashTable *hash_table = NULL;
+ GHashTable *hash_table = NULL;
- hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert(hash_table, "-1", "1");
- g_hash_table_insert(hash_table, "0", "0");
- g_hash_table_insert(hash_table, "1", "-1");
- g_hash_table_insert(hash_table, "2", "-2");
+ hash_table = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_insert (hash_table, "-1", "1");
+ g_hash_table_insert (hash_table, "0", "0");
+ g_hash_table_insert (hash_table, "1", "-1");
+ g_hash_table_insert (hash_table, "2", "-2");
- return hash_table;
+ return hash_table;
}
/**
@@ -2762,15 +2939,15 @@ gi_marshalling_tests_ghashtable_utf8_container_return (void)
GHashTable *
gi_marshalling_tests_ghashtable_utf8_full_return (void)
{
- GHashTable *hash_table = NULL;
+ GHashTable *hash_table = NULL;
- hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert(hash_table, g_strdup("-1"), g_strdup("1"));
- g_hash_table_insert(hash_table, g_strdup("0"), g_strdup("0"));
- g_hash_table_insert(hash_table, g_strdup("1"), g_strdup("-1"));
- g_hash_table_insert(hash_table, g_strdup("2"), g_strdup("-2"));
+ hash_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+ g_hash_table_insert (hash_table, g_strdup ("-1"), g_strdup ("1"));
+ g_hash_table_insert (hash_table, g_strdup ("0"), g_strdup ("0"));
+ g_hash_table_insert (hash_table, g_strdup ("1"), g_strdup ("-1"));
+ g_hash_table_insert (hash_table, g_strdup ("2"), g_strdup ("-2"));
- return hash_table;
+ return hash_table;
}
/**
@@ -2780,10 +2957,10 @@ gi_marshalling_tests_ghashtable_utf8_full_return (void)
void
gi_marshalling_tests_ghashtable_int_none_in (GHashTable *hash_table)
{
- g_assert_cmpint(GPOINTER_TO_INT(g_hash_table_lookup(hash_table, GINT_TO_POINTER(-1))), ==, 1);
- g_assert_cmpint(GPOINTER_TO_INT(g_hash_table_lookup(hash_table, GINT_TO_POINTER(0))), ==, 0);
- g_assert_cmpint(GPOINTER_TO_INT(g_hash_table_lookup(hash_table, GINT_TO_POINTER(1))), ==, -1);
- g_assert_cmpint(GPOINTER_TO_INT(g_hash_table_lookup(hash_table, GINT_TO_POINTER(2))), ==, -2);
+ g_assert_cmpint (GPOINTER_TO_INT (g_hash_table_lookup (hash_table, GINT_TO_POINTER (-1))), ==, 1);
+ g_assert_cmpint (GPOINTER_TO_INT (g_hash_table_lookup (hash_table, GINT_TO_POINTER (0))), ==, 0);
+ g_assert_cmpint (GPOINTER_TO_INT (g_hash_table_lookup (hash_table, GINT_TO_POINTER (1))), ==, -1);
+ g_assert_cmpint (GPOINTER_TO_INT (g_hash_table_lookup (hash_table, GINT_TO_POINTER (2))), ==, -2);
}
/**
@@ -2793,10 +2970,10 @@ gi_marshalling_tests_ghashtable_int_none_in (GHashTable *hash_table)
void
gi_marshalling_tests_ghashtable_utf8_none_in (GHashTable *hash_table)
{
- g_assert_cmpstr(g_hash_table_lookup(hash_table, "-1"), ==, "1");
- g_assert_cmpstr(g_hash_table_lookup(hash_table, "0"), ==, "0");
- g_assert_cmpstr(g_hash_table_lookup(hash_table, "1"), ==, "-1");
- g_assert_cmpstr(g_hash_table_lookup(hash_table, "2"), ==, "-2");
+ g_assert_cmpstr (g_hash_table_lookup (hash_table, "-1"), ==, "1");
+ g_assert_cmpstr (g_hash_table_lookup (hash_table, "0"), ==, "0");
+ g_assert_cmpstr (g_hash_table_lookup (hash_table, "1"), ==, "-1");
+ g_assert_cmpstr (g_hash_table_lookup (hash_table, "2"), ==, "-2");
}
/**
@@ -2806,17 +2983,18 @@ gi_marshalling_tests_ghashtable_utf8_none_in (GHashTable *hash_table)
void
gi_marshalling_tests_ghashtable_utf8_none_out (GHashTable **hash_table)
{
- static GHashTable *new_hash_table = NULL;
+ static GHashTable *new_hash_table = NULL;
- if (new_hash_table == NULL) {
- new_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert(new_hash_table, "-1", "1");
- g_hash_table_insert(new_hash_table, "0", "0");
- g_hash_table_insert(new_hash_table, "1", "-1");
- g_hash_table_insert(new_hash_table, "2", "-2");
+ if (new_hash_table == NULL)
+ {
+ new_hash_table = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_insert (new_hash_table, "-1", "1");
+ g_hash_table_insert (new_hash_table, "0", "0");
+ g_hash_table_insert (new_hash_table, "1", "-1");
+ g_hash_table_insert (new_hash_table, "2", "-2");
}
- *hash_table = new_hash_table;
+ *hash_table = new_hash_table;
}
/**
@@ -2826,11 +3004,11 @@ gi_marshalling_tests_ghashtable_utf8_none_out (GHashTable **hash_table)
void
gi_marshalling_tests_ghashtable_utf8_container_out (GHashTable **hash_table)
{
- *hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert(*hash_table, "-1", "1");
- g_hash_table_insert(*hash_table, "0", "0");
- g_hash_table_insert(*hash_table, "1", "-1");
- g_hash_table_insert(*hash_table, "2", "-2");
+ *hash_table = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_insert (*hash_table, "-1", "1");
+ g_hash_table_insert (*hash_table, "0", "0");
+ g_hash_table_insert (*hash_table, "1", "-1");
+ g_hash_table_insert (*hash_table, "2", "-2");
}
/**
@@ -2840,11 +3018,11 @@ gi_marshalling_tests_ghashtable_utf8_container_out (GHashTable **hash_table)
void
gi_marshalling_tests_ghashtable_utf8_full_out (GHashTable **hash_table)
{
- *hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert(*hash_table, g_strdup("-1"), g_strdup("1"));
- g_hash_table_insert(*hash_table, g_strdup("0"), g_strdup("0"));
- g_hash_table_insert(*hash_table, g_strdup("1"), g_strdup("-1"));
- g_hash_table_insert(*hash_table, g_strdup("2"), g_strdup("-2"));
+ *hash_table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+ g_hash_table_insert (*hash_table, g_strdup ("-1"), g_strdup ("1"));
+ g_hash_table_insert (*hash_table, g_strdup ("0"), g_strdup ("0"));
+ g_hash_table_insert (*hash_table, g_strdup ("1"), g_strdup ("-1"));
+ g_hash_table_insert (*hash_table, g_strdup ("2"), g_strdup ("-2"));
}
/**
@@ -2854,21 +3032,22 @@ gi_marshalling_tests_ghashtable_utf8_full_out (GHashTable **hash_table)
void
gi_marshalling_tests_ghashtable_utf8_none_inout (GHashTable **hash_table)
{
- static GHashTable *new_hash_table = NULL;
+ static GHashTable *new_hash_table = NULL;
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "-1"), ==, "1");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "0"), ==, "0");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "1"), ==, "-1");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "2"), ==, "-2");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "-1"), ==, "1");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "0"), ==, "0");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "1"), ==, "-1");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "2"), ==, "-2");
- if (new_hash_table == NULL) {
- new_hash_table = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert(new_hash_table, "-1", "1");
- g_hash_table_insert(new_hash_table, "0", "0");
- g_hash_table_insert(new_hash_table, "1", "1");
+ if (new_hash_table == NULL)
+ {
+ new_hash_table = g_hash_table_new (g_str_hash, g_str_equal);
+ g_hash_table_insert (new_hash_table, "-1", "1");
+ g_hash_table_insert (new_hash_table, "0", "0");
+ g_hash_table_insert (new_hash_table, "1", "1");
}
- *hash_table = new_hash_table;
+ *hash_table = new_hash_table;
}
/**
@@ -2878,18 +3057,19 @@ gi_marshalling_tests_ghashtable_utf8_none_inout (GHashTable **hash_table)
void
gi_marshalling_tests_ghashtable_utf8_container_inout (GHashTable **hash_table)
{
- GHashTable *result = g_hash_table_new(g_str_hash, g_str_equal);
+ GHashTable *result = g_hash_table_new (g_str_hash, g_str_equal);
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "-1"), ==, "1");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "0"), ==, "0");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "1"), ==, "-1");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "2"), ==, "-2");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "-1"), ==, "1");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "0"), ==, "0");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "1"), ==, "-1");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "2"), ==, "-2");
- g_hash_table_insert(result, "-1", "1");
- g_hash_table_insert(result, "0", "0");
- g_hash_table_insert(result, "1", "1");
+ g_hash_table_insert (result, "-1", "1");
+ g_hash_table_insert (result, "0", "0");
+ g_hash_table_insert (result, "1", "1");
- *hash_table = result;
+ g_hash_table_unref (*hash_table);
+ *hash_table = result;
}
/**
@@ -2899,19 +3079,20 @@ gi_marshalling_tests_ghashtable_utf8_container_inout (GHashTable **hash_table)
void
gi_marshalling_tests_ghashtable_utf8_full_inout (GHashTable **hash_table)
{
- GHashTable *result = g_hash_table_new_full(g_str_hash, g_str_equal,
- g_free, g_free);
+ GHashTable *result = g_hash_table_new_full (g_str_hash, g_str_equal,
+ g_free, g_free);
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "-1"), ==, "1");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "0"), ==, "0");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "1"), ==, "-1");
- g_assert_cmpstr(g_hash_table_lookup(*hash_table, "2"), ==, "-2");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "-1"), ==, "1");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "0"), ==, "0");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "1"), ==, "-1");
+ g_assert_cmpstr (g_hash_table_lookup (*hash_table, "2"), ==, "-2");
- g_hash_table_insert(result, g_strdup("-1"), g_strdup("1"));
- g_hash_table_insert(result, g_strdup("0"), g_strdup("0"));
- g_hash_table_insert(result, g_strdup("1"), g_strdup("1"));
+ g_hash_table_insert (result, g_strdup ("-1"), g_strdup ("1"));
+ g_hash_table_insert (result, g_strdup ("0"), g_strdup ("0"));
+ g_hash_table_insert (result, g_strdup ("1"), g_strdup ("1"));
- *hash_table = result;
+ g_hash_table_unref (*hash_table);
+ *hash_table = result;
}
@@ -2923,15 +3104,16 @@ gi_marshalling_tests_ghashtable_utf8_full_inout (GHashTable **hash_table)
GValue *
gi_marshalling_tests_gvalue_return (void)
{
- static GValue *value = NULL;
+ static GValue *value = NULL;
- if (value == NULL) {
- value = g_new0(GValue, 1);
- g_value_init(value, G_TYPE_INT);
- g_value_set_int(value, 42);
+ if (value == NULL)
+ {
+ value = g_new0 (GValue, 1);
+ g_value_init (value, G_TYPE_INT);
+ g_value_set_int (value, 42);
}
- return value;
+ return value;
}
/**
@@ -2941,7 +3123,7 @@ gi_marshalling_tests_gvalue_return (void)
void
gi_marshalling_tests_gvalue_in (GValue *value)
{
- g_assert_cmpint(g_value_get_int(value), ==, 42);
+ g_assert_cmpint (g_value_get_int (value), ==, 42);
}
/**
@@ -2951,7 +3133,7 @@ gi_marshalling_tests_gvalue_in (GValue *value)
void
gi_marshalling_tests_gvalue_int64_in (GValue *value)
{
- g_assert_cmpint(g_value_get_int64(value), ==, G_MAXINT64);
+ g_assert_cmpint (g_value_get_int64 (value), ==, G_MAXINT64);
}
/**
@@ -2962,7 +3144,21 @@ gi_marshalling_tests_gvalue_int64_in (GValue *value)
void
gi_marshalling_tests_gvalue_in_with_type (GValue *value, GType type)
{
- g_assert(g_type_is_a(G_VALUE_TYPE(value), type));
+ g_assert (g_type_is_a (G_VALUE_TYPE (value), type));
+}
+
+/**
+ * gi_marshalling_tests_gvalue_in_with_modification:
+ * @value: (transfer none):
+ *
+ * Expects a GValue passed by reference which is then modified by
+ * this function.
+ */
+void
+gi_marshalling_tests_gvalue_in_with_modification (GValue *value)
+{
+ g_assert_cmpint (g_value_get_int (value), ==, 42);
+ g_value_set_int (value, 24);
}
/**
@@ -2972,7 +3168,7 @@ gi_marshalling_tests_gvalue_in_with_type (GValue *value, GType type)
void
gi_marshalling_tests_gvalue_in_enum (GValue *value)
{
- g_assert(g_value_get_enum(value) == GI_MARSHALLING_TESTS_ENUM_VALUE3);
+ g_assert (g_value_get_enum (value) == GI_MARSHALLING_TESTS_ENUM_VALUE3);
}
/**
@@ -2982,15 +3178,16 @@ gi_marshalling_tests_gvalue_in_enum (GValue *value)
void
gi_marshalling_tests_gvalue_out (GValue **value)
{
- static GValue *new_value = NULL;
+ static GValue *new_value = NULL;
- if (new_value == NULL) {
- new_value = g_new0(GValue, 1);
- g_value_init(new_value, G_TYPE_INT);
- g_value_set_int(new_value, 42);
+ if (new_value == NULL)
+ {
+ new_value = g_new0 (GValue, 1);
+ g_value_init (new_value, G_TYPE_INT);
+ g_value_set_int (new_value, 42);
}
- *value = new_value;
+ *value = new_value;
}
/**
@@ -3000,15 +3197,16 @@ gi_marshalling_tests_gvalue_out (GValue **value)
void
gi_marshalling_tests_gvalue_int64_out (GValue **value)
{
- static GValue *new_value = NULL;
+ static GValue *new_value = NULL;
- if (new_value == NULL) {
- new_value = g_new0(GValue, 1);
- g_value_init(new_value, G_TYPE_INT64);
- g_value_set_int64(new_value, G_MAXINT64);
+ if (new_value == NULL)
+ {
+ new_value = g_new0 (GValue, 1);
+ g_value_init (new_value, G_TYPE_INT64);
+ g_value_set_int64 (new_value, G_MAXINT64);
}
- *value = new_value;
+ *value = new_value;
}
/**
@@ -3018,8 +3216,8 @@ gi_marshalling_tests_gvalue_int64_out (GValue **value)
void
gi_marshalling_tests_gvalue_out_caller_allocates (GValue *value)
{
- g_value_init(value, G_TYPE_INT);
- g_value_set_int(value, 42);
+ g_value_init (value, G_TYPE_INT);
+ g_value_set_int (value, 42);
}
/**
@@ -3029,10 +3227,10 @@ gi_marshalling_tests_gvalue_out_caller_allocates (GValue *value)
void
gi_marshalling_tests_gvalue_inout (GValue **value)
{
- g_assert_cmpint(g_value_get_int(*value), ==, 42);
- g_value_unset(*value);
- g_value_init(*value, G_TYPE_STRING);
- g_value_set_string(*value, "42");
+ g_assert_cmpint (g_value_get_int (*value), ==, 42);
+ g_value_unset (*value);
+ g_value_init (*value, G_TYPE_STRING);
+ g_value_set_string (*value, "42");
}
/**
@@ -3041,14 +3239,13 @@ gi_marshalling_tests_gvalue_inout (GValue **value)
* @values: (array length=n_values): an array containing values
*/
void
-gi_marshalling_tests_gvalue_flat_array (guint n_values,
- const GValue *values)
+gi_marshalling_tests_gvalue_flat_array (guint n_values, const GValue *values)
{
- g_assert (n_values == 3);
+ g_assert (n_values == 3);
- g_assert_cmpint (g_value_get_int (&values[0]), ==, 42);
- g_assert_cmpstr (g_value_get_string (&values[1]), ==, "42");
- g_assert_cmpint (g_value_get_boolean (&values[2]), ==, TRUE);
+ g_assert_cmpint (g_value_get_int (&values[0]), ==, 42);
+ g_assert_cmpstr (g_value_get_string (&values[1]), ==, "42");
+ g_assert_cmpint (g_value_get_boolean (&values[2]), ==, TRUE);
}
/**
@@ -3059,18 +3256,18 @@ gi_marshalling_tests_gvalue_flat_array (guint n_values,
GValue *
gi_marshalling_tests_return_gvalue_flat_array (void)
{
- GValue *array = g_new0 (GValue, 3);
+ GValue *array = g_new0 (GValue, 3);
- g_value_init (&array[0], G_TYPE_INT);
- g_value_set_int (&array[0], 42);
+ g_value_init (&array[0], G_TYPE_INT);
+ g_value_set_int (&array[0], 42);
- g_value_init (&array[1], G_TYPE_STRING);
- g_value_set_static_string (&array[1], "42");
+ g_value_init (&array[1], G_TYPE_STRING);
+ g_value_set_static_string (&array[1], "42");
- g_value_init (&array[2], G_TYPE_BOOLEAN);
- g_value_set_boolean (&array[2], TRUE);
+ g_value_init (&array[2], G_TYPE_BOOLEAN);
+ g_value_set_boolean (&array[2], TRUE);
- return array;
+ return array;
}
/**
@@ -3082,16 +3279,14 @@ gi_marshalling_tests_return_gvalue_flat_array (void)
* Returns: (array fixed-size=3) (transfer full): a flat array of [@one, @two, @three]
*/
GValue *
-gi_marshalling_tests_gvalue_flat_array_round_trip (const GValue one,
- const GValue two,
- const GValue three)
+gi_marshalling_tests_gvalue_flat_array_round_trip (const GValue one, const GValue two, const GValue three)
{
- GValue *array = g_new (GValue, 3);
- array[0] = one;
- array[1] = two;
- array[2] = three;
+ GValue *array = g_new (GValue, 3);
+ array[0] = one;
+ array[1] = two;
+ array[2] = three;
- return array;
+ return array;
}
/**
@@ -3101,18 +3296,15 @@ gi_marshalling_tests_gvalue_flat_array_round_trip (const GValue one,
void
gi_marshalling_tests_gclosure_in (GClosure *closure)
{
- GValue return_value = {0, };
+ GValue return_value = { 0, };
- g_value_init (&return_value, G_TYPE_INT);
+ g_value_init (&return_value, G_TYPE_INT);
- g_closure_invoke (closure,
- &return_value,
- 0, NULL,
- NULL);
+ g_closure_invoke (closure, &return_value, 0, NULL, NULL);
- g_assert_cmpint(g_value_get_int (&return_value), ==, 42);
+ g_assert_cmpint (g_value_get_int (&return_value), ==, 42);
- g_value_unset(&return_value);
+ g_value_unset (&return_value);
}
static gint
@@ -3124,17 +3316,14 @@ _closure_return_42 (void)
static void
_marshal_INT__VOID (GClosure *closure,
GValue *return_value,
- guint n_param_values,
- const GValue *param_values,
- gpointer invocation_hint,
- gpointer marshal_data)
+ guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data)
{
typedef gint (*GMarshalFunc_INT__VOID) (void);
register GMarshalFunc_INT__VOID callback;
- register GCClosure *cc = (GCClosure*) closure;
+ register GCClosure *cc = (GCClosure *) closure;
callback = (GMarshalFunc_INT__VOID) cc->callback;
- g_value_set_int(return_value, callback());
+ g_value_set_int (return_value, callback ());
}
/**
@@ -3145,11 +3334,11 @@ _marshal_INT__VOID (GClosure *closure,
GClosure *
gi_marshalling_tests_gclosure_return (void)
{
- GClosure *closure = g_cclosure_new ((GCallback)_closure_return_42,
- NULL, NULL);
- g_closure_set_marshal (closure, _marshal_INT__VOID);
+ GClosure *closure = g_cclosure_new ((GCallback) _closure_return_42,
+ NULL, NULL);
+ g_closure_set_marshal (closure, _marshal_INT__VOID);
- return closure;
+ return closure;
}
@@ -3157,10 +3346,9 @@ gi_marshalling_tests_gclosure_return (void)
* gi_marshalling_tests_callback_return_value_only:
* @callback: (scope call):
*/
-glong
-gi_marshalling_tests_callback_return_value_only (GIMarshallingTestsCallbackReturnValueOnly callback)
+glong gi_marshalling_tests_callback_return_value_only (GIMarshallingTestsCallbackReturnValueOnly callback)
{
- return callback ();
+ return callback ();
}
/**
@@ -3168,11 +3356,9 @@ gi_marshalling_tests_callback_return_value_only (GIMarshallingTestsCallbackRetur
* @callback: (scope call):
* @a: (out):
*/
-void
-gi_marshalling_tests_callback_one_out_parameter (GIMarshallingTestsCallbackOneOutParameter callback,
- gfloat *a)
+void gi_marshalling_tests_callback_one_out_parameter (GIMarshallingTestsCallbackOneOutParameter callback, gfloat *a)
{
- callback (a);
+ callback (a);
}
/**
@@ -3182,11 +3368,10 @@ gi_marshalling_tests_callback_one_out_parameter (GIMarshallingTestsCallbackOneOu
* @b: (out):
*/
void
-gi_marshalling_tests_callback_multiple_out_parameters (GIMarshallingTestsCallbackMultipleOutParameters callback,
- gfloat *a,
- gfloat *b)
+ gi_marshalling_tests_callback_multiple_out_parameters
+ (GIMarshallingTestsCallbackMultipleOutParameters callback, gfloat *a, gfloat *b)
{
- callback (a, b);
+ callback (a, b);
}
/**
@@ -3195,10 +3380,10 @@ gi_marshalling_tests_callback_multiple_out_parameters (GIMarshallingTestsCallbac
* @a: (out):
*/
glong
-gi_marshalling_tests_callback_return_value_and_one_out_parameter (GIMarshallingTestsCallbackReturnValueAndOneOutParameter callback,
- glong *a)
+ gi_marshalling_tests_callback_return_value_and_one_out_parameter
+ (GIMarshallingTestsCallbackReturnValueAndOneOutParameter callback, glong *a)
{
- return callback (a);
+ return callback (a);
}
/**
@@ -3208,11 +3393,10 @@ gi_marshalling_tests_callback_return_value_and_one_out_parameter (GIMarshallingT
* @b: (out):
*/
glong
-gi_marshalling_tests_callback_return_value_and_multiple_out_parameters (GIMarshallingTestsCallbackReturnValueAndMultipleOutParameters callback,
- glong *a,
- glong *b)
+ gi_marshalling_tests_callback_return_value_and_multiple_out_parameters
+ (GIMarshallingTestsCallbackReturnValueAndMultipleOutParameters callback, glong *a, glong *b)
{
- return callback (a, b);
+ return callback (a, b);
}
@@ -3225,190 +3409,200 @@ gi_marshalling_tests_callback_return_value_and_multiple_out_parameters (GIMarsha
gpointer
gi_marshalling_tests_pointer_in_return (gpointer pointer)
{
- return pointer;
+ return pointer;
}
GType
gi_marshalling_tests_genum_get_type (void)
{
- static GType type = 0;
- if (G_UNLIKELY(type == 0)) {
- static const GEnumValue values[] = {
- { GI_MARSHALLING_TESTS_GENUM_VALUE1, "GI_MARSHALLING_TESTS_GENUM_VALUE1", "value1" },
- { GI_MARSHALLING_TESTS_GENUM_VALUE2, "GI_MARSHALLING_TESTS_GENUM_VALUE2", "value2" },
- { GI_MARSHALLING_TESTS_GENUM_VALUE3, "GI_MARSHALLING_TESTS_GENUM_VALUE3", "value3" },
- { 0, NULL, NULL }
- };
- type = g_enum_register_static (g_intern_static_string ("GIMarshallingTestsGEnum"), values);
+ static GType type = 0;
+ if (G_UNLIKELY (type == 0))
+ {
+ static const GEnumValue values[] = {
+ {GI_MARSHALLING_TESTS_GENUM_VALUE1,
+ "GI_MARSHALLING_TESTS_GENUM_VALUE1", "value1"},
+ {GI_MARSHALLING_TESTS_GENUM_VALUE2,
+ "GI_MARSHALLING_TESTS_GENUM_VALUE2", "value2"},
+ {GI_MARSHALLING_TESTS_GENUM_VALUE3,
+ "GI_MARSHALLING_TESTS_GENUM_VALUE3", "value3"},
+ {0, NULL, NULL}
+ };
+ type = g_enum_register_static (g_intern_static_string ("GIMarshallingTestsGEnum"), values);
}
- return type;
+ return type;
}
-GIMarshallingTestsEnum
+GIMarshallingTestsGEnum
gi_marshalling_tests_genum_returnv (void)
{
- return GI_MARSHALLING_TESTS_GENUM_VALUE3;
+ return GI_MARSHALLING_TESTS_GENUM_VALUE3;
}
void
-gi_marshalling_tests_genum_in (GIMarshallingTestsGEnum enum_)
+gi_marshalling_tests_genum_in (GIMarshallingTestsGEnum v)
{
- g_assert_cmpint(enum_, ==, GI_MARSHALLING_TESTS_GENUM_VALUE3);
+ g_assert_cmpint (v, ==, GI_MARSHALLING_TESTS_GENUM_VALUE3);
}
/**
* gi_marshalling_tests_genum_out:
- * @enum_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_genum_out (GIMarshallingTestsGEnum *enum_)
+gi_marshalling_tests_genum_out (GIMarshallingTestsGEnum *v)
{
- *enum_ = GI_MARSHALLING_TESTS_GENUM_VALUE3;
+ *v = GI_MARSHALLING_TESTS_GENUM_VALUE3;
}
/**
* gi_marshalling_tests_genum_inout:
- * @enum_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_genum_inout (GIMarshallingTestsGEnum *enum_)
+gi_marshalling_tests_genum_inout (GIMarshallingTestsGEnum *v)
{
- g_assert_cmpint(*enum_, ==, GI_MARSHALLING_TESTS_GENUM_VALUE3);
- *enum_ = GI_MARSHALLING_TESTS_GENUM_VALUE1;
+ g_assert_cmpint (*v, ==, GI_MARSHALLING_TESTS_GENUM_VALUE3);
+ *v = GI_MARSHALLING_TESTS_GENUM_VALUE1;
}
GIMarshallingTestsEnum
gi_marshalling_tests_enum_returnv (void)
{
- return GI_MARSHALLING_TESTS_ENUM_VALUE3;
+ return GI_MARSHALLING_TESTS_ENUM_VALUE3;
}
void
-gi_marshalling_tests_enum_in (GIMarshallingTestsEnum enum_)
+gi_marshalling_tests_enum_in (GIMarshallingTestsEnum v)
{
- g_assert_cmpint(enum_, ==, GI_MARSHALLING_TESTS_ENUM_VALUE3);
+ g_assert_cmpint (v, ==, GI_MARSHALLING_TESTS_ENUM_VALUE3);
}
/**
* gi_marshalling_tests_enum_out:
- * @enum_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_enum_out (GIMarshallingTestsEnum *enum_)
+gi_marshalling_tests_enum_out (GIMarshallingTestsEnum *v)
{
- *enum_ = GI_MARSHALLING_TESTS_ENUM_VALUE3;
+ *v = GI_MARSHALLING_TESTS_ENUM_VALUE3;
}
/**
* gi_marshalling_tests_enum_inout:
- * @enum_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_enum_inout (GIMarshallingTestsEnum *enum_)
+gi_marshalling_tests_enum_inout (GIMarshallingTestsEnum *v)
{
- g_assert_cmpint(*enum_, ==, GI_MARSHALLING_TESTS_ENUM_VALUE3);
- *enum_ = GI_MARSHALLING_TESTS_ENUM_VALUE1;
+ g_assert_cmpint (*v, ==, GI_MARSHALLING_TESTS_ENUM_VALUE3);
+ *v = GI_MARSHALLING_TESTS_ENUM_VALUE1;
}
GType
gi_marshalling_tests_flags_get_type (void)
{
- static GType type = 0;
- if (G_UNLIKELY(type == 0)) {
- static const GFlagsValue values[] = {
- { GI_MARSHALLING_TESTS_FLAGS_VALUE1, "GI_MARSHALLING_TESTS_FLAGS_VALUE1", "value1" },
- { GI_MARSHALLING_TESTS_FLAGS_VALUE2, "GI_MARSHALLING_TESTS_FLAGS_VALUE2", "value2" },
- { GI_MARSHALLING_TESTS_FLAGS_VALUE3, "GI_MARSHALLING_TESTS_FLAGS_VALUE3", "value3" },
- { GI_MARSHALLING_TESTS_FLAGS_MASK, "GI_MARSHALLING_TESTS_FLAGS_MASK", "mask" },
- { GI_MARSHALLING_TESTS_FLAGS_MASK2, "GI_MARSHALLING_TESTS_FLAGS_MASK2", "mask2" },
- { 0, NULL, NULL }
- };
- type = g_flags_register_static (g_intern_static_string ("GIMarshallingTestsFlags"), values);
+ static GType type = 0;
+ if (G_UNLIKELY (type == 0))
+ {
+ static const GFlagsValue values[] = {
+ {GI_MARSHALLING_TESTS_FLAGS_VALUE1,
+ "GI_MARSHALLING_TESTS_FLAGS_VALUE1", "value1"},
+ {GI_MARSHALLING_TESTS_FLAGS_VALUE2,
+ "GI_MARSHALLING_TESTS_FLAGS_VALUE2", "value2"},
+ {GI_MARSHALLING_TESTS_FLAGS_VALUE3,
+ "GI_MARSHALLING_TESTS_FLAGS_VALUE3", "value3"},
+ {GI_MARSHALLING_TESTS_FLAGS_MASK, "GI_MARSHALLING_TESTS_FLAGS_MASK",
+ "mask"},
+ {GI_MARSHALLING_TESTS_FLAGS_MASK2, "GI_MARSHALLING_TESTS_FLAGS_MASK2",
+ "mask2"},
+ {0, NULL, NULL}
+ };
+ type = g_flags_register_static (g_intern_static_string ("GIMarshallingTestsFlags"), values);
}
- return type;
+ return type;
}
GIMarshallingTestsFlags
gi_marshalling_tests_flags_returnv (void)
{
- return GI_MARSHALLING_TESTS_FLAGS_VALUE2;
+ return GI_MARSHALLING_TESTS_FLAGS_VALUE2;
}
void
-gi_marshalling_tests_flags_in (GIMarshallingTestsFlags flags_)
+gi_marshalling_tests_flags_in (GIMarshallingTestsFlags v)
{
- g_assert(flags_ == GI_MARSHALLING_TESTS_FLAGS_VALUE2);
+ g_assert (v == GI_MARSHALLING_TESTS_FLAGS_VALUE2);
}
void
-gi_marshalling_tests_flags_in_zero (GIMarshallingTestsFlags flags)
+gi_marshalling_tests_flags_in_zero (GIMarshallingTestsFlags v)
{
- g_assert(flags == 0);
+ g_assert (v == 0);
}
/**
* gi_marshalling_tests_flags_out:
- * @flags_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_flags_out (GIMarshallingTestsFlags *flags_)
+gi_marshalling_tests_flags_out (GIMarshallingTestsFlags *v)
{
- *flags_ = GI_MARSHALLING_TESTS_FLAGS_VALUE2;
+ *v = GI_MARSHALLING_TESTS_FLAGS_VALUE2;
}
/**
* gi_marshalling_tests_flags_inout:
- * @flags_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_flags_inout (GIMarshallingTestsFlags *flags_)
+gi_marshalling_tests_flags_inout (GIMarshallingTestsFlags *v)
{
- g_assert(*flags_ == GI_MARSHALLING_TESTS_FLAGS_VALUE2);
- *flags_ = GI_MARSHALLING_TESTS_FLAGS_VALUE1;
+ g_assert (*v == GI_MARSHALLING_TESTS_FLAGS_VALUE2);
+ *v = GI_MARSHALLING_TESTS_FLAGS_VALUE1;
}
GIMarshallingTestsNoTypeFlags
gi_marshalling_tests_no_type_flags_returnv (void)
{
- return GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2;
+ return GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2;
}
void
-gi_marshalling_tests_no_type_flags_in (GIMarshallingTestsNoTypeFlags flags_)
+gi_marshalling_tests_no_type_flags_in (GIMarshallingTestsNoTypeFlags v)
{
- g_assert(flags_ == GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2);
+ g_assert (v == GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2);
}
void
-gi_marshalling_tests_no_type_flags_in_zero (GIMarshallingTestsNoTypeFlags flags)
+gi_marshalling_tests_no_type_flags_in_zero (GIMarshallingTestsNoTypeFlags v)
{
- g_assert(flags == 0);
+ g_assert (v == 0);
}
/**
* gi_marshalling_tests_no_type_flags_out:
- * @flags_: (out):
+ * @v: (out):
*/
void
-gi_marshalling_tests_no_type_flags_out (GIMarshallingTestsNoTypeFlags *flags_)
+gi_marshalling_tests_no_type_flags_out (GIMarshallingTestsNoTypeFlags *v)
{
- *flags_ = GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2;
+ *v = GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2;
}
/**
* gi_marshalling_tests_no_type_flags_inout:
- * @flags_: (inout):
+ * @v: (inout):
*/
void
-gi_marshalling_tests_no_type_flags_inout (GIMarshallingTestsNoTypeFlags *flags_)
+gi_marshalling_tests_no_type_flags_inout (GIMarshallingTestsNoTypeFlags *v)
{
- g_assert(*flags_ == GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2);
- *flags_ = GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE1;
+ g_assert (*v == GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE2);
+ *v = GI_MARSHALLING_TESTS_NO_TYPE_FLAGS_VALUE1;
}
@@ -3420,16 +3614,17 @@ gi_marshalling_tests_no_type_flags_inout (GIMarshallingTestsNoTypeFlags *flags_)
GIMarshallingTestsSimpleStruct *
gi_marshalling_tests_simple_struct_returnv (void)
{
- static GIMarshallingTestsSimpleStruct *struct_ = NULL;
+ static GIMarshallingTestsSimpleStruct *struct_ = NULL;
- if (struct_ == NULL) {
- struct_ = g_new(GIMarshallingTestsSimpleStruct, 1);
+ if (struct_ == NULL)
+ {
+ struct_ = g_new (GIMarshallingTestsSimpleStruct, 1);
- struct_->long_ = 6;
- struct_->int8 = 7;
+ struct_->long_ = 6;
+ struct_->int8 = 7;
}
- return struct_;
+ return struct_;
}
/**
@@ -3439,28 +3634,29 @@ gi_marshalling_tests_simple_struct_returnv (void)
void
gi_marshalling_tests_simple_struct_inv (GIMarshallingTestsSimpleStruct *struct_)
{
- g_assert_cmpint(struct_->long_, ==, 6);
- g_assert_cmpint(struct_->int8, ==, 7);
+ g_assert_cmpint (struct_->long_, ==, 6);
+ g_assert_cmpint (struct_->int8, ==, 7);
}
void
gi_marshalling_tests_simple_struct_method (GIMarshallingTestsSimpleStruct *struct_)
{
- g_assert_cmpint(struct_->long_, ==, 6);
- g_assert_cmpint(struct_->int8, ==, 7);
+ g_assert_cmpint (struct_->long_, ==, 6);
+ g_assert_cmpint (struct_->int8, ==, 7);
}
GType
gi_marshalling_tests_pointer_struct_get_type (void)
{
- static GType type = 0;
+ static GType type = 0;
- if (type == 0) {
- type = g_pointer_type_register_static ("GIMarshallingTestsPointerStruct");
+ if (type == 0)
+ {
+ type = g_pointer_type_register_static ("GIMarshallingTestsPointerStruct");
}
- return type;
+ return type;
}
/**
@@ -3471,15 +3667,16 @@ gi_marshalling_tests_pointer_struct_get_type (void)
GIMarshallingTestsPointerStruct *
gi_marshalling_tests_pointer_struct_returnv (void)
{
- static GIMarshallingTestsPointerStruct *struct_ = NULL;
+ static GIMarshallingTestsPointerStruct *struct_ = NULL;
- if (struct_ == NULL) {
- struct_ = g_new(GIMarshallingTestsPointerStruct, 1);
+ if (struct_ == NULL)
+ {
+ struct_ = g_new (GIMarshallingTestsPointerStruct, 1);
- struct_->long_ = 42;
+ struct_->long_ = 42;
}
- return struct_;
+ return struct_;
}
/**
@@ -3489,49 +3686,69 @@ gi_marshalling_tests_pointer_struct_returnv (void)
void
gi_marshalling_tests_pointer_struct_inv (GIMarshallingTestsPointerStruct *struct_)
{
- g_assert_cmpint(struct_->long_, ==, 42);
+ g_assert_cmpint (struct_->long_, ==, 42);
}
static GIMarshallingTestsBoxedStruct *
gi_marshalling_tests_boxed_struct_copy (GIMarshallingTestsBoxedStruct *struct_)
{
- GIMarshallingTestsBoxedStruct *new_struct;
+ GIMarshallingTestsBoxedStruct *new_struct;
- if (struct_ == NULL)
- return NULL;
+ if (struct_ == NULL)
+ return NULL;
- new_struct = g_slice_new (GIMarshallingTestsBoxedStruct);
+ new_struct = g_slice_new (GIMarshallingTestsBoxedStruct);
- *new_struct = *struct_;
+ *new_struct = *struct_;
+ new_struct->string_ = g_strdup (struct_->string_);
- return new_struct;
+ return new_struct;
}
static void
gi_marshalling_tests_boxed_struct_free (GIMarshallingTestsBoxedStruct *struct_)
{
- if (struct_ != NULL)
- g_slice_free (GIMarshallingTestsBoxedStruct, struct_);
+ if (struct_ != NULL)
+ {
+ g_free (struct_->string_);
+ g_slice_free (GIMarshallingTestsBoxedStruct, struct_);
+ }
}
GType
gi_marshalling_tests_boxed_struct_get_type (void)
{
- static GType type = 0;
+ static GType type = 0;
- if (type == 0) {
- type = g_boxed_type_register_static ("GIMarshallingTestsBoxedStruct",
- (GBoxedCopyFunc) gi_marshalling_tests_boxed_struct_copy,
- (GBoxedFreeFunc) gi_marshalling_tests_boxed_struct_free);
+ if (type == 0)
+ {
+ type = g_boxed_type_register_static ("GIMarshallingTestsBoxedStruct",
+ (GBoxedCopyFunc)
+ gi_marshalling_tests_boxed_struct_copy,
+ (GBoxedFreeFunc) gi_marshalling_tests_boxed_struct_free);
}
- return type;
+ return type;
+}
+
+static GType
+gi_marshalling_tests_boxed_glist_get_type (void)
+{
+ static GType type = 0;
+
+ if (type == 0)
+ {
+ type = g_boxed_type_register_static ("GIMarshallingTestsBoxedGList",
+ (GBoxedCopyFunc) g_list_copy, (GBoxedFreeFunc) g_list_free);
+ }
+
+ return type;
}
GIMarshallingTestsBoxedStruct *
gi_marshalling_tests_boxed_struct_new (void)
{
- return g_slice_new0 (GIMarshallingTestsBoxedStruct);
+ return g_slice_new0 (GIMarshallingTestsBoxedStruct);
}
/**
@@ -3542,20 +3759,22 @@ gi_marshalling_tests_boxed_struct_new (void)
GIMarshallingTestsBoxedStruct *
gi_marshalling_tests_boxed_struct_returnv (void)
{
- static GIMarshallingTestsBoxedStruct *struct_ = NULL;
+ static GIMarshallingTestsBoxedStruct *struct_ = NULL;
- if (struct_ == NULL) {
- struct_ = g_new(GIMarshallingTestsBoxedStruct, 1);
+ if (struct_ == NULL)
+ {
+ struct_ = g_new (GIMarshallingTestsBoxedStruct, 1);
- struct_->long_ = 42;
- struct_->g_strv = g_new0(gchar*, 4);
- struct_->g_strv[0] = g_strdup("0");
- struct_->g_strv[1] = g_strdup("1");
- struct_->g_strv[2] = g_strdup("2");
- struct_->g_strv[3] = NULL;
+ struct_->long_ = 42;
+ struct_->string_ = g_strdup ("hello");
+ struct_->g_strv = g_new0 (gchar *, 4);
+ struct_->g_strv[0] = g_strdup ("0");
+ struct_->g_strv[1] = g_strdup ("1");
+ struct_->g_strv[2] = g_strdup ("2");
+ struct_->g_strv[3] = NULL;
}
- return struct_;
+ return struct_;
}
/**
@@ -3565,7 +3784,7 @@ gi_marshalling_tests_boxed_struct_returnv (void)
void
gi_marshalling_tests_boxed_struct_inv (GIMarshallingTestsBoxedStruct *struct_)
{
- g_assert_cmpint(struct_->long_, ==, 42);
+ g_assert_cmpint (struct_->long_, ==, 42);
}
/**
@@ -3575,15 +3794,16 @@ gi_marshalling_tests_boxed_struct_inv (GIMarshallingTestsBoxedStruct *struct_)
void
gi_marshalling_tests_boxed_struct_out (GIMarshallingTestsBoxedStruct **struct_)
{
- static GIMarshallingTestsBoxedStruct *new_struct = NULL;
+ static GIMarshallingTestsBoxedStruct *new_struct = NULL;
- if (new_struct == NULL) {
- new_struct = g_new(GIMarshallingTestsBoxedStruct, 1);
+ if (new_struct == NULL)
+ {
+ new_struct = g_new0 (GIMarshallingTestsBoxedStruct, 1);
- new_struct->long_ = 42;
+ new_struct->long_ = 42;
}
- *struct_ = new_struct;
+ *struct_ = new_struct;
}
/**
@@ -3593,42 +3813,45 @@ gi_marshalling_tests_boxed_struct_out (GIMarshallingTestsBoxedStruct **struct_)
void
gi_marshalling_tests_boxed_struct_inout (GIMarshallingTestsBoxedStruct **struct_)
{
- g_assert_cmpint((*struct_)->long_, ==, 42);
+ g_assert_cmpint ((*struct_)->long_, ==, 42);
- (*struct_) = g_slice_new (GIMarshallingTestsBoxedStruct);
- (*struct_)->long_ = 0;
+ g_boxed_free (gi_marshalling_tests_boxed_struct_get_type(), *struct_);
+ (*struct_) = g_slice_new0 (GIMarshallingTestsBoxedStruct);
+ (*struct_)->long_ = 0;
}
static GIMarshallingTestsUnion *
gi_marshalling_tests_union_copy (GIMarshallingTestsUnion *union_)
{
- GIMarshallingTestsUnion *new_union;
+ GIMarshallingTestsUnion *new_union;
- new_union = g_slice_new (GIMarshallingTestsUnion);
+ new_union = g_slice_new (GIMarshallingTestsUnion);
- *new_union = *union_;
+ *new_union = *union_;
- return new_union;
+ return new_union;
}
static void
gi_marshalling_tests_union_free (GIMarshallingTestsUnion *union_)
{
- g_slice_free (GIMarshallingTestsUnion, union_);
+ g_slice_free (GIMarshallingTestsUnion, union_);
}
GType
gi_marshalling_tests_union_get_type (void)
{
- static GType type = 0;
+ static GType type = 0;
- if (type == 0) {
- type = g_boxed_type_register_static ("GIMarshallingTestsUnion",
- (GBoxedCopyFunc) gi_marshalling_tests_union_copy,
- (GBoxedFreeFunc) gi_marshalling_tests_union_free);
+ if (type == 0)
+ {
+ type = g_boxed_type_register_static ("GIMarshallingTestsUnion",
+ (GBoxedCopyFunc)
+ gi_marshalling_tests_union_copy,
+ (GBoxedFreeFunc) gi_marshalling_tests_union_free);
}
- return type;
+ return type;
}
/**
@@ -3639,15 +3862,16 @@ gi_marshalling_tests_union_get_type (void)
GIMarshallingTestsUnion *
gi_marshalling_tests_union_returnv (void)
{
- static GIMarshallingTestsUnion *union_ = NULL;
+ static GIMarshallingTestsUnion *union_ = NULL;
- if (union_ == NULL) {
- union_ = g_new(GIMarshallingTestsUnion, 1);
+ if (union_ == NULL)
+ {
+ union_ = g_new (GIMarshallingTestsUnion, 1);
- union_->long_ = 42;
+ union_->long_ = 42;
}
- return union_;
+ return union_;
}
/**
@@ -3657,25 +3881,25 @@ gi_marshalling_tests_union_returnv (void)
void
gi_marshalling_tests_union_inv (GIMarshallingTestsUnion *union_)
{
- g_assert_cmpint(union_->long_, ==, 42);
+ g_assert_cmpint (union_->long_, ==, 42);
}
void
gi_marshalling_tests_union_method (GIMarshallingTestsUnion *union_)
{
- g_assert_cmpint(union_->long_, ==, 42);
+ g_assert_cmpint (union_->long_, ==, 42);
}
enum
{
- PROP_0,
- PROP_INT_
+ PROP_0,
+ PROP_INT_
};
-static void gi_marshalling_tests_object_real_method_with_default_implementation (
- GIMarshallingTestsObject *self, gint8 in);
+static void
+ gi_marshalling_tests_object_real_method_with_default_implementation (GIMarshallingTestsObject *self, gint8 in);
G_DEFINE_TYPE (GIMarshallingTestsObject, gi_marshalling_tests_object, G_TYPE_OBJECT);
@@ -3687,56 +3911,60 @@ gi_marshalling_tests_object_init (GIMarshallingTestsObject *object)
static void
gi_marshalling_tests_object_finalize (GObject *object)
{
- G_OBJECT_CLASS (gi_marshalling_tests_object_parent_class)->finalize (object);
+ G_OBJECT_CLASS (gi_marshalling_tests_object_parent_class)->finalize (object);
}
static void
gi_marshalling_tests_object_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
- g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
+ g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
- switch (prop_id) {
- case PROP_INT_:
- GI_MARSHALLING_TESTS_OBJECT (object)->int_ = g_value_get_int (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ switch (prop_id)
+ {
+ case PROP_INT_:
+ GI_MARSHALLING_TESTS_OBJECT (object)->int_ = g_value_get_int (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
static void
gi_marshalling_tests_object_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
- g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
+ g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
- switch (prop_id) {
- case PROP_INT_:
- g_value_set_int (value, GI_MARSHALLING_TESTS_OBJECT (object)->int_);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
+ switch (prop_id)
+ {
+ case PROP_INT_:
+ g_value_set_int (value, GI_MARSHALLING_TESTS_OBJECT (object)->int_);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
static void
gi_marshalling_tests_object_class_init (GIMarshallingTestsObjectClass *klass)
{
- GObjectClass* object_class = G_OBJECT_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
#if 0
- GObjectClass* parent_class = G_OBJECT_CLASS (klass);
+ GObjectClass *parent_class = G_OBJECT_CLASS (klass);
#endif
- object_class->finalize = gi_marshalling_tests_object_finalize;
- object_class->set_property = gi_marshalling_tests_object_set_property;
- object_class->get_property = gi_marshalling_tests_object_get_property;
+ object_class->finalize = gi_marshalling_tests_object_finalize;
+ object_class->set_property = gi_marshalling_tests_object_set_property;
+ object_class->get_property = gi_marshalling_tests_object_get_property;
- g_object_class_install_property (object_class, PROP_INT_,
- g_param_spec_int ("int", "Integer", "An integer", G_MININT, G_MAXINT, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+ g_object_class_install_property (object_class, PROP_INT_,
+ g_param_spec_int ("int", "Integer",
+ "An integer", G_MININT,
+ G_MAXINT, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
- klass->method_with_default_implementation = gi_marshalling_tests_object_real_method_with_default_implementation;
+ klass->method_with_default_implementation = gi_marshalling_tests_object_real_method_with_default_implementation;
}
@@ -3748,21 +3976,21 @@ gi_marshalling_tests_object_static_method (void)
void
gi_marshalling_tests_object_method (GIMarshallingTestsObject *object)
{
- g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
- g_assert_cmpint (object->int_, ==, 42);
+ g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
+ g_assert_cmpint (object->int_, ==, 42);
}
void
gi_marshalling_tests_object_overridden_method (GIMarshallingTestsObject *object)
{
- g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
- g_assert_cmpint (object->int_, ==, 0);
+ g_return_if_fail (GI_MARSHALLING_TESTS_IS_OBJECT (object));
+ g_assert_cmpint (object->int_, ==, 0);
}
GIMarshallingTestsObject *
gi_marshalling_tests_object_new (gint int_)
{
- return g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, "int", int_, NULL);
+ return g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, "int", int_, NULL);
}
/**
@@ -3772,11 +4000,11 @@ gi_marshalling_tests_object_new (gint int_)
void
gi_marshalling_tests_object_method_array_in (GIMarshallingTestsObject *object, const gint *ints, gint length)
{
- g_assert_cmpint(length, ==, 4);
- g_assert_cmpint(ints[0], ==, -1);
- g_assert_cmpint(ints[1], ==, 0);
- g_assert_cmpint(ints[2], ==, 1);
- g_assert_cmpint(ints[3], ==, 2);
+ g_assert_cmpint (length, ==, 4);
+ g_assert_cmpint (ints[0], ==, -1);
+ g_assert_cmpint (ints[1], ==, 0);
+ g_assert_cmpint (ints[2], ==, 1);
+ g_assert_cmpint (ints[3], ==, 2);
}
/**
@@ -3786,10 +4014,10 @@ gi_marshalling_tests_object_method_array_in (GIMarshallingTestsObject *object, c
void
gi_marshalling_tests_object_method_array_out (GIMarshallingTestsObject *object, gint **ints, gint *length)
{
- static gint values[] = {-1, 0, 1, 2};
+ static gint values[] = { -1, 0, 1, 2 };
- *length = 4;
- *ints = values;
+ *length = 4;
+ *ints = values;
}
/**
@@ -3800,16 +4028,16 @@ gi_marshalling_tests_object_method_array_out (GIMarshallingTestsObject *object,
void
gi_marshalling_tests_object_method_array_inout (GIMarshallingTestsObject *object, gint **ints, gint *length)
{
- static gint values[] = {-2, -1, 0, 1, 2};
+ static gint values[] = { -2, -1, 0, 1, 2 };
- g_assert_cmpint(*length, ==, 4);
- g_assert_cmpint((*ints)[0], ==, -1);
- g_assert_cmpint((*ints)[1], ==, 0);
- g_assert_cmpint((*ints)[2], ==, 1);
- g_assert_cmpint((*ints)[3], ==, 2);
+ g_assert_cmpint (*length, ==, 4);
+ g_assert_cmpint ((*ints)[0], ==, -1);
+ g_assert_cmpint ((*ints)[1], ==, 0);
+ g_assert_cmpint ((*ints)[2], ==, 1);
+ g_assert_cmpint ((*ints)[3], ==, 2);
- *length = 5;
- *ints = values;
+ *length = 5;
+ *ints = values;
}
/**
@@ -3820,10 +4048,10 @@ gi_marshalling_tests_object_method_array_inout (GIMarshallingTestsObject *object
const gint *
gi_marshalling_tests_object_method_array_return (GIMarshallingTestsObject *object, gint *length)
{
- static gint ints[] = {-1, 0, 1, 2};
+ static gint ints[] = { -1, 0, 1, 2 };
- *length = 4;
- return ints;
+ *length = 4;
+ return ints;
}
/**
@@ -3847,35 +4075,63 @@ gi_marshalling_tests_object_method_int8_out (GIMarshallingTestsObject *self, gin
}
/**
+ * gi_marshalling_tests_object_method_int8_arg_and_out_caller:
+ * @out: (out caller-allocates):
+ */
+void
+ gi_marshalling_tests_object_method_int8_arg_and_out_caller (GIMarshallingTestsObject *self, gint8 arg, gint8 *out)
+{
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->method_int8_arg_and_out_caller (self, arg, out);
+}
+
+/**
+ * gi_marshalling_tests_object_method_int8_arg_and_out_callee:
+ * @out: (out):
+ */
+void
+ gi_marshalling_tests_object_method_int8_arg_and_out_callee (GIMarshallingTestsObject *self, gint8 arg, gint8 **out)
+{
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->method_int8_arg_and_out_callee (self, arg, out);
+}
+
+/**
+ * gi_marshalling_tests_object_method_str_arg_out_ret:
+ * @out: (out caller-allocates):
+ *
+ * Returns: (transfer none)
+ */
+const gchar *
+gi_marshalling_tests_object_method_str_arg_out_ret (GIMarshallingTestsObject *self, const gchar *arg, guint *out)
+{
+ return GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->method_str_arg_out_ret (self, arg, out);
+}
+
+/**
* gi_marshalling_tests_object_method_with_default_implementation:
* @in: (in):
*/
-void
-gi_marshalling_tests_object_method_with_default_implementation (GIMarshallingTestsObject *self, gint8 in)
+void gi_marshalling_tests_object_method_with_default_implementation (GIMarshallingTestsObject *self, gint8 in)
{
- GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->method_with_default_implementation (self, in);
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->method_with_default_implementation (self, in);
}
static void
-gi_marshalling_tests_object_real_method_with_default_implementation (GIMarshallingTestsObject *self, gint8 in)
+ gi_marshalling_tests_object_real_method_with_default_implementation (GIMarshallingTestsObject *self, gint8 in)
{
- GValue val = {0, };
- g_value_init (&val, G_TYPE_INT);
- g_value_set_int (&val, in);
- g_object_set_property (G_OBJECT (self), "int", &val);
+ GValue val = { 0, };
+ g_value_init (&val, G_TYPE_INT);
+ g_value_set_int (&val, in);
+ g_object_set_property (G_OBJECT (self), "int", &val);
}
/**
- * gi_marshalling_tests_object_vfunc_with_callback:
+ * gi_marshalling_tests_object_vfunc_with_callback: (virtual vfunc_with_callback)
* @callback: (scope call) (closure callback_data):
* @callback_data: (allow-none):
- *
- * Virtual: vfunc_with_callback
*/
void
-gi_marshalling_tests_object_vfunc_with_callback (GIMarshallingTestsObject *object,
- GIMarshallingTestsCallbackIntInt callback,
- void *callback_data)
+gi_marshalling_tests_object_vfunc_with_callback (GIMarshallingTestsObject *
+ object, GIMarshallingTestsCallbackIntInt callback, void *callback_data)
{
}
@@ -3883,16 +4139,14 @@ gi_marshalling_tests_object_vfunc_with_callback (GIMarshallingTestsObject *objec
static int
_callback (int val, void *user_data)
{
- g_assert (user_data == (gpointer)0xdeadbeef);
+ g_assert (user_data == (gpointer) 0xdeadbeef);
return val;
}
void
gi_marshalling_tests_object_call_vfunc_with_callback (GIMarshallingTestsObject *object)
{
- GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (object)->vfunc_with_callback (object,
- _callback,
- (void *) 0xdeadbeef);
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (object)->vfunc_with_callback (object, _callback, (void *) 0xdeadbeef);
}
/**
@@ -3903,13 +4157,14 @@ gi_marshalling_tests_object_call_vfunc_with_callback (GIMarshallingTestsObject *
GIMarshallingTestsObject *
gi_marshalling_tests_object_none_return (void)
{
- static GIMarshallingTestsObject *object = NULL;
+ static GIMarshallingTestsObject *object = NULL;
- if (object == NULL) {
- object = g_object_new(GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
+ if (object == NULL)
+ {
+ object = g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
}
- return object;
+ return object;
}
/**
@@ -3920,7 +4175,7 @@ gi_marshalling_tests_object_none_return (void)
GIMarshallingTestsObject *
gi_marshalling_tests_object_full_return (void)
{
- return g_object_new(GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
+ return g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
}
/**
@@ -3930,7 +4185,7 @@ gi_marshalling_tests_object_full_return (void)
void
gi_marshalling_tests_object_none_in (GIMarshallingTestsObject *object)
{
- g_assert_cmpint(object->int_, ==, 42);
+ g_assert_cmpint (object->int_, ==, 42);
}
/**
@@ -3940,13 +4195,14 @@ gi_marshalling_tests_object_none_in (GIMarshallingTestsObject *object)
void
gi_marshalling_tests_object_none_out (GIMarshallingTestsObject **object)
{
- static GIMarshallingTestsObject *new_object = NULL;
+ static GIMarshallingTestsObject *new_object = NULL;
- if (new_object == NULL) {
- new_object = g_object_new(GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
+ if (new_object == NULL)
+ {
+ new_object = g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
}
- *object = new_object;
+ *object = new_object;
}
/**
@@ -3956,7 +4212,7 @@ gi_marshalling_tests_object_none_out (GIMarshallingTestsObject **object)
void
gi_marshalling_tests_object_full_out (GIMarshallingTestsObject **object)
{
- *object = g_object_new(GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
+ *object = g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
}
/**
@@ -3966,16 +4222,17 @@ gi_marshalling_tests_object_full_out (GIMarshallingTestsObject **object)
void
gi_marshalling_tests_object_none_inout (GIMarshallingTestsObject **object)
{
- static GIMarshallingTestsObject *new_object = NULL;
+ static GIMarshallingTestsObject *new_object = NULL;
- g_assert_cmpint((*object)->int_, ==, 42);
+ g_assert_cmpint ((*object)->int_, ==, 42);
- if (new_object == NULL) {
- new_object = g_object_new(GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
- new_object->int_ = 0;
+ if (new_object == NULL)
+ {
+ new_object = g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
+ new_object->int_ = 0;
}
- *object = new_object;
+ *object = new_object;
}
/**
@@ -3985,9 +4242,10 @@ gi_marshalling_tests_object_none_inout (GIMarshallingTestsObject **object)
void
gi_marshalling_tests_object_full_inout (GIMarshallingTestsObject **object)
{
- g_assert_cmpint((*object)->int_, ==, 42);
+ g_assert_cmpint ((*object)->int_, ==, 42);
- *object = g_object_new(GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
+ g_object_unref (*object);
+ *object = g_object_new (GI_MARSHALLING_TESTS_TYPE_OBJECT, NULL);
}
/**
@@ -4016,12 +4274,12 @@ gi_marshalling_tests_object_int8_out (GIMarshallingTestsObject *object, gint8 *o
glong
gi_marshalling_tests_object_vfunc_return_value_only (GIMarshallingTestsObject *self)
{
- /* make sure that local variables don't get smashed */
- glong return_value;
- gulong local = 0x12345678;
- return_value = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_value_only (self);
- g_assert_cmpint(local, ==, 0x12345678);
- return return_value;
+ /* make sure that local variables don't get smashed */
+ glong return_value;
+ gulong local = 0x12345678;
+ return_value = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_value_only (self);
+ g_assert_cmpint (local, ==, 0x12345678);
+ return return_value;
}
/**
@@ -4031,10 +4289,10 @@ gi_marshalling_tests_object_vfunc_return_value_only (GIMarshallingTestsObject *s
void
gi_marshalling_tests_object_vfunc_one_out_parameter (GIMarshallingTestsObject *self, gfloat *a)
{
- /* make sure that local variables don't get smashed */
- gulong local = 0x12345678;
- GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_one_out_parameter (self, a);
- g_assert_cmpint(local, ==, 0x12345678);
+ /* make sure that local variables don't get smashed */
+ gulong local = 0x12345678;
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_one_out_parameter (self, a);
+ g_assert_cmpint (local, ==, 0x12345678);
}
/**
@@ -4042,41 +4300,50 @@ gi_marshalling_tests_object_vfunc_one_out_parameter (GIMarshallingTestsObject *s
* @a: (out):
* @b: (out):
*/
-void
-gi_marshalling_tests_object_vfunc_multiple_out_parameters (GIMarshallingTestsObject *self, gfloat *a, gfloat *b)
+void gi_marshalling_tests_object_vfunc_multiple_out_parameters (GIMarshallingTestsObject *self, gfloat *a, gfloat *b)
{
- /* make sure that local variables don't get smashed */
- gulong local = 0x12345678;
- GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_multiple_out_parameters (self, a, b);
- g_assert_cmpint(local, ==, 0x12345678);
+ /* make sure that local variables don't get smashed */
+ gulong local = 0x12345678;
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_multiple_out_parameters (self, a, b);
+ g_assert_cmpint (local, ==, 0x12345678);
}
/**
* gi_marshalling_tests_object_vfunc_caller_allocated_out_parameter:
* @a: (out):
*/
-void
-gi_marshalling_tests_object_vfunc_caller_allocated_out_parameter (GIMarshallingTestsObject *self, GValue *a)
+void gi_marshalling_tests_object_vfunc_caller_allocated_out_parameter (GIMarshallingTestsObject *self, GValue *a)
{
- /* make sure that local variables don't get smashed */
- gulong local = 0x12345678;
- GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_caller_allocated_out_parameter (self, a);
- g_assert_cmpint(local, ==, 0x12345678);
+ /* make sure that local variables don't get smashed */
+ gulong local = 0x12345678;
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_caller_allocated_out_parameter (self, a);
+ g_assert_cmpint (local, ==, 0x12345678);
+}
+
+/**
+ * gi_marshalling_tests_object_vfunc_array_out_parameter:
+ * @a: (out) (array zero-terminated=1):
+ */
+void gi_marshalling_tests_object_vfunc_array_out_parameter (GIMarshallingTestsObject *self, gfloat **a)
+{
+ /* make sure that local variables don't get smashed */
+ gulong local = 0x12345678;
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_array_out_parameter (self, a);
+ g_assert_cmpint (local, ==, 0x12345678);
}
/**
* gi_marshalling_tests_object_vfunc_return_value_and_one_out_parameter:
* @a: (out):
*/
-glong
-gi_marshalling_tests_object_vfunc_return_value_and_one_out_parameter (GIMarshallingTestsObject *self, glong *a)
+glong gi_marshalling_tests_object_vfunc_return_value_and_one_out_parameter (GIMarshallingTestsObject *self, glong *a)
{
- /* make sure that local variables don't get smashed */
- gulong return_value;
- gulong local = 0x12345678;
- return_value = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_value_and_one_out_parameter (self, a);
- g_assert_cmpint(local, ==, 0x12345678);
- return return_value;
+ /* make sure that local variables don't get smashed */
+ gulong return_value;
+ gulong local = 0x12345678;
+ return_value = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_value_and_one_out_parameter (self, a);
+ g_assert_cmpint (local, ==, 0x12345678);
+ return return_value;
}
/**
@@ -4085,26 +4352,229 @@ gi_marshalling_tests_object_vfunc_return_value_and_one_out_parameter (GIMarshall
* @b: (out):
*/
glong
-gi_marshalling_tests_object_vfunc_return_value_and_multiple_out_parameters (GIMarshallingTestsObject *self, glong *a, glong *b)
+ gi_marshalling_tests_object_vfunc_return_value_and_multiple_out_parameters
+ (GIMarshallingTestsObject *self, glong *a, glong *b)
{
- gulong return_value;
- gulong local = 0x12345678;
- return_value = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_value_and_multiple_out_parameters (self, a, b);
- g_assert_cmpint(local, ==, 0x12345678);
- return return_value;
+ gulong return_value;
+ gulong local = 0x12345678;
+ return_value =
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_value_and_multiple_out_parameters (self, a, b);
+ g_assert_cmpint (local, ==, 0x12345678);
+ return return_value;
+}
+
+/**
+ * gi_marshalling_tests_callback_owned_boxed:
+ * @callback: (scope call) (closure callback_data):
+ * @callback_data: (allow-none):
+ */
+glong
+gi_marshalling_tests_callback_owned_boxed (GIMarshallingTestsCallbackOwnedBoxed callback,
+ void *callback_data)
+{
+ static GIMarshallingTestsBoxedStruct *box = NULL;
+ glong ret;
+
+ if (!box)
+ box = gi_marshalling_tests_boxed_struct_new ();
+ box->long_++;
+ callback (box, callback_data);
+ ret = box->long_;
+ return ret;
}
gboolean
-gi_marshalling_tests_object_vfunc_meth_with_error (GIMarshallingTestsObject *self,
- gint x,
- GError **error)
+gi_marshalling_tests_object_vfunc_meth_with_error (GIMarshallingTestsObject *self, gint x, GError **error)
{
gulong local = 0x12345678;
- gboolean ret = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_meth_with_err (self, x, error);
- g_assert_cmpint(local, ==, 0x12345678);
+ gboolean ret = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_meth_with_err (self,
+ x,
+ error);
+ g_assert_cmpint (local, ==, 0x12345678);
return ret;
}
+/**
+ * gi_marshalling_tests_object_vfunc_return_enum:
+ */
+GIMarshallingTestsEnum
+gi_marshalling_tests_object_vfunc_return_enum (GIMarshallingTestsObject *self)
+{
+ /* make sure that local variables don't get smashed */
+ GIMarshallingTestsEnum return_value;
+ glong local = 0x12345678;
+ return_value = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_enum (self);
+ g_assert_cmpint (local, ==, 0x12345678);
+ return return_value;
+}
+
+/**
+ * gi_marshalling_tests_object_vfunc_out_enum:
+ * @_enum: (out):
+ */
+void
+gi_marshalling_tests_object_vfunc_out_enum (GIMarshallingTestsObject *self, GIMarshallingTestsEnum *_enum)
+{
+ /* make sure that local variables don't get smashed */
+ gulong local = 0x12345678;
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_out_enum (self, _enum);
+ g_assert_cmpint (local, ==, 0x12345678);
+}
+
+
+/* NOTE:
+ *
+ * The following (get_ref_info_for_*) methods are designed to call vfuncs related
+ * to object argument marshaling. They do not pass the resulting objects through them
+ * as regular vfunc wrapper method do, but rather return reference count and floating
+ * information back to the callers. This is useful because callers can do testing of
+ * expected reference counts in isolation and from the perspective of C. This is important
+ * because if there are bugs in the reverse marshaling, they can obfuscate or compound
+ * bugs in marshaling from the vfuncs.
+ */
+
+/**
+ * gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_none:
+ * @ref_count: (out): Ref count of the object returned from the vfunc directly after vfunc call.
+ * @is_floating: (out): Floating state object returned from the vfunc directly after vfunc call.
+ */
+void
+ gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_none
+ (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating)
+{
+ GObject *object = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_object_transfer_none (self);
+ *ref_count = object->ref_count;
+ *is_floating = g_object_is_floating (object);
+
+ /* Attempt to sink and unref the returned object and avoid any potential leaks */
+ g_object_ref_sink (object);
+ g_object_unref (object);
+}
+
+/**
+ * gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_full:
+ * @ref_count: (out): Ref count of the object returned from the vfunc directly after vfunc call.
+ * @is_floating: (out): Floating state object returned from the vfunc directly after vfunc call.
+ */
+void
+ gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_full
+ (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating)
+{
+ GObject *object = GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_return_object_transfer_full (self);
+ *ref_count = object->ref_count;
+ *is_floating = g_object_is_floating (object);
+ g_object_unref (object);
+}
+
+/**
+ * gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_none:
+ * @ref_count: (out): Ref count of the object returned from the vfunc directly after vfunc call.
+ * @is_floating: (out): Floating state object returned from the vfunc directly after vfunc call.
+ */
+void
+ gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_none
+ (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating)
+{
+ GObject *object = NULL;
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_out_object_transfer_none (self, &object);
+ *ref_count = object->ref_count;
+ *is_floating = g_object_is_floating (object);
+
+ /* Attempt to sink and unref the returned object and avoid any potential leaks */
+ g_object_ref_sink (object);
+ g_object_unref (object);
+}
+
+/**
+ * gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_full:
+ * @ref_count: (out): Ref count of the object returned from the vfunc directly after vfunc call.
+ * @is_floating: (out): Floating state object returned from the vfunc directly after vfunc call.
+ */
+void
+ gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_full
+ (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating)
+{
+ GObject *object = NULL;
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_out_object_transfer_full (self, &object);
+ *ref_count = object->ref_count;
+ *is_floating = g_object_is_floating (object);
+ g_object_unref (object);
+}
+
+static void
+_vfunc_in_object_destroy_callback (gboolean *destroy_called, GObject *where_the_object_was)
+{
+ *destroy_called = TRUE;
+}
+
+/**
+ * gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_none:
+ * @type: GType of object to create and pass as in argument to the vfunc
+ * @ref_count: (out): Ref count of the in object directly after vfunc call.
+ * @is_floating: (out): Floating state of in object directly after vfunc call.
+ *
+ * Calls vfunc_in_object_transfer_none with a new object of the given type.
+ */
+void
+ gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_none
+ (GIMarshallingTestsObject *self, GType type, guint *ref_count, gboolean *is_floating)
+{
+ static gboolean destroy_called;
+ GObject *object;
+ destroy_called = FALSE;
+
+ object = g_object_new (type, NULL);
+ g_object_weak_ref (object, (GWeakNotify) _vfunc_in_object_destroy_callback, &destroy_called);
+
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_in_object_transfer_none (self, object);
+ if (destroy_called)
+ {
+ *ref_count = 0;
+ *is_floating = FALSE;
+ }
+ else
+ {
+ *ref_count = object->ref_count;
+ *is_floating = g_object_is_floating (object);
+ g_object_unref (object);
+ }
+}
+
+
+/**
+ * gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_full:
+ * @type: GType of object to create and pass as in argument to the vfunc
+ * @ref_count: (out): Ref count of the in object directly after vfunc call.
+ * @is_floating: (out): Floating state of in object directly after vfunc call.
+ */
+void
+ gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_full
+ (GIMarshallingTestsObject *self, GType type, guint *ref_count, gboolean *is_floating)
+{
+ static gboolean destroy_called;
+ GObject *object;
+ destroy_called = FALSE;
+
+ object = g_object_new (type, NULL);
+ g_object_weak_ref (object, (GWeakNotify) _vfunc_in_object_destroy_callback, &destroy_called);
+
+ /* Calling the vfunc takes ownership of the object, so we use a weak_ref to determine
+ * if the object gets destroyed after the call and appropriately return 0 as the ref count.
+ */
+ GI_MARSHALLING_TESTS_OBJECT_GET_CLASS (self)->vfunc_in_object_transfer_full (self, object);
+ if (destroy_called)
+ {
+ *ref_count = 0;
+ *is_floating = FALSE;
+ }
+ else
+ {
+ *ref_count = object->ref_count;
+ *is_floating = g_object_is_floating (object);
+ }
+}
+
+
G_DEFINE_TYPE (GIMarshallingTestsSubObject, gi_marshalling_tests_sub_object, GI_MARSHALLING_TESTS_TYPE_OBJECT);
static void
@@ -4115,69 +4585,69 @@ gi_marshalling_tests_sub_object_init (GIMarshallingTestsSubObject *object)
static void
gi_marshalling_tests_sub_object_finalize (GObject *object)
{
- G_OBJECT_CLASS(gi_marshalling_tests_sub_object_parent_class)->finalize(object);
+ G_OBJECT_CLASS (gi_marshalling_tests_sub_object_parent_class)->finalize (object);
}
static void
method_deep_hierarchy (GIMarshallingTestsObject *self, gint8 in)
{
- GValue val = {0, };
- g_value_init (&val, G_TYPE_INT);
- g_value_set_int (&val, in);
- g_object_set_property (G_OBJECT (self), "int", &val);
+ GValue val = { 0, };
+ g_value_init (&val, G_TYPE_INT);
+ g_value_set_int (&val, in);
+ g_object_set_property (G_OBJECT (self), "int", &val);
}
static void
gi_marshalling_tests_sub_object_class_init (GIMarshallingTestsSubObjectClass *klass)
{
- G_OBJECT_CLASS(klass)->finalize = gi_marshalling_tests_sub_object_finalize;
- GI_MARSHALLING_TESTS_OBJECT_CLASS(klass)->method_deep_hierarchy = method_deep_hierarchy;
+ G_OBJECT_CLASS (klass)->finalize = gi_marshalling_tests_sub_object_finalize;
+ GI_MARSHALLING_TESTS_OBJECT_CLASS (klass)->method_deep_hierarchy = method_deep_hierarchy;
}
void
gi_marshalling_tests_sub_object_sub_method (GIMarshallingTestsSubObject *object)
{
- g_assert_cmpint(GI_MARSHALLING_TESTS_OBJECT(object)->int_, ==, 0);
+ g_assert_cmpint (GI_MARSHALLING_TESTS_OBJECT (object)->int_, ==, 0);
}
-void
-gi_marshalling_tests_sub_object_overwritten_method (GIMarshallingTestsSubObject *object)
+void gi_marshalling_tests_sub_object_overwritten_method (GIMarshallingTestsSubObject *object)
{
- g_assert_cmpint(GI_MARSHALLING_TESTS_OBJECT(object)->int_, ==, 0);
+ g_assert_cmpint (GI_MARSHALLING_TESTS_OBJECT (object)->int_, ==, 0);
}
-G_DEFINE_TYPE (GIMarshallingTestsSubSubObject, gi_marshalling_tests_sub_sub_object, GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT);
+G_DEFINE_TYPE (GIMarshallingTestsSubSubObject,
+ gi_marshalling_tests_sub_sub_object, GI_MARSHALLING_TESTS_TYPE_SUB_OBJECT);
static void
gi_marshalling_tests_sub_sub_object_init (GIMarshallingTestsSubSubObject *object)
{
}
-static void
-gi_marshalling_tests_sub_sub_object_class_init (GIMarshallingTestsSubSubObjectClass *klass)
+static void gi_marshalling_tests_sub_sub_object_class_init (GIMarshallingTestsSubSubObjectClass *klass)
{
}
/* Interfaces */
static void
-gi_marshalling_tests_interface_class_init(void *g_iface)
+gi_marshalling_tests_interface_class_init (void *g_iface)
{
}
GType
-gi_marshalling_tests_interface_get_type(void)
-{
- static GType type = 0;
- if (type == 0) {
- type = g_type_register_static_simple (G_TYPE_INTERFACE,
- "GIMarshallingTestsInterface",
- sizeof (GIMarshallingTestsInterfaceIface),
- (GClassInitFunc) gi_marshalling_tests_interface_class_init,
- 0, NULL, 0);
+gi_marshalling_tests_interface_get_type (void)
+{
+ static GType type = 0;
+ if (type == 0)
+ {
+ type = g_type_register_static_simple (G_TYPE_INTERFACE,
+ "GIMarshallingTestsInterface",
+ sizeof
+ (GIMarshallingTestsInterfaceIface),
+ (GClassInitFunc) gi_marshalling_tests_interface_class_init, 0, NULL, 0);
}
- return type;
+ return type;
}
/**
@@ -4202,43 +4672,45 @@ gi_marshalling_tests_test_interface_test_int8_in (GIMarshallingTestsInterface *t
static void
-gi_marshalling_tests_interface2_class_init(void *g_iface)
+gi_marshalling_tests_interface2_class_init (void *g_iface)
{
}
GType
-gi_marshalling_tests_interface2_get_type(void)
-{
- static GType type = 0;
- if (type == 0) {
- type = g_type_register_static_simple (G_TYPE_INTERFACE,
- "GIMarshallingTestsInterface2",
- sizeof (GIMarshallingTestsInterface2Iface),
- (GClassInitFunc) gi_marshalling_tests_interface2_class_init,
- 0, NULL, 0);
+gi_marshalling_tests_interface2_get_type (void)
+{
+ static GType type = 0;
+ if (type == 0)
+ {
+ type = g_type_register_static_simple (G_TYPE_INTERFACE,
+ "GIMarshallingTestsInterface2",
+ sizeof
+ (GIMarshallingTestsInterface2Iface),
+ (GClassInitFunc) gi_marshalling_tests_interface2_class_init, 0, NULL, 0);
}
- return type;
+ return type;
}
static void
-gi_marshalling_tests_interface3_class_init(void *g_iface)
+gi_marshalling_tests_interface3_class_init (void *g_iface)
{
}
GType
-gi_marshalling_tests_interface3_get_type(void)
-{
- static GType type = 0;
- if (type == 0) {
- type = g_type_register_static_simple (G_TYPE_INTERFACE,
- "GIMarshallingTestsInterface3",
- sizeof (GIMarshallingTestsInterface3Iface),
- (GClassInitFunc) gi_marshalling_tests_interface3_class_init,
- 0, NULL, 0);
+gi_marshalling_tests_interface3_get_type (void)
+{
+ static GType type = 0;
+ if (type == 0)
+ {
+ type = g_type_register_static_simple (G_TYPE_INTERFACE,
+ "GIMarshallingTestsInterface3",
+ sizeof
+ (GIMarshallingTestsInterface3Iface),
+ (GClassInitFunc) gi_marshalling_tests_interface3_class_init, 0, NULL, 0);
}
- return type;
+ return type;
}
/**
@@ -4247,9 +4719,8 @@ gi_marshalling_tests_interface3_get_type(void)
* @n_in:
*/
void
-gi_marshalling_tests_interface3_test_variant_array_in (GIMarshallingTestsInterface3 *self,
- GVariant **in,
- gsize n_in)
+ gi_marshalling_tests_interface3_test_variant_array_in
+ (GIMarshallingTestsInterface3 *self, GVariant **in, gsize n_in)
{
GI_MARSHALLING_TESTS_INTERFACE3_GET_IFACE (self)->test_variant_array_in (self, in, n_in);
}
@@ -4262,8 +4733,8 @@ gi_marshalling_tests_interface3_test_variant_array_in (GIMarshallingTestsInterfa
void
gi_marshalling_tests_int_out_out (gint *int0, gint *int1)
{
- *int0 = 6;
- *int1 = 7;
+ *int0 = 6;
+ *int1 = 7;
}
/**
@@ -4276,12 +4747,11 @@ gi_marshalling_tests_int_out_out (gint *int0, gint *int1)
* @out2: (out):
*/
void
-gi_marshalling_tests_int_three_in_three_out(gint a, gint b, gint c,
- gint *out0, gint *out1, gint *out2)
+gi_marshalling_tests_int_three_in_three_out (gint a, gint b, gint c, gint *out0, gint *out1, gint *out2)
{
- *out0 = a;
- *out1 = b;
- *out2 = c;
+ *out0 = a;
+ *out1 = b;
+ *out2 = c;
}
/**
@@ -4291,20 +4761,95 @@ gi_marshalling_tests_int_three_in_three_out(gint a, gint b, gint c,
gint
gi_marshalling_tests_int_return_out (gint *int_)
{
- *int_ = 7;
- return 6;
+ *int_ = 7;
+ return 6;
+}
+
+/**
+* gi_marshalling_tests_int_two_in_utf8_two_in_with_allow_none:
+* @a: (in): Must be 1
+* @b: (in): Must be 2
+* @c: (in) (allow-none): Must be "3" or NULL
+* @d: (in) (allow-none): Must be "4" or NULL
+*/
+void
+gi_marshalling_tests_int_two_in_utf8_two_in_with_allow_none (gint a, gint b, const gchar *c, const gchar *d)
+{
+ g_assert_cmpint (a, ==, 1);
+ g_assert_cmpint (b, ==, 2);
+ if (c != NULL)
+ g_assert_cmpstr (c, ==, "3");
+ if (d != NULL)
+ g_assert_cmpstr (d, ==, "4");
+}
+
+/**
+* gi_marshalling_tests_int_one_in_utf8_two_in_one_allows_none:
+* @a: (in): Must be 1
+* @b: (in) (allow-none): Must be "2" or NULL
+* @c: (in): Must be "3"
+*/
+void
+gi_marshalling_tests_int_one_in_utf8_two_in_one_allows_none (gint a, const gchar *b, const gchar *c)
+{
+ g_assert_cmpint (a, ==, 1);
+ if (b != NULL)
+ g_assert_cmpstr (b, ==, "2");
+ g_assert_cmpstr (c, ==, "3");
+}
+
+/**
+ * gi_marshalling_tests_array_in_utf8_two_in:
+ * @ints: (array length=length):
+ * @length:
+ * @a: (in) (allow-none): Must be "1" or NULL
+ * @b: (in) (allow-none): Must be "2" or NULL
+ */
+void
+gi_marshalling_tests_array_in_utf8_two_in (const gint *ints, gint length, const gchar *a, const gchar *b)
+{
+ g_assert_cmpint (length, ==, 4);
+ g_assert_cmpint (ints[0], ==, -1);
+ g_assert_cmpint (ints[1], ==, 0);
+ g_assert_cmpint (ints[2], ==, 1);
+ g_assert_cmpint (ints[3], ==, 2);
+
+ if (a != NULL)
+ g_assert_cmpstr (a, ==, "1");
+ if (b != NULL)
+ g_assert_cmpstr (b, ==, "2");
+}
+
+/**
+ * gi_marshalling_tests_array_in_utf8_two_in_out_of_order:
+ * @length:
+ * @a: (in) (allow-none): Must be "1" or NULL
+ * @ints: (array length=length):
+ * @b: (in) (allow-none): Must be "2" or NULL
+ */
+void
+gi_marshalling_tests_array_in_utf8_two_in_out_of_order (gint length, const gchar *a, const gint *ints, const gchar *b)
+{
+ g_assert_cmpint (length, ==, 4);
+ g_assert_cmpint (ints[0], ==, -1);
+ g_assert_cmpint (ints[1], ==, 0);
+ g_assert_cmpint (ints[2], ==, 1);
+ g_assert_cmpint (ints[3], ==, 2);
+
+ if (a != NULL)
+ g_assert_cmpstr (a, ==, "1");
+ if (b != NULL)
+ g_assert_cmpstr (b, ==, "2");
}
/* GError */
void
-gi_marshalling_tests_gerror(GError **error)
+gi_marshalling_tests_gerror (GError **error)
{
- GQuark quark = g_quark_from_static_string(GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
- g_set_error_literal(error,
- quark,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
+ GQuark quark = g_quark_from_static_string (GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
+ g_set_error_literal (error, quark,
+ GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE, GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
}
/**
@@ -4312,13 +4857,11 @@ gi_marshalling_tests_gerror(GError **error)
* @in_ints: (array zero-terminated=1):
*/
void
-gi_marshalling_tests_gerror_array_in(gint *in_ints, GError **error)
+gi_marshalling_tests_gerror_array_in (gint *in_ints, GError **error)
{
- GQuark quark = g_quark_from_static_string(GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
- g_set_error_literal(error,
- quark,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
+ GQuark quark = g_quark_from_static_string (GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
+ g_set_error_literal (error, quark,
+ GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE, GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
}
/**
@@ -4329,16 +4872,15 @@ gi_marshalling_tests_gerror_array_in(gint *in_ints, GError **error)
* Inspired by gst_message_parse_error.
*/
void
-gi_marshalling_tests_gerror_out(GError **error, gchar **debug)
+gi_marshalling_tests_gerror_out (GError **error, gchar **debug)
{
- GQuark quark = g_quark_from_static_string(GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
- g_set_error_literal(error,
- quark,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
+ GQuark quark = g_quark_from_static_string (GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
+ g_set_error_literal (error, quark,
+ GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE, GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
- if (debug != NULL) {
- *debug = g_strdup (GI_MARSHALLING_TESTS_CONSTANT_GERROR_DEBUG_MESSAGE);
+ if (debug != NULL)
+ {
+ *debug = g_strdup (GI_MARSHALLING_TESTS_CONSTANT_GERROR_DEBUG_MESSAGE);
}
}
@@ -4351,14 +4893,15 @@ gi_marshalling_tests_gerror_out(GError **error, gchar **debug)
* must not free.
*/
void
-gi_marshalling_tests_gerror_out_transfer_none(GError **err, const gchar **debug)
+gi_marshalling_tests_gerror_out_transfer_none (GError **err, const gchar **debug)
{
- static GError error = { 0,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE };
- error.domain = g_quark_from_static_string(GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
- *err = &error;
- *debug = GI_MARSHALLING_TESTS_CONSTANT_GERROR_DEBUG_MESSAGE;
+ static GError error = { 0,
+ GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE,
+ GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE
+ };
+ error.domain = g_quark_from_static_string (GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
+ *err = &error;
+ *debug = GI_MARSHALLING_TESTS_CONSTANT_GERROR_DEBUG_MESSAGE;
}
/**
@@ -4369,57 +4912,57 @@ gi_marshalling_tests_gerror_out_transfer_none(GError **err, const gchar **debug)
* Returns: (transfer full): a GError
*/
GError *
-gi_marshalling_tests_gerror_return(void)
+gi_marshalling_tests_gerror_return (void)
{
- GQuark quark = g_quark_from_static_string(GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
+ GQuark quark = g_quark_from_static_string (GI_MARSHALLING_TESTS_CONSTANT_GERROR_DOMAIN);
- return g_error_new(quark,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE,
- GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
+ return g_error_new (quark, GI_MARSHALLING_TESTS_CONSTANT_GERROR_CODE, GI_MARSHALLING_TESTS_CONSTANT_GERROR_MESSAGE);
}
static GIMarshallingTestsOverridesStruct *
gi_marshalling_tests_overrides_struct_copy (GIMarshallingTestsOverridesStruct *struct_)
{
- GIMarshallingTestsOverridesStruct *new_struct;
+ GIMarshallingTestsOverridesStruct *new_struct;
- new_struct = g_slice_new (GIMarshallingTestsOverridesStruct);
+ new_struct = g_slice_new (GIMarshallingTestsOverridesStruct);
- *new_struct = *struct_;
+ *new_struct = *struct_;
- return new_struct;
+ return new_struct;
}
static void
gi_marshalling_tests_overrides_struct_free (GIMarshallingTestsOverridesStruct *struct_)
{
- g_slice_free (GIMarshallingTestsOverridesStruct, struct_);
+ g_slice_free (GIMarshallingTestsOverridesStruct, struct_);
}
GType
gi_marshalling_tests_overrides_struct_get_type (void)
{
- static GType type = 0;
+ static GType type = 0;
- if (type == 0) {
- type = g_boxed_type_register_static ("GIMarshallingTestsOverridesStruct",
- (GBoxedCopyFunc) gi_marshalling_tests_overrides_struct_copy,
- (GBoxedFreeFunc) gi_marshalling_tests_overrides_struct_free);
+ if (type == 0)
+ {
+ type =
+ g_boxed_type_register_static ("GIMarshallingTestsOverridesStruct",
+ (GBoxedCopyFunc)
+ gi_marshalling_tests_overrides_struct_copy,
+ (GBoxedFreeFunc) gi_marshalling_tests_overrides_struct_free);
}
- return type;
+ return type;
}
GIMarshallingTestsOverridesStruct *
gi_marshalling_tests_overrides_struct_new (void)
{
- return g_slice_new (GIMarshallingTestsOverridesStruct);
+ return g_slice_new (GIMarshallingTestsOverridesStruct);
}
-glong
-gi_marshalling_tests_overrides_struct_method (GIMarshallingTestsOverridesStruct *struct_)
+glong gi_marshalling_tests_overrides_struct_method (GIMarshallingTestsOverridesStruct *struct_)
{
- return 42;
+ return 42;
}
@@ -4431,7 +4974,7 @@ gi_marshalling_tests_overrides_struct_method (GIMarshallingTestsOverridesStruct
GIMarshallingTestsOverridesStruct *
gi_marshalling_tests_overrides_struct_returnv (void)
{
- return gi_marshalling_tests_overrides_struct_new();
+ return gi_marshalling_tests_overrides_struct_new ();
}
@@ -4445,30 +4988,28 @@ gi_marshalling_tests_overrides_object_init (GIMarshallingTestsOverridesObject *o
static void
gi_marshalling_tests_overrides_object_finalize (GObject *object)
{
- G_OBJECT_CLASS (gi_marshalling_tests_overrides_object_parent_class)->finalize (object);
+ G_OBJECT_CLASS (gi_marshalling_tests_overrides_object_parent_class)->finalize (object);
}
-static void
-gi_marshalling_tests_overrides_object_class_init (GIMarshallingTestsOverridesObjectClass *klass)
+static void gi_marshalling_tests_overrides_object_class_init (GIMarshallingTestsOverridesObjectClass *klass)
{
- GObjectClass* object_class = G_OBJECT_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
#if 0
- GObjectClass* parent_class = G_OBJECT_CLASS (klass);
+ GObjectClass *parent_class = G_OBJECT_CLASS (klass);
#endif
- object_class->finalize = gi_marshalling_tests_overrides_object_finalize;
+ object_class->finalize = gi_marshalling_tests_overrides_object_finalize;
}
GIMarshallingTestsOverridesObject *
gi_marshalling_tests_overrides_object_new (void)
{
- return g_object_new (GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT, NULL);
+ return g_object_new (GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT, NULL);
}
-glong
-gi_marshalling_tests_overrides_object_method (GIMarshallingTestsOverridesObject *object)
+glong gi_marshalling_tests_overrides_object_method (GIMarshallingTestsOverridesObject *object)
{
- return 42;
+ return 42;
}
/**
@@ -4479,7 +5020,7 @@ gi_marshalling_tests_overrides_object_method (GIMarshallingTestsOverridesObject
GIMarshallingTestsOverridesObject *
gi_marshalling_tests_overrides_object_returnv (void)
{
- return g_object_new (GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT, NULL);
+ return g_object_new (GI_MARSHALLING_TESTS_TYPE_OVERRIDES_OBJECT, NULL);
}
/**
@@ -4490,7 +5031,18 @@ gi_marshalling_tests_overrides_object_returnv (void)
GSList *
gi_marshalling_tests_filename_list_return (void)
{
- return NULL;
+ return NULL;
+}
+
+/**
+ * gi_marshalling_tests_param_spec_in_bool:
+ */
+void
+gi_marshalling_tests_param_spec_in_bool (const GParamSpec *param)
+{
+ g_assert (G_IS_PARAM_SPEC (param));
+ g_assert_cmpint (G_PARAM_SPEC_TYPE (param), ==, G_TYPE_BOOLEAN);
+ g_assert_cmpstr (g_param_spec_get_name ((GParamSpec *) param), ==, "mybool");
}
/**
@@ -4499,9 +5051,9 @@ gi_marshalling_tests_filename_list_return (void)
* Returns: (transfer full): a #GParamSpec
*/
GParamSpec *
-gi_marshalling_tests_param_spec_return()
+gi_marshalling_tests_param_spec_return (void)
{
- return g_param_spec_string("test-param", "test", "This is a test", "42", G_PARAM_READABLE);
+ return g_param_spec_string ("test-param", "test", "This is a test", "42", G_PARAM_READABLE);
}
/**
@@ -4509,211 +5061,314 @@ gi_marshalling_tests_param_spec_return()
* @param: (out):
*/
void
-gi_marshalling_tests_param_spec_out(GParamSpec **param)
+gi_marshalling_tests_param_spec_out (GParamSpec **param)
{
- *param = g_param_spec_string("test-param", "test", "This is a test", "42", G_PARAM_READABLE);
+ *param = g_param_spec_string ("test-param", "test", "This is a test", "42", G_PARAM_READABLE);
}
-enum {
- DUMMY_PROPERTY,
- SOME_BOOLEAN_PROPERTY,
- SOME_CHAR_PROPERTY,
- SOME_UCHAR_PROPERTY,
- SOME_INT_PROPERTY,
- SOME_UINT_PROPERTY,
- SOME_LONG_PROPERTY,
- SOME_ULONG_PROPERTY,
- SOME_INT64_PROPERTY,
- SOME_UINT64_PROPERTY,
- SOME_FLOAT_PROPERTY,
- SOME_DOUBLE_PROPERTY,
- SOME_STRV_PROPERTY,
- SOME_BOXED_STRUCT_PROPERTY,
+enum
+{
+ DUMMY_PROPERTY,
+ SOME_BOOLEAN_PROPERTY,
+ SOME_CHAR_PROPERTY,
+ SOME_UCHAR_PROPERTY,
+ SOME_INT_PROPERTY,
+ SOME_UINT_PROPERTY,
+ SOME_LONG_PROPERTY,
+ SOME_ULONG_PROPERTY,
+ SOME_INT64_PROPERTY,
+ SOME_UINT64_PROPERTY,
+ SOME_FLOAT_PROPERTY,
+ SOME_DOUBLE_PROPERTY,
+ SOME_STRV_PROPERTY,
+ SOME_BOXED_STRUCT_PROPERTY,
+ SOME_VARIANT_PROPERTY,
+ SOME_BOXED_GLIST_PROPERTY,
+ SOME_OBJECT_PROPERTY,
};
G_DEFINE_TYPE (GIMarshallingTestsPropertiesObject, gi_marshalling_tests_properties_object, G_TYPE_OBJECT);
-static void
-gi_marshalling_tests_properties_object_init (GIMarshallingTestsPropertiesObject * self)
+static void gi_marshalling_tests_properties_object_init (GIMarshallingTestsPropertiesObject *self)
{
}
static void
-gi_marshalling_tests_properties_object_finalize (GObject* obj)
+gi_marshalling_tests_properties_object_finalize (GObject *obj)
{
- G_OBJECT_CLASS (gi_marshalling_tests_properties_object_parent_class)->finalize (obj);
-}
+ GIMarshallingTestsPropertiesObject *self;
+ self = GI_MARSHALLING_TESTS_PROPERTIES_OBJECT (obj);
-static void
-gi_marshalling_tests_properties_object_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec)
-{
- GIMarshallingTestsPropertiesObject * self;
- self = GI_MARSHALLING_TESTS_PROPERTIES_OBJECT (object);
- switch (property_id) {
- case SOME_BOOLEAN_PROPERTY:
- g_value_set_boolean (value, self->some_boolean);
- break;
- case SOME_CHAR_PROPERTY:
- g_value_set_schar (value, self->some_char);
- break;
- case SOME_UCHAR_PROPERTY:
- g_value_set_uchar (value, self->some_uchar);
- break;
- case SOME_INT_PROPERTY:
- g_value_set_int (value, self->some_int);
- break;
- case SOME_UINT_PROPERTY:
- g_value_set_uint (value, self->some_uint);
- break;
- case SOME_LONG_PROPERTY:
- g_value_set_long (value, self->some_long);
- break;
- case SOME_ULONG_PROPERTY:
- g_value_set_ulong (value, self->some_ulong);
- break;
- case SOME_INT64_PROPERTY:
- g_value_set_int64 (value, self->some_int64);
- break;
- case SOME_UINT64_PROPERTY:
- g_value_set_uint64 (value, self->some_uint64);
- break;
- case SOME_FLOAT_PROPERTY:
- g_value_set_float (value, self->some_float);
- break;
- case SOME_DOUBLE_PROPERTY:
- g_value_set_double (value, self->some_double);
- break;
- case SOME_STRV_PROPERTY:
- g_value_set_boxed (value, self->some_strv);
- break;
- case SOME_BOXED_STRUCT_PROPERTY:
- g_value_set_boxed (value, self->some_boxed_struct);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- break;
- }
+ if (self->some_strv != NULL) {
+ g_strfreev (self->some_strv);
+ self->some_strv = NULL;
+ }
+
+ G_OBJECT_CLASS (gi_marshalling_tests_properties_object_parent_class)->finalize (obj);
}
static void
-gi_marshalling_tests_properties_object_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec)
-{
- GIMarshallingTestsPropertiesObject * self;
- self = GI_MARSHALLING_TESTS_PROPERTIES_OBJECT (object);
- switch (property_id) {
- case SOME_BOOLEAN_PROPERTY:
- self->some_boolean = g_value_get_boolean (value);
- break;
- case SOME_CHAR_PROPERTY:
- self->some_char = g_value_get_schar (value);
- break;
- case SOME_UCHAR_PROPERTY:
- self->some_uchar = g_value_get_uchar (value);
- break;
- case SOME_INT_PROPERTY:
- self->some_int = g_value_get_int (value);
- break;
- case SOME_UINT_PROPERTY:
- self->some_uint = g_value_get_uint (value);
- break;
- case SOME_LONG_PROPERTY:
- self->some_long = g_value_get_long (value);
- break;
- case SOME_ULONG_PROPERTY:
- self->some_ulong = g_value_get_ulong (value);
- break;
- case SOME_INT64_PROPERTY:
- self->some_int64 = g_value_get_int64 (value);
- break;
- case SOME_UINT64_PROPERTY:
- self->some_uint64 = g_value_get_uint64 (value);
- break;
- case SOME_FLOAT_PROPERTY:
- self->some_float = g_value_get_float (value);
- break;
- case SOME_DOUBLE_PROPERTY:
- self->some_double = g_value_get_double (value);
- break;
- case SOME_STRV_PROPERTY:
- g_strfreev (self->some_strv);
- self->some_strv = g_strdupv (g_value_get_boxed (value));
- break;
- case SOME_BOXED_STRUCT_PROPERTY:
- gi_marshalling_tests_boxed_struct_free (self->some_boxed_struct);
- self->some_boxed_struct = gi_marshalling_tests_boxed_struct_copy (g_value_get_boxed (value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
- break;
+gi_marshalling_tests_properties_object_get_property (GObject *object,
+ guint property_id, GValue *value, GParamSpec *pspec)
+{
+ GIMarshallingTestsPropertiesObject *self;
+ self = GI_MARSHALLING_TESTS_PROPERTIES_OBJECT (object);
+ switch (property_id)
+ {
+ case SOME_BOOLEAN_PROPERTY:
+ g_value_set_boolean (value, self->some_boolean);
+ break;
+ case SOME_CHAR_PROPERTY:
+ g_value_set_schar (value, self->some_char);
+ break;
+ case SOME_UCHAR_PROPERTY:
+ g_value_set_uchar (value, self->some_uchar);
+ break;
+ case SOME_INT_PROPERTY:
+ g_value_set_int (value, self->some_int);
+ break;
+ case SOME_UINT_PROPERTY:
+ g_value_set_uint (value, self->some_uint);
+ break;
+ case SOME_LONG_PROPERTY:
+ g_value_set_long (value, self->some_long);
+ break;
+ case SOME_ULONG_PROPERTY:
+ g_value_set_ulong (value, self->some_ulong);
+ break;
+ case SOME_INT64_PROPERTY:
+ g_value_set_int64 (value, self->some_int64);
+ break;
+ case SOME_UINT64_PROPERTY:
+ g_value_set_uint64 (value, self->some_uint64);
+ break;
+ case SOME_FLOAT_PROPERTY:
+ g_value_set_float (value, self->some_float);
+ break;
+ case SOME_DOUBLE_PROPERTY:
+ g_value_set_double (value, self->some_double);
+ break;
+ case SOME_STRV_PROPERTY:
+ g_value_set_boxed (value, self->some_strv);
+ break;
+ case SOME_BOXED_STRUCT_PROPERTY:
+ g_value_set_boxed (value, self->some_boxed_struct);
+ break;
+ case SOME_BOXED_GLIST_PROPERTY:
+ g_value_set_boxed (value, self->some_boxed_glist);
+ break;
+ case SOME_VARIANT_PROPERTY:
+ g_value_set_variant (value, self->some_variant);
+ break;
+ case SOME_OBJECT_PROPERTY:
+ g_value_set_object (value, self->some_object);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
}
}
static void
-gi_marshalling_tests_properties_object_class_init (GIMarshallingTestsPropertiesObjectClass * klass)
-{
- GObjectClass* object_class = G_OBJECT_CLASS (klass);
-
- object_class->finalize = gi_marshalling_tests_properties_object_finalize;
- object_class->get_property = gi_marshalling_tests_properties_object_get_property;
- object_class->set_property = gi_marshalling_tests_properties_object_set_property;
-
- g_object_class_install_property (object_class, SOME_BOOLEAN_PROPERTY,
- g_param_spec_boolean ("some-boolean", "some-boolean", "some-boolean", FALSE,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_CHAR_PROPERTY,
- g_param_spec_char ("some-char", "some-char", "some-char", G_MININT8, G_MAXINT8, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_UCHAR_PROPERTY,
- g_param_spec_uchar ("some-uchar", "some-uchar", "some-uchar", 0, G_MAXUINT8, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_INT_PROPERTY,
- g_param_spec_int ("some-int", "some-int", "some-int", G_MININT, G_MAXINT, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_UINT_PROPERTY,
- g_param_spec_uint ("some-uint", "some-uint", "some-uint", 0, G_MAXUINT, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_LONG_PROPERTY,
- g_param_spec_long ("some-long", "some-long", "some-long", G_MINLONG, G_MAXLONG, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_ULONG_PROPERTY,
- g_param_spec_ulong ("some-ulong", "some-ulong", "some-ulong", 0, G_MAXULONG, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_INT64_PROPERTY,
- g_param_spec_int64 ("some-int64", "some-int64", "some-int64", G_MININT64, G_MAXINT64, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_UINT64_PROPERTY,
- g_param_spec_uint64 ("some-uint64", "some-uint64", "some-uint64", 0, G_MAXUINT64, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_FLOAT_PROPERTY,
- g_param_spec_float ("some-float", "some-float", "some-float", -1 * G_MAXFLOAT, G_MAXFLOAT, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_DOUBLE_PROPERTY,
- g_param_spec_double ("some-double", "some-double", "some-double", -1 * G_MAXDOUBLE, G_MAXDOUBLE, 0,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_STRV_PROPERTY,
- g_param_spec_boxed ("some-strv", "some-strv", "some-strv", G_TYPE_STRV,
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
-
- g_object_class_install_property (object_class, SOME_BOXED_STRUCT_PROPERTY,
- g_param_spec_boxed ("some-boxed-struct", "some-boxed-struct", "some-boxed-struct",
- gi_marshalling_tests_boxed_struct_get_type(),
- G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+gi_marshalling_tests_properties_object_set_property (GObject *object,
+ guint property_id, const GValue *value, GParamSpec *pspec)
+{
+ GIMarshallingTestsPropertiesObject *self;
+ self = GI_MARSHALLING_TESTS_PROPERTIES_OBJECT (object);
+ switch (property_id)
+ {
+ case SOME_BOOLEAN_PROPERTY:
+ self->some_boolean = g_value_get_boolean (value);
+ break;
+ case SOME_CHAR_PROPERTY:
+ self->some_char = g_value_get_schar (value);
+ break;
+ case SOME_UCHAR_PROPERTY:
+ self->some_uchar = g_value_get_uchar (value);
+ break;
+ case SOME_INT_PROPERTY:
+ self->some_int = g_value_get_int (value);
+ break;
+ case SOME_UINT_PROPERTY:
+ self->some_uint = g_value_get_uint (value);
+ break;
+ case SOME_LONG_PROPERTY:
+ self->some_long = g_value_get_long (value);
+ break;
+ case SOME_ULONG_PROPERTY:
+ self->some_ulong = g_value_get_ulong (value);
+ break;
+ case SOME_INT64_PROPERTY:
+ self->some_int64 = g_value_get_int64 (value);
+ break;
+ case SOME_UINT64_PROPERTY:
+ self->some_uint64 = g_value_get_uint64 (value);
+ break;
+ case SOME_FLOAT_PROPERTY:
+ self->some_float = g_value_get_float (value);
+ break;
+ case SOME_DOUBLE_PROPERTY:
+ self->some_double = g_value_get_double (value);
+ break;
+ case SOME_STRV_PROPERTY:
+ g_strfreev (self->some_strv);
+ self->some_strv = g_strdupv (g_value_get_boxed (value));
+ break;
+ case SOME_BOXED_STRUCT_PROPERTY:
+ gi_marshalling_tests_boxed_struct_free (self->some_boxed_struct);
+ self->some_boxed_struct = gi_marshalling_tests_boxed_struct_copy (g_value_get_boxed (value));
+ break;
+ case SOME_BOXED_GLIST_PROPERTY:
+ g_list_free (self->some_boxed_glist);
+ self->some_boxed_glist = g_list_copy (g_value_get_boxed (value));
+ break;
+ case SOME_VARIANT_PROPERTY:
+ if (self->some_variant != NULL)
+ g_variant_unref (self->some_variant);
+ self->some_variant = g_value_get_variant (value);
+ if (self->some_variant != NULL)
+ g_variant_ref (self->some_variant);
+ break;
+ case SOME_OBJECT_PROPERTY:
+ if (self->some_object != NULL)
+ g_object_unref (self->some_object);
+ self->some_object = g_value_dup_object (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
}
-GIMarshallingTestsPropertiesObject*
+static void gi_marshalling_tests_properties_object_class_init (GIMarshallingTestsPropertiesObjectClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = gi_marshalling_tests_properties_object_finalize;
+ object_class->get_property = gi_marshalling_tests_properties_object_get_property;
+ object_class->set_property = gi_marshalling_tests_properties_object_set_property;
+
+ g_object_class_install_property (object_class, SOME_BOOLEAN_PROPERTY,
+ g_param_spec_boolean ("some-boolean",
+ "some-boolean",
+ "some-boolean",
+ FALSE,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_CHAR_PROPERTY,
+ g_param_spec_char ("some-char",
+ "some-char",
+ "some-char", G_MININT8,
+ G_MAXINT8, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_UCHAR_PROPERTY,
+ g_param_spec_uchar ("some-uchar",
+ "some-uchar",
+ "some-uchar", 0,
+ G_MAXUINT8, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_INT_PROPERTY,
+ g_param_spec_int ("some-int", "some-int",
+ "some-int", G_MININT,
+ G_MAXINT, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_UINT_PROPERTY,
+ g_param_spec_uint ("some-uint",
+ "some-uint",
+ "some-uint", 0,
+ G_MAXUINT, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_LONG_PROPERTY,
+ g_param_spec_long ("some-long",
+ "some-long",
+ "some-long", G_MINLONG,
+ G_MAXLONG, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_ULONG_PROPERTY,
+ g_param_spec_ulong ("some-ulong",
+ "some-ulong",
+ "some-ulong", 0,
+ G_MAXULONG, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_INT64_PROPERTY,
+ g_param_spec_int64 ("some-int64",
+ "some-int64",
+ "some-int64",
+ G_MININT64, G_MAXINT64,
+ 0, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_UINT64_PROPERTY,
+ g_param_spec_uint64 ("some-uint64",
+ "some-uint64",
+ "some-uint64", 0,
+ G_MAXUINT64, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_FLOAT_PROPERTY,
+ g_param_spec_float ("some-float",
+ "some-float",
+ "some-float",
+ -1 * G_MAXFLOAT,
+ G_MAXFLOAT, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_DOUBLE_PROPERTY,
+ g_param_spec_double ("some-double",
+ "some-double",
+ "some-double",
+ -1 * G_MAXDOUBLE,
+ G_MAXDOUBLE, 0,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_STRV_PROPERTY,
+ g_param_spec_boxed ("some-strv",
+ "some-strv",
+ "some-strv",
+ G_TYPE_STRV,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_BOXED_STRUCT_PROPERTY,
+ g_param_spec_boxed ("some-boxed-struct",
+ "some-boxed-struct",
+ "some-boxed-struct",
+ gi_marshalling_tests_boxed_struct_get_type
+ (), G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ /**
+ * GIMarshallingTestsPropertiesObject:some-boxed-glist: (type GLib.List(gint)) (transfer none):
+ */
+ g_object_class_install_property (object_class, SOME_BOXED_GLIST_PROPERTY,
+ g_param_spec_boxed ("some-boxed-glist",
+ "some-boxed-glist",
+ "some-boxed-glist",
+ gi_marshalling_tests_boxed_glist_get_type
+ (), G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_VARIANT_PROPERTY,
+ g_param_spec_variant ("some-variant",
+ "some-variant",
+ "some-variant",
+ G_VARIANT_TYPE_ANY,
+ NULL,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_OBJECT_PROPERTY,
+ g_param_spec_object ("some-object",
+ "some-object",
+ "some-object",
+ G_TYPE_OBJECT,
+ G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+}
+
+GIMarshallingTestsPropertiesObject *
gi_marshalling_tests_properties_object_new (void)
{
- return g_object_new (GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT, NULL);
+ return g_object_new (GI_MARSHALLING_TESTS_TYPE_PROPERTIES_OBJECT, NULL);
}
diff --git a/tests/gimarshallingtests.h b/tests/gimarshallingtests.h
index cdcb08e6..5568a6f9 100644
--- a/tests/gimarshallingtests.h
+++ b/tests/gimarshallingtests.h
@@ -21,14 +21,14 @@ typedef struct _GIMarshallingTestsBoxedStruct GIMarshallingTestsBoxedStruct;
gboolean gi_marshalling_tests_boolean_return_true (void);
gboolean gi_marshalling_tests_boolean_return_false (void);
-void gi_marshalling_tests_boolean_in_true (gboolean bool_);
-void gi_marshalling_tests_boolean_in_false (gboolean bool_);
+void gi_marshalling_tests_boolean_in_true (gboolean v);
+void gi_marshalling_tests_boolean_in_false (gboolean v);
-void gi_marshalling_tests_boolean_out_true (gboolean *bool_);
-void gi_marshalling_tests_boolean_out_false (gboolean *bool_);
+void gi_marshalling_tests_boolean_out_true (gboolean *v);
+void gi_marshalling_tests_boolean_out_false (gboolean *v);
-void gi_marshalling_tests_boolean_inout_true_false (gboolean *bool_);
-void gi_marshalling_tests_boolean_inout_false_true (gboolean *bool_);
+void gi_marshalling_tests_boolean_inout_true_false (gboolean *v);
+void gi_marshalling_tests_boolean_inout_false_true (gboolean *v);
/* Integers */
@@ -36,85 +36,85 @@ void gi_marshalling_tests_boolean_inout_false_true (gboolean *bool_);
gint8 gi_marshalling_tests_int8_return_max (void);
gint8 gi_marshalling_tests_int8_return_min (void);
-void gi_marshalling_tests_int8_in_max (gint8 int8);
-void gi_marshalling_tests_int8_in_min (gint8 int8);
+void gi_marshalling_tests_int8_in_max (gint8 v);
+void gi_marshalling_tests_int8_in_min (gint8 v);
-void gi_marshalling_tests_int8_out_max (gint8 *int8);
-void gi_marshalling_tests_int8_out_min (gint8 *int8);
+void gi_marshalling_tests_int8_out_max (gint8 *v);
+void gi_marshalling_tests_int8_out_min (gint8 *v);
-void gi_marshalling_tests_int8_inout_max_min (gint8 *int8);
-void gi_marshalling_tests_int8_inout_min_max (gint8 *int8);
+void gi_marshalling_tests_int8_inout_max_min (gint8 *v);
+void gi_marshalling_tests_int8_inout_min_max (gint8 *v);
guint8 gi_marshalling_tests_uint8_return (void);
-void gi_marshalling_tests_uint8_in (guint8 uint8);
+void gi_marshalling_tests_uint8_in (guint8 v);
-void gi_marshalling_tests_uint8_out (guint8 *uint8);
-void gi_marshalling_tests_uint8_inout (guint8 *uint8);
+void gi_marshalling_tests_uint8_out (guint8 *v);
+void gi_marshalling_tests_uint8_inout (guint8 *v);
gint16 gi_marshalling_tests_int16_return_max (void);
gint16 gi_marshalling_tests_int16_return_min (void);
-void gi_marshalling_tests_int16_in_max (gint16 int16);
-void gi_marshalling_tests_int16_in_min (gint16 int16);
+void gi_marshalling_tests_int16_in_max (gint16 v);
+void gi_marshalling_tests_int16_in_min (gint16 v);
-void gi_marshalling_tests_int16_out_max (gint16 *int16);
-void gi_marshalling_tests_int16_out_min (gint16 *int16);
+void gi_marshalling_tests_int16_out_max (gint16 *v);
+void gi_marshalling_tests_int16_out_min (gint16 *v);
-void gi_marshalling_tests_int16_inout_max_min (gint16 *int16);
-void gi_marshalling_tests_int16_inout_min_max (gint16 *int16);
+void gi_marshalling_tests_int16_inout_max_min (gint16 *v);
+void gi_marshalling_tests_int16_inout_min_max (gint16 *v);
guint16 gi_marshalling_tests_uint16_return (void);
-void gi_marshalling_tests_uint16_in (guint16 uint16);
+void gi_marshalling_tests_uint16_in (guint16 v);
-void gi_marshalling_tests_uint16_out (guint16 *uint16);
-void gi_marshalling_tests_uint16_inout (guint16 *uint16);
+void gi_marshalling_tests_uint16_out (guint16 *v);
+void gi_marshalling_tests_uint16_inout (guint16 *v);
gint32 gi_marshalling_tests_int32_return_max (void);
gint32 gi_marshalling_tests_int32_return_min (void);
-void gi_marshalling_tests_int32_in_max (gint32 int32);
-void gi_marshalling_tests_int32_in_min (gint32 int32);
+void gi_marshalling_tests_int32_in_max (gint32 v);
+void gi_marshalling_tests_int32_in_min (gint32 v);
-void gi_marshalling_tests_int32_out_max (gint32 *int32);
-void gi_marshalling_tests_int32_out_min (gint32 *int32);
+void gi_marshalling_tests_int32_out_max (gint32 *v);
+void gi_marshalling_tests_int32_out_min (gint32 *v);
-void gi_marshalling_tests_int32_inout_max_min (gint32 *int32);
-void gi_marshalling_tests_int32_inout_min_max (gint32 *int32);
+void gi_marshalling_tests_int32_inout_max_min (gint32 *v);
+void gi_marshalling_tests_int32_inout_min_max (gint32 *v);
guint32 gi_marshalling_tests_uint32_return (void);
-void gi_marshalling_tests_uint32_in (guint32 uint32);
+void gi_marshalling_tests_uint32_in (guint32 v);
-void gi_marshalling_tests_uint32_out (guint32 *uint32);
-void gi_marshalling_tests_uint32_inout (guint32 *uint32);
+void gi_marshalling_tests_uint32_out (guint32 *v);
+void gi_marshalling_tests_uint32_inout (guint32 *v);
gint64 gi_marshalling_tests_int64_return_max (void);
gint64 gi_marshalling_tests_int64_return_min (void);
-void gi_marshalling_tests_int64_in_max (gint64 int64);
-void gi_marshalling_tests_int64_in_min (gint64 int64);
+void gi_marshalling_tests_int64_in_max (gint64 v);
+void gi_marshalling_tests_int64_in_min (gint64 v);
-void gi_marshalling_tests_int64_out_max (gint64 *int64);
-void gi_marshalling_tests_int64_out_min (gint64 *int64);
+void gi_marshalling_tests_int64_out_max (gint64 *v);
+void gi_marshalling_tests_int64_out_min (gint64 *v);
-void gi_marshalling_tests_int64_inout_max_min (gint64 *int64);
-void gi_marshalling_tests_int64_inout_min_max (gint64 *int64);
+void gi_marshalling_tests_int64_inout_max_min (gint64 *v);
+void gi_marshalling_tests_int64_inout_min_max (gint64 *v);
guint64 gi_marshalling_tests_uint64_return (void);
-void gi_marshalling_tests_uint64_in (guint64 uint64);
+void gi_marshalling_tests_uint64_in (guint64 v);
-void gi_marshalling_tests_uint64_out (guint64 *uint64);
-void gi_marshalling_tests_uint64_inout (guint64 *uint64);
+void gi_marshalling_tests_uint64_out (guint64 *v);
+void gi_marshalling_tests_uint64_inout (guint64 *v);
gshort gi_marshalling_tests_short_return_max (void);
@@ -205,31 +205,31 @@ void gi_marshalling_tests_size_inout (gsize *size);
gfloat gi_marshalling_tests_float_return (void);
-void gi_marshalling_tests_float_in (gfloat float_);
+void gi_marshalling_tests_float_in (gfloat v);
-void gi_marshalling_tests_float_out (gfloat *float_);
+void gi_marshalling_tests_float_out (gfloat *v);
-void gi_marshalling_tests_float_inout (gfloat *float_);
+void gi_marshalling_tests_float_inout (gfloat *v);
gdouble gi_marshalling_tests_double_return (void);
-void gi_marshalling_tests_double_in (gdouble double_);
+void gi_marshalling_tests_double_in (gdouble v);
-void gi_marshalling_tests_double_out (gdouble *double_);
+void gi_marshalling_tests_double_out (gdouble *v);
-void gi_marshalling_tests_double_inout (gdouble *double_);
+void gi_marshalling_tests_double_inout (gdouble *v);
/* Timestamps */
time_t gi_marshalling_tests_time_t_return (void);
-void gi_marshalling_tests_time_t_in (time_t time_t_);
+void gi_marshalling_tests_time_t_in (time_t v);
-void gi_marshalling_tests_time_t_out (time_t *time_t_);
+void gi_marshalling_tests_time_t_out (time_t *v);
-void gi_marshalling_tests_time_t_inout (time_t *time_t_);
+void gi_marshalling_tests_time_t_inout (time_t *v);
/* GType */
@@ -267,6 +267,10 @@ void gi_marshalling_tests_utf8_full_inout (gchar **utf8);
GSList *gi_marshalling_tests_filename_list_return (void);
+void gi_marshalling_tests_utf8_as_uint8array_in (const guint8 *array,
+ gsize len);
+
+
/* Enum */
typedef enum
@@ -284,11 +288,11 @@ typedef enum
GIMarshallingTestsEnum gi_marshalling_tests_enum_returnv (void);
-void gi_marshalling_tests_enum_in (GIMarshallingTestsEnum enum_);
+void gi_marshalling_tests_enum_in (GIMarshallingTestsEnum v);
-void gi_marshalling_tests_enum_out (GIMarshallingTestsEnum *enum_);
+void gi_marshalling_tests_enum_out (GIMarshallingTestsEnum *v);
-void gi_marshalling_tests_enum_inout (GIMarshallingTestsEnum *enum_);
+void gi_marshalling_tests_enum_inout (GIMarshallingTestsEnum *v);
/* GEnum */
@@ -303,13 +307,13 @@ typedef enum
GType gi_marshalling_tests_genum_get_type (void) G_GNUC_CONST;
#define GI_MARSHALLING_TESTS_TYPE_GENUM (gi_marshalling_tests_genum_get_type ())
-GIMarshallingTestsEnum gi_marshalling_tests_genum_returnv (void);
+GIMarshallingTestsGEnum gi_marshalling_tests_genum_returnv (void);
-void gi_marshalling_tests_genum_in (GIMarshallingTestsGEnum enum_);
+void gi_marshalling_tests_genum_in (GIMarshallingTestsGEnum v);
-void gi_marshalling_tests_genum_out (GIMarshallingTestsGEnum *enum_);
+void gi_marshalling_tests_genum_out (GIMarshallingTestsGEnum *v);
-void gi_marshalling_tests_genum_inout (GIMarshallingTestsGEnum *enum_);
+void gi_marshalling_tests_genum_inout (GIMarshallingTestsGEnum *v);
/* GFlags */
@@ -329,12 +333,12 @@ GType gi_marshalling_tests_flags_get_type (void) G_GNUC_CONST;
GIMarshallingTestsFlags gi_marshalling_tests_flags_returnv (void);
-void gi_marshalling_tests_flags_in (GIMarshallingTestsFlags flags_);
-void gi_marshalling_tests_flags_in_zero (GIMarshallingTestsFlags flags);
+void gi_marshalling_tests_flags_in (GIMarshallingTestsFlags v);
+void gi_marshalling_tests_flags_in_zero (GIMarshallingTestsFlags v);
-void gi_marshalling_tests_flags_out (GIMarshallingTestsFlags *flags_);
+void gi_marshalling_tests_flags_out (GIMarshallingTestsFlags *v);
-void gi_marshalling_tests_flags_inout (GIMarshallingTestsFlags *flags_);
+void gi_marshalling_tests_flags_inout (GIMarshallingTestsFlags *v);
/* Flags with no GType */
@@ -350,12 +354,12 @@ typedef enum
GIMarshallingTestsNoTypeFlags gi_marshalling_tests_no_type_flags_returnv (void);
-void gi_marshalling_tests_no_type_flags_in (GIMarshallingTestsNoTypeFlags flags_);
-void gi_marshalling_tests_no_type_flags_in_zero (GIMarshallingTestsNoTypeFlags flags);
+void gi_marshalling_tests_no_type_flags_in (GIMarshallingTestsNoTypeFlags v);
+void gi_marshalling_tests_no_type_flags_in_zero (GIMarshallingTestsNoTypeFlags v);
-void gi_marshalling_tests_no_type_flags_out (GIMarshallingTestsNoTypeFlags *flags_);
+void gi_marshalling_tests_no_type_flags_out (GIMarshallingTestsNoTypeFlags *v);
-void gi_marshalling_tests_no_type_flags_inout (GIMarshallingTestsNoTypeFlags *flags_);
+void gi_marshalling_tests_no_type_flags_inout (GIMarshallingTestsNoTypeFlags *v);
/* Arrays */
@@ -385,6 +389,7 @@ void gi_marshalling_tests_array_in_len_zero_terminated (const gint *ints, gint l
void gi_marshalling_tests_array_string_in (const gchar **strings, gint length);
void gi_marshalling_tests_array_uint8_in (const guint8 *chars, gint length);
void gi_marshalling_tests_array_struct_in (GIMarshallingTestsBoxedStruct **structs, gint length);
+void gi_marshalling_tests_array_struct_value_in (GIMarshallingTestsBoxedStruct *structs, gint length);
void gi_marshalling_tests_array_struct_take_in (GIMarshallingTestsBoxedStruct **structs, gint length);
void gi_marshalling_tests_array_simple_struct_in (GIMarshallingTestsSimpleStruct *structs, gint length);
void gi_marshalling_tests_multi_array_key_value_in (gint length, const gchar **keys, const GValue *values);
@@ -422,16 +427,19 @@ GVariant **gi_marshalling_tests_array_gvariant_full_in (GVariant **variants);
/* GArray */
GArray *gi_marshalling_tests_garray_int_none_return (void);
+GArray *gi_marshalling_tests_garray_uint64_none_return (void);
GArray *gi_marshalling_tests_garray_utf8_none_return (void);
GArray *gi_marshalling_tests_garray_utf8_container_return (void);
GArray *gi_marshalling_tests_garray_utf8_full_return (void);
void gi_marshalling_tests_garray_int_none_in (GArray *array_);
+void gi_marshalling_tests_garray_uint64_none_in (GArray *array_);
void gi_marshalling_tests_garray_utf8_none_in (GArray *array_);
void gi_marshalling_tests_garray_utf8_none_out (GArray **array_);
void gi_marshalling_tests_garray_utf8_container_out (GArray **array_);
void gi_marshalling_tests_garray_utf8_full_out (GArray **array_);
+void gi_marshalling_tests_garray_utf8_full_out_caller_allocated (GArray *array_);
void gi_marshalling_tests_garray_utf8_none_inout (GArray **array_);
void gi_marshalling_tests_garray_utf8_container_inout (GArray **array_);
@@ -455,7 +463,12 @@ void gi_marshalling_tests_gptrarray_utf8_full_inout (GPtrArray **parray_);
/* GByteArray */
GByteArray *gi_marshalling_tests_bytearray_full_return (void);
-void gi_marshalling_tests_bytearray_none_in (GByteArray* array_);
+void gi_marshalling_tests_bytearray_none_in (GByteArray* v);
+
+/* GBytes */
+
+GBytes *gi_marshalling_tests_gbytes_full_return (void);
+void gi_marshalling_tests_gbytes_none_in (GBytes* v);
/* GStrv */
@@ -467,11 +480,13 @@ void gi_marshalling_tests_gstrv_inout (GStrv *g_strv);
/* GList */
GList *gi_marshalling_tests_glist_int_none_return (void);
+GList *gi_marshalling_tests_glist_uint32_none_return (void);
GList *gi_marshalling_tests_glist_utf8_none_return (void);
GList *gi_marshalling_tests_glist_utf8_container_return (void);
GList *gi_marshalling_tests_glist_utf8_full_return (void);
void gi_marshalling_tests_glist_int_none_in (GList *list);
+void gi_marshalling_tests_glist_uint32_none_in (GList *list);
void gi_marshalling_tests_glist_utf8_none_in (GList *list);
void gi_marshalling_tests_glist_utf8_none_out (GList **list);
@@ -530,6 +545,7 @@ GValue *gi_marshalling_tests_gvalue_return (void);
void gi_marshalling_tests_gvalue_in (GValue *value);
void gi_marshalling_tests_gvalue_int64_in (GValue *value);
void gi_marshalling_tests_gvalue_in_with_type (GValue *value, GType type);
+void gi_marshalling_tests_gvalue_in_with_modification (GValue *value);
void gi_marshalling_tests_gvalue_in_enum (GValue *value);
@@ -558,7 +574,7 @@ GClosure *gi_marshalling_tests_gclosure_return (void);
/**
* GIMarshallingTestsCallbackReturnValueOnly:
*/
-typedef glong (* GIMarshallingTestsCallbackReturnValueOnly) ();
+typedef glong (* GIMarshallingTestsCallbackReturnValueOnly) (void);
glong gi_marshalling_tests_callback_return_value_only (GIMarshallingTestsCallbackReturnValueOnly callback);
@@ -602,6 +618,16 @@ glong gi_marshalling_tests_callback_return_value_and_multiple_out_parameters (GI
glong *a,
glong *b);
+/**
+ * GIMarshallingTestsCallbackOwnedBoxed
+* @box: (transfer none): the boxed structure.
+ */
+typedef void (* GIMarshallingTestsCallbackOwnedBoxed) (GIMarshallingTestsBoxedStruct *box,
+ void *user_data);
+
+glong gi_marshalling_tests_callback_owned_boxed (GIMarshallingTestsCallbackOwnedBoxed callback,
+ void *callback_data);
+
/* Pointer */
gpointer gi_marshalling_tests_pointer_in_return (gpointer pointer);
@@ -641,6 +667,7 @@ void gi_marshalling_tests_pointer_struct_inv (GIMarshallingTestsPointerStruct *s
struct _GIMarshallingTestsBoxedStruct {
glong long_;
+ gchar *string_;
GStrv g_strv;
};
@@ -703,6 +730,26 @@ struct _GIMarshallingTestsObjectClass
void (* method_int8_out) (GIMarshallingTestsObject *self, gint8 *out);
/**
+ * GIMarshallingTestsObjectClass::method_int8_arg_and_out_caller:
+ * @out: (out caller-allocates):
+ */
+ void (* method_int8_arg_and_out_caller) (GIMarshallingTestsObject *self, gint8 arg, gint8 *out);
+
+ /**
+ * GIMarshallingTestsObjectClass::method_int8_arg_and_out_callee:
+ * @out: (out):
+ */
+ void (* method_int8_arg_and_out_callee) (GIMarshallingTestsObject *self, gint8 arg, gint8 **out);
+
+ /**
+ * GIMarshallingTestsObjectClass::method_str_arg_out_ret:
+ * @out: (out caller-allocates):
+ *
+ * Returns: (transfer none)
+ */
+ const gchar* (* method_str_arg_out_ret) (GIMarshallingTestsObject *self, const gchar* arg, guint *out);
+
+ /**
* GIMarshallingTestsObjectClass::method_with_default_implementation:
* @in: (in):
*/
@@ -743,6 +790,12 @@ struct _GIMarshallingTestsObjectClass
void (* vfunc_caller_allocated_out_parameter) (GIMarshallingTestsObject *self, GValue *a);
/**
+ * GIMarshallingTestsObjectClass::vfunc_array_out_parameter:
+ * @a: (out) (array zero-terminated=1):
+ */
+ void (* vfunc_array_out_parameter) (GIMarshallingTestsObject *self, gfloat **a);
+
+ /**
* GIMarshallingTestsObjectClass::vfunc_return_value_and_one_out_parameter:
* @a: (out):
*/
@@ -761,6 +814,55 @@ struct _GIMarshallingTestsObjectClass
* @error: A #GError
*/
gboolean (*vfunc_meth_with_err) (GIMarshallingTestsObject *object, gint x, GError **error);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_return_enum:
+ */
+ GIMarshallingTestsEnum (* vfunc_return_enum) (GIMarshallingTestsObject *self);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_out_enum:
+ * @_enum: (out):
+ */
+ void (* vfunc_out_enum) (GIMarshallingTestsObject *self, GIMarshallingTestsEnum *_enum);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_return_object_transfer_none:
+ *
+ * Returns: (transfer none)
+ */
+ GObject* (* vfunc_return_object_transfer_none) (GIMarshallingTestsObject *self);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_return_object_transfer_full:
+ *
+ * Returns: (transfer full)
+ */
+ GObject* (* vfunc_return_object_transfer_full) (GIMarshallingTestsObject *self);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_out_object_transfer_none:
+ * @object: (out) (transfer none):
+ */
+ void (* vfunc_out_object_transfer_none) (GIMarshallingTestsObject *self, GObject **object);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_out_object_transfer_full:
+ * @object: (out) (transfer full):
+ */
+ void (* vfunc_out_object_transfer_full) (GIMarshallingTestsObject *self, GObject **object);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_in_object_transfer_none:
+ * @object: (in) (transfer none):
+ */
+ void (* vfunc_in_object_transfer_none) (GIMarshallingTestsObject *self, GObject *object);
+
+ /**
+ * GIMarshallingTestsObjectClass::vfunc_in_object_transfer_full:
+ * @object: (in) (transfer full):
+ */
+ void (* vfunc_in_object_transfer_full) (GIMarshallingTestsObject *self, GObject *object);
};
struct _GIMarshallingTestsObject
@@ -783,6 +885,9 @@ const gint *gi_marshalling_tests_object_method_array_return (GIMarshallingTestsO
void gi_marshalling_tests_object_method_int8_in (GIMarshallingTestsObject *object, gint8 in);
void gi_marshalling_tests_object_method_int8_out (GIMarshallingTestsObject *object, gint8 *out);
+void gi_marshalling_tests_object_method_int8_arg_and_out_caller (GIMarshallingTestsObject *object, gint8 arg, gint8 *out);
+void gi_marshalling_tests_object_method_int8_arg_and_out_callee (GIMarshallingTestsObject *object, gint8 arg, gint8 **out);
+const gchar* gi_marshalling_tests_object_method_str_arg_out_ret (GIMarshallingTestsObject *object, const gchar* arg, guint *out);
void gi_marshalling_tests_object_method_with_default_implementation (GIMarshallingTestsObject *object, gint8 in);
void gi_marshalling_tests_object_method_variant_array_in (GIMarshallingTestsObject *object, GVariant **in, gsize n_in);
@@ -790,10 +895,21 @@ glong gi_marshalling_tests_object_vfunc_return_value_only (GIMarshallingTestsObj
void gi_marshalling_tests_object_vfunc_one_out_parameter (GIMarshallingTestsObject *self, gfloat *a);
void gi_marshalling_tests_object_vfunc_multiple_out_parameters (GIMarshallingTestsObject *self, gfloat *a, gfloat *b);
void gi_marshalling_tests_object_vfunc_caller_allocated_out_parameter (GIMarshallingTestsObject *self, GValue *a);
+void gi_marshalling_tests_object_vfunc_array_out_parameter (GIMarshallingTestsObject *self, gfloat **a);
glong gi_marshalling_tests_object_vfunc_return_value_and_one_out_parameter (GIMarshallingTestsObject *self, glong *a);
glong gi_marshalling_tests_object_vfunc_return_value_and_multiple_out_parameters (GIMarshallingTestsObject *self, glong *a, glong *b);
gboolean gi_marshalling_tests_object_vfunc_meth_with_error (GIMarshallingTestsObject *object, gint x, GError **error);
+GIMarshallingTestsEnum gi_marshalling_tests_object_vfunc_return_enum (GIMarshallingTestsObject *self);
+void gi_marshalling_tests_object_vfunc_out_enum (GIMarshallingTestsObject *self, GIMarshallingTestsEnum *_enum);
+
+void gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_none (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
+void gi_marshalling_tests_object_get_ref_info_for_vfunc_return_object_transfer_full (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
+void gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_none (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
+void gi_marshalling_tests_object_get_ref_info_for_vfunc_out_object_transfer_full (GIMarshallingTestsObject *self, guint *ref_count, gboolean *is_floating);
+void gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_none (GIMarshallingTestsObject *self, GType type, guint *ref_count, gboolean *is_floating);
+void gi_marshalling_tests_object_get_ref_info_for_vfunc_in_object_transfer_full (GIMarshallingTestsObject *self, GType type, guint *ref_count, gboolean *is_floating);
+
GIMarshallingTestsObject *gi_marshalling_tests_object_none_return (void);
GIMarshallingTestsObject *gi_marshalling_tests_object_full_return (void);
@@ -805,7 +921,6 @@ void gi_marshalling_tests_object_full_out (GIMarshallingTestsObject **object);
void gi_marshalling_tests_object_none_inout (GIMarshallingTestsObject **object);
void gi_marshalling_tests_object_full_inout (GIMarshallingTestsObject **object);
-void gi_marshalling_tests_object_inout_same (GIMarshallingTestsObject **object);
void gi_marshalling_tests_object_int8_in (GIMarshallingTestsObject *object, gint8 in);
void gi_marshalling_tests_object_int8_out (GIMarshallingTestsObject *object, gint8 *out);
@@ -923,7 +1038,7 @@ typedef struct _GIMarshallingTestsInterface3Iface GIMarshallingTestsInterface3If
struct _GIMarshallingTestsInterface3Iface {
GTypeInterface base_iface;
-
+
/**
* GIMarshallingTestsInterface3::test_variant_array_in:
* @in: (in) (array length=n_in):
@@ -942,6 +1057,11 @@ void gi_marshalling_tests_int_three_in_three_out(gint a, gint b, gint c,
gint *out0, gint *out1, gint *out2);
gint gi_marshalling_tests_int_return_out (gint *int_);
+/* Default arguments */
+void gi_marshalling_tests_int_two_in_utf8_two_in_with_allow_none (gint a, gint b, const gchar *c, const gchar *d);
+void gi_marshalling_tests_int_one_in_utf8_two_in_one_allows_none (gint a, const gchar *b, const gchar *c);
+void gi_marshalling_tests_array_in_utf8_two_in (const gint *ints, gint length, const gchar *a, const gchar *b);
+void gi_marshalling_tests_array_in_utf8_two_in_out_of_order (gint length, const gchar *a, const gint *ints, const gchar *b);
/* GError */
@@ -957,7 +1077,8 @@ void gi_marshalling_tests_gerror_out_transfer_none(GError **err, const gchar **d
GError *gi_marshalling_tests_gerror_return(void);
/* GParamSpec */
-GParamSpec *gi_marshalling_tests_param_spec_return();
+void gi_marshalling_tests_param_spec_in_bool(const GParamSpec *param);
+GParamSpec *gi_marshalling_tests_param_spec_return (void);
void gi_marshalling_tests_param_spec_out(GParamSpec **param);
/* Overrides */
@@ -1035,7 +1156,10 @@ struct _GIMarshallingTestsPropertiesObject {
gfloat some_float;
gdouble some_double;
gchar **some_strv;
- GIMarshallingTestsBoxedStruct* some_boxed_struct;
+ GIMarshallingTestsBoxedStruct* some_boxed_struct;
+ GList* some_boxed_glist;
+ GVariant *some_variant;
+ GObject *some_object;
};
struct _GIMarshallingTestsPropertiesObjectClass {
diff --git a/tests/offsets/Makefile.am b/tests/offsets/Makefile.am
index 4f03830e..a3ec78b1 100644
--- a/tests/offsets/Makefile.am
+++ b/tests/offsets/Makefile.am
@@ -6,12 +6,12 @@ CLEANFILES =
EXTRA_DIST =
INTROSPECTION_GIRS =
-check_LTLIBRARIES =
-check_PROGRAMS =
+EXTRA_LTLIBRARIES =
+EXTRA_PROGRAMS =
############################################################
-check_LTLIBRARIES += liboffsets.la
+EXTRA_LTLIBRARIES += liboffsets.la
liboffsets_la_SOURCES = \
offsets.h \
@@ -28,27 +28,29 @@ Offsets_1_0_gir_FILES = $(srcdir)/offsets.h $(srcdir)/offsets.c
Offsets_1_0_gir_SCANNERFLAGS = --warn-all --warn-error
INTROSPECTION_GIRS += Offsets-1.0.gir
-CLEANFILES += Offsets-1.0.gir Offsets-1.0.typelib
+CLEANFILES += Offsets-1.0.gir Offsets-1.0.typelib liboffsets.la
############################################################
-check_PROGRAMS += gitestoffsets
+EXTRA_PROGRAMS += gitestoffsets
nodist_gitestoffsets_SOURCES = gitestoffsets.c
gitestoffsets_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
gitestoffsets_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
-gitestoffsets.c: gen-gitestoffsets offsets.h
+gitestoffsets.c: gen-gitestoffsets offsets.h Offsets-1.0.typelib
$(AM_V_GEN) $(PYTHON) $(srcdir)/gen-gitestoffsets $(srcdir)/offsets.h > $@ || ( rm -f $@ && false )
EXTRA_DIST += gen-gitestoffsets
BUILT_SOURCES += gitestoffsets.c
-CLEANFILES += gitestoffsets.c
+CLEANFILES += gitestoffsets.c $(EXTRA_PROGRAMS)
############################################################
-check-local: Offsets-1.0.typelib
- GI_TYPELIB_PATH=:$(top_builddir) ./gitestoffsets$(EXEEXT) offsets.compiled offsets.introspected
- diff -u offsets.compiled offsets.introspected
+# The trailing "echo" in TESTS_ENVIRONMENT is used to ignore automake passing
+# gitestoffsets as we already run this in the same command line.
+TESTS = gitestoffsets
+LOG_COMPILER = env GI_TYPELIB_PATH=:$(top_builddir) ./gitestoffsets$(EXEEXT) offsets.compiled offsets.introspected && \
+ diff -u offsets.compiled offsets.introspected && echo
CLEANFILES += offsets.compiled offsets.introspected
diff --git a/tests/offsets/gen-gitestoffsets b/tests/offsets/gen-gitestoffsets
index 60efa439..77351060 100755
--- a/tests/offsets/gen-gitestoffsets
+++ b/tests/offsets/gen-gitestoffsets
@@ -209,8 +209,6 @@ output({}, r'''
| if (argc != 3)
| g_error ("Usage: gitestoffsets COMPILED_OFFSETS_FILE INTROSPECTED_OFFSETS_FILE");
|
-| g_type_init ();
-|
| repository = g_irepository_get_default ();
| if (!g_irepository_require (repository, namespace, version, 0, &error))
| g_error ("Failed to load %%s-%%s.typelib: %%s", namespace, version, error->message);
diff --git a/tests/offsets/offsets.h b/tests/offsets/offsets.h
index 1985f39a..7bdc1ad7 100644
--- a/tests/offsets/offsets.h
+++ b/tests/offsets/offsets.h
@@ -119,8 +119,7 @@ struct _OffsetsArray
gpointer some_ptrs[5];
};
-/** Test object offsets
- */
+/* Test object offsets */
typedef struct _OffsetsObj OffsetsObj;
typedef struct _OffsetsObjClass OffsetsObjClass;
diff --git a/tests/repository/Makefile.am b/tests/repository/Makefile.am
index ca2efe36..882fa9ec 100644
--- a/tests/repository/Makefile.am
+++ b/tests/repository/Makefile.am
@@ -2,7 +2,8 @@ AM_CFLAGS = $(GOBJECT_CFLAGS)
AM_LDFLAGS = -module -avoid-version
LIBS = $(GOBJECT_LIBS)
-check_PROGRAMS = gitestrepo gitestthrows gitypelibtest
+EXTRA_PROGRAMS = gitestrepo gitestthrows gitypelibtest
+CLEANFILES = $(EXTRA_PROGRAMS)
gitestrepo_SOURCES = $(srcdir)/gitestrepo.c
gitestrepo_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
@@ -17,5 +18,8 @@ gitypelibtest_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
gitypelibtest_LDADD = $(top_builddir)/libgirepository-1.0.la $(GIREPO_LIBS)
TESTS = gitestrepo gitestthrows gitypelibtest
-TESTS_ENVIRONMENT=env GI_TYPELIB_PATH=$(top_builddir):$(top_builddir)/gir:$(top_builddir)/tests:$(top_builddir)/tests/scanner: \
- XDG_DATA_DIRS="$(top_srcdir)/gir:$(XDG_DATA_DIRS)" $(DEBUG)
+TESTS_ENVIRONMENT=env GI_TYPELIB_PATH="$(top_builddir):$(top_builddir)/gir:$(top_builddir)/tests:$(top_builddir)/tests/scanner" \
+ XDG_DATA_DIRS="$(top_srcdir)/gir:$(XDG_DATA_DIRS)" \
+ PATH="$(top_builddir)/tests/scanner/.libs:$(PATH)" \
+ LD_LIBRARY_PATH="$(top_builddir)/tests/scanner/.libs:$(LD_LIBRARY_PATH)" \
+ $(DEBUG)
diff --git a/tests/repository/gitestrepo.c b/tests/repository/gitestrepo.c
index 05ea5d94..b122a63d 100644
--- a/tests/repository/gitestrepo.c
+++ b/tests/repository/gitestrepo.c
@@ -48,8 +48,6 @@ main(int argc, char **argv)
GType gtype;
const char *prefix;
- g_type_init ();
-
repo = g_irepository_get_default ();
ret = g_irepository_require (repo, "Gio", NULL, 0, &error);
diff --git a/tests/repository/gitestthrows.c b/tests/repository/gitestthrows.c
index cce06849..a045a817 100644
--- a/tests/repository/gitestthrows.c
+++ b/tests/repository/gitestthrows.c
@@ -16,8 +16,6 @@ main(int argc, char **argv)
GError *error;
gboolean invoke_return;
- g_type_init ();
-
repo = g_irepository_get_default ();
error = NULL;
diff --git a/tests/repository/gitypelibtest.c b/tests/repository/gitypelibtest.c
index 7068ef3d..565c95c3 100644
--- a/tests/repository/gitypelibtest.c
+++ b/tests/repository/gitypelibtest.c
@@ -1,5 +1,5 @@
-/* -*- Mode: C; c-basic-offset: 4 -*-
- * vim: tabstop=4 shiftwidth=4 expandtab
+/* -*- Mode: C; c-basic-offset: 2 -*-
+ * vim: shiftwidth=2 expandtab
*/
#include "girepository.h"
@@ -9,191 +9,289 @@
#include <unistd.h>
static void
-test_enum_and_flags_cidentifier(GIRepository *repo)
+test_enum_and_flags_cidentifier (GIRepository * repo)
{
- GITypelib *ret;
- GError *error = NULL;
- gint n_infos, i;
+ GITypelib *ret;
+ GError *error = NULL;
+ gint n_infos, i;
- ret = g_irepository_require (repo, "GIMarshallingTests", NULL, 0, &error);
- if (!ret)
- g_error ("%s", error->message);
+ ret = g_irepository_require (repo, "GIMarshallingTests", NULL, 0, &error);
+ if (!ret)
+ g_error ("%s", error->message);
- n_infos = g_irepository_get_n_infos (repo, "GIMarshallingTests");
+ n_infos = g_irepository_get_n_infos (repo, "GIMarshallingTests");
- for (i = 0; i < n_infos; i++) {
- GIBaseInfo *info;
+ for (i = 0; i < n_infos; i++)
+ {
+ GIBaseInfo *info;
- info = g_irepository_get_info (repo, "GIMarshallingTests", i);
+ info = g_irepository_get_info (repo, "GIMarshallingTests", i);
- /* both GI_INFO_TYPE_ENUM and GI_INFO_TYPE_FLAGS use GIEnumInfo */
- if (GI_IS_ENUM_INFO (info)) {
- gint n_values, j;
+ /* both GI_INFO_TYPE_ENUM and GI_INFO_TYPE_FLAGS use GIEnumInfo */
+ if (GI_IS_ENUM_INFO (info))
+ {
+ gint n_values, j;
- n_values = g_enum_info_get_n_values ((GIEnumInfo *) info);
- for (j = 0; j < n_values; j++) {
- GIValueInfo *value_info;
- const gchar *c_identifier = NULL;
+ n_values = g_enum_info_get_n_values ((GIEnumInfo *) info);
+ for (j = 0; j < n_values; j++)
+ {
+ GIValueInfo *value_info;
+ const gchar *c_identifier = NULL;
- value_info = g_enum_info_get_value ((GIEnumInfo *) info, j);
- c_identifier = g_base_info_get_attribute ((GIBaseInfo *) value_info, "c:identifier");
+ value_info = g_enum_info_get_value ((GIEnumInfo *) info, j);
+ c_identifier = g_base_info_get_attribute ((GIBaseInfo *) value_info, "c:identifier");
- if (c_identifier == NULL) {
- g_error ("Error: no 'c:identifier' attribute on GIMarshallingTests.%s.%s\n",
- g_base_info_get_name (info),
- g_base_info_get_name ((GIBaseInfo *) value_info));
+ if (c_identifier == NULL)
+ {
+ g_error
+ ("Error: no 'c:identifier' attribute on GIMarshallingTests.%s.%s\n",
+ g_base_info_get_name (info), g_base_info_get_name ((GIBaseInfo *) value_info));
}
- g_base_info_unref ((GIBaseInfo *) value_info);
+ g_base_info_unref ((GIBaseInfo *) value_info);
}
}
- g_base_info_unref (info);
+ g_base_info_unref (info);
}
}
static void
-_check_enum_methods (GIBaseInfo *info, const gchar *name, const gchar *prefix)
+_check_enum_methods (GIBaseInfo * info, const gchar * name, const gchar * prefix)
{
- gint n_methods, i;
-
- n_methods = g_enum_info_get_n_methods ((GIEnumInfo *) info);
- if (n_methods <= 0)
- g_error ("%s should have methods", name);
-
- for (i = 0; i < n_methods; i += n_methods-1) {
- GIBaseInfo *function_info;
- GIFunctionInfoFlags flags;
- const gchar *symbol;
- function_info = g_enum_info_get_method ((GIEnumInfo *) info, i);
- if (!function_info)
- g_error ("Could not find %s method nr. %d", name, i+1);
- flags = g_function_info_get_flags ((GIFunctionInfo *) function_info);
- if (flags != 0)
- g_error ("%s methods should be static", name);
- symbol = g_function_info_get_symbol ((GIFunctionInfo *) function_info);
- if (!symbol || !g_str_has_prefix (symbol, prefix))
- g_error ("Could not find valid function symbol");
- g_base_info_unref (function_info);
+ gint n_methods, i;
+
+ n_methods = g_enum_info_get_n_methods ((GIEnumInfo *) info);
+ if (n_methods <= 0)
+ g_error ("%s should have methods", name);
+
+ for (i = 0; i < n_methods; i += n_methods - 1)
+ {
+ GIBaseInfo *function_info;
+ GIFunctionInfoFlags flags;
+ const gchar *symbol;
+ function_info = g_enum_info_get_method ((GIEnumInfo *) info, i);
+ if (!function_info)
+ g_error ("Could not find %s method nr. %d", name, i + 1);
+ flags = g_function_info_get_flags ((GIFunctionInfo *) function_info);
+ if (flags != 0)
+ g_error ("%s methods should be static", name);
+ symbol = g_function_info_get_symbol ((GIFunctionInfo *) function_info);
+ if (!symbol || !g_str_has_prefix (symbol, prefix))
+ g_error ("Could not find valid function symbol");
+ g_base_info_unref (function_info);
}
}
static void
-test_enum_and_flags_static_methods(GIRepository *repo)
+test_enum_and_flags_static_methods (GIRepository * repo)
{
- GITypelib *ret;
- GError *error = NULL;
- GIBaseInfo *enum_info;
-
- ret = g_irepository_require (repo, "GIMarshallingTests", NULL, 0, &error);
- if (!ret)
- g_error ("%s", error->message);
-
- enum_info = g_irepository_find_by_name (repo, "GIMarshallingTests", "GEnum");
- if (!enum_info)
- g_error ("Could not find GIMarshallingTests.GEnum");
- _check_enum_methods (enum_info,
- "GIMarshallingTests.GEnum",
- "gi_marshalling_tests_genum_");
- g_base_info_unref (enum_info);
-
- enum_info = g_irepository_find_by_name (repo, "GIMarshallingTests", "Flags");
- if (!enum_info)
- g_error ("Could not find GIMarshallingTests.Flags");
- _check_enum_methods (enum_info,
- "GIMarshallingTests.Flags",
- "gi_marshalling_tests_flags_");
- g_base_info_unref (enum_info);
+ GITypelib *ret;
+ GError *error = NULL;
+ GIBaseInfo *enum_info;
+
+ ret = g_irepository_require (repo, "GIMarshallingTests", NULL, 0, &error);
+ if (!ret)
+ g_error ("%s", error->message);
+
+ enum_info = g_irepository_find_by_name (repo, "GIMarshallingTests", "GEnum");
+ if (!enum_info)
+ g_error ("Could not find GIMarshallingTests.GEnum");
+ _check_enum_methods (enum_info, "GIMarshallingTests.GEnum", "gi_marshalling_tests_genum_");
+ g_base_info_unref (enum_info);
+
+ enum_info = g_irepository_find_by_name (repo, "GIMarshallingTests", "Flags");
+ if (!enum_info)
+ g_error ("Could not find GIMarshallingTests.Flags");
+ _check_enum_methods (enum_info, "GIMarshallingTests.Flags", "gi_marshalling_tests_flags_");
+ g_base_info_unref (enum_info);
}
static void
-test_size_of_gvalue(GIRepository *repo)
+test_size_of_gvalue (GIRepository * repo)
{
- GIBaseInfo *struct_info;
+ GIBaseInfo *struct_info;
- struct_info = g_irepository_find_by_name (repo, "GObject", "Value");
- if (!struct_info)
- g_error ("Could not find GObject.Value");
- g_assert_cmpuint (g_struct_info_get_size (struct_info), ==, sizeof (GValue));
- g_base_info_unref (struct_info);
+ struct_info = g_irepository_find_by_name (repo, "GObject", "Value");
+ if (!struct_info)
+ g_error ("Could not find GObject.Value");
+ g_assert_cmpuint (g_struct_info_get_size (struct_info), ==, sizeof (GValue));
+ g_base_info_unref (struct_info);
}
static void
-test_is_pointer_for_struct_arg (GIRepository *repo)
+test_is_pointer_for_struct_arg (GIRepository * repo)
{
- GITypelib *ret;
- GError *error = NULL;
- GIStructInfo *variant_info;
- GIFunctionInfo *equal_info;
- GIArgInfo *arg_info;
- GITypeInfo *type_info;
-
- ret = g_irepository_require (repo, "GLib", NULL, 0, &error);
- if (!ret)
- g_error ("%s", error->message);
-
- variant_info = g_irepository_find_by_name (repo, "GLib", "Variant");
- if (!variant_info)
- g_error ("Could not find GLib.Variant");
-
- equal_info = g_struct_info_find_method (variant_info, "equal");
- if (!equal_info)
- g_error ("Could not find GLib.Variant.equal()");
-
- arg_info = g_callable_info_get_arg (equal_info, 0);
- if (!arg_info)
- g_error ("Could not find 1st arg of GLib.Variant.equal()");
-
- type_info = g_arg_info_get_type (arg_info);
- if (!type_info)
- g_error ("Could not find typeinfo of 1st arg of GLib.Variant.equal()");
-
- g_assert (g_type_info_is_pointer (type_info));
-
- g_base_info_unref (type_info);
- g_base_info_unref (arg_info);
- g_base_info_unref (equal_info);
- g_base_info_unref (variant_info);
+ GITypelib *ret;
+ GError *error = NULL;
+ GIStructInfo *variant_info;
+ GIFunctionInfo *equal_info;
+ GIArgInfo *arg_info;
+ GITypeInfo *type_info;
+
+ ret = g_irepository_require (repo, "GLib", NULL, 0, &error);
+ if (!ret)
+ g_error ("%s", error->message);
+
+ variant_info = g_irepository_find_by_name (repo, "GLib", "Variant");
+ if (!variant_info)
+ g_error ("Could not find GLib.Variant");
+
+ equal_info = g_struct_info_find_method (variant_info, "equal");
+ if (!equal_info)
+ g_error ("Could not find GLib.Variant.equal()");
+
+ arg_info = g_callable_info_get_arg (equal_info, 0);
+ if (!arg_info)
+ g_error ("Could not find 1st arg of GLib.Variant.equal()");
+
+ type_info = g_arg_info_get_type (arg_info);
+ if (!type_info)
+ g_error ("Could not find typeinfo of 1st arg of GLib.Variant.equal()");
+
+ g_assert (g_type_info_is_pointer (type_info));
+
+ g_base_info_unref (type_info);
+ g_base_info_unref (arg_info);
+ g_base_info_unref (equal_info);
+ g_base_info_unref (variant_info);
}
static void
-test_fundamental_get_ref_function_pointer (GIRepository *repo)
+test_fundamental_get_ref_function_pointer (GIRepository * repo)
{
- GIObjectInfo *info;
+ GIObjectInfo *info;
- g_assert (g_irepository_require (repo, "Regress", NULL, 0, NULL));
- info = g_irepository_find_by_name (repo, "Regress",
- "TestFundamentalObject");
- g_object_info_get_ref_function_pointer (info);
- g_base_info_unref (info);
+ g_assert (g_irepository_require (repo, "Regress", NULL, 0, NULL));
+ info = g_irepository_find_by_name (repo, "Regress", "TestFundamentalObject");
+ g_object_info_get_ref_function_pointer (info);
+ g_base_info_unref (info);
}
static void
-test_hash_with_cairo_typelib (GIRepository *repo)
+test_hash_with_cairo_typelib (GIRepository * repo)
{
- GIBaseInfo *info;
+ GIBaseInfo *info;
- g_assert (g_irepository_require (repo, "cairo", NULL, 0, NULL));
- info = g_irepository_find_by_name (repo, "cairo", "region");
- g_assert (info == NULL);
+ g_assert (g_irepository_require (repo, "cairo", NULL, 0, NULL));
+ info = g_irepository_find_by_name (repo, "cairo", "region");
+ g_assert (info == NULL);
}
-int
-main(int argc, char **argv)
+static GIPropertyInfo *
+lookup_property (GIObjectInfo * info, const gchar * name)
+{
+ gssize n_props;
+ gssize i;
+ GIPropertyInfo *property_info;
+
+ n_props = g_object_info_get_n_properties (info);
+ for (i = 0; i < n_props; i++)
+ {
+ property_info = g_object_info_get_property (info, i);
+ if (strcmp (name, g_base_info_get_name (property_info)) == 0)
+ return property_info;
+ g_base_info_unref (property_info);
+ }
+
+ return NULL;
+}
+
+static void
+test_char_types (GIRepository * repo)
{
- GIRepository *repo;
+ GITypelib *ret;
+ GError *error = NULL;
+ GIBaseInfo *prop_obj;
+ GIPropertyInfo *prop_info;
+ GITypeInfo *type_info;
+
+ ret = g_irepository_require (repo, "GIMarshallingTests", NULL, 0, &error);
+ if (!ret)
+ g_error ("%s", error->message);
+
+ prop_obj = g_irepository_find_by_name (repo, "GIMarshallingTests", "PropertiesObject");
+ g_assert (prop_obj != NULL);
+ g_assert (GI_IS_OBJECT_INFO (prop_obj));
+
+ /* unsigned char */
+ prop_info = lookup_property ((GIObjectInfo *) prop_obj, "some-uchar");
+ g_assert (prop_info != NULL);
+ type_info = g_property_info_get_type (prop_info);
+ g_assert_cmpuint (g_type_info_get_tag (type_info), ==, GI_TYPE_TAG_UINT8);
+ g_base_info_unref (type_info);
+ g_base_info_unref (prop_info);
+
+ /* signed char */
+ prop_info = lookup_property ((GIObjectInfo *) prop_obj, "some-char");
+ g_assert (prop_info != NULL);
+ type_info = g_property_info_get_type (prop_info);
+ g_assert_cmpuint (g_type_info_get_tag (type_info), ==, GI_TYPE_TAG_INT8);
+ g_base_info_unref (type_info);
+ g_base_info_unref (prop_info);
+
+ g_base_info_unref (prop_obj);
+}
- g_type_init ();
+static void
+test_signal_array_len (GIRepository * repo)
+{
+ GIObjectInfo *testobj_info;
+ GISignalInfo *sig_info;
+ GIArgInfo arg_info;
+ GITypeInfo type_info;
+ int i;
+
+ g_assert (g_irepository_require (repo, "Regress", NULL, 0, NULL));
+ testobj_info = g_irepository_find_by_name (repo, "Regress", "TestObj");
+ g_assert (testobj_info != NULL);
+
+ /* find sig-with-array-len-prop signal */
+ for (i = g_object_info_get_n_signals (testobj_info) - 1; i >= 0; --i)
+ {
+ sig_info = g_object_info_get_signal (testobj_info, i);
+ g_assert (sig_info != NULL);
+ if (strcmp (g_base_info_get_name (sig_info), "sig-with-array-len-prop") == 0)
+ break;
+ g_base_info_unref (sig_info);
+ }
+ g_assert (i >= 0);
+
+ g_assert_cmpint (g_callable_info_get_n_args (sig_info), ==, 2);
+
+ /* verify array argument */
+ g_callable_info_load_arg (sig_info, 0, &arg_info);
+ g_assert_cmpstr (g_base_info_get_name (&arg_info), ==, "arr");
+ g_arg_info_load_type (&arg_info, &type_info);
+ g_assert_cmpint (g_type_info_get_tag (&type_info), ==, GI_TYPE_TAG_ARRAY);
+ g_assert_cmpint (g_type_info_get_array_type (&type_info), ==, GI_ARRAY_TYPE_C);
+ g_assert (!g_type_info_is_zero_terminated (&type_info));
+ g_assert_cmpint (g_type_info_get_array_length (&type_info), ==, 1);
+
+ /* verify array length argument */
+ g_callable_info_load_arg (sig_info, 1, &arg_info);
+ g_assert_cmpstr (g_base_info_get_name (&arg_info), ==, "len");
+
+ g_base_info_unref (sig_info);
+ g_base_info_unref (testobj_info);
+}
+
+int
+main (int argc, char **argv)
+{
+ GIRepository *repo;
- repo = g_irepository_get_default ();
+ repo = g_irepository_get_default ();
- /* do tests */
- test_enum_and_flags_cidentifier (repo);
- test_enum_and_flags_static_methods (repo);
- test_size_of_gvalue (repo);
- test_is_pointer_for_struct_arg (repo);
- test_fundamental_get_ref_function_pointer (repo);
- test_hash_with_cairo_typelib (repo);
+ /* do tests */
+ test_enum_and_flags_cidentifier (repo);
+ test_enum_and_flags_static_methods (repo);
+ test_size_of_gvalue (repo);
+ test_is_pointer_for_struct_arg (repo);
+ test_fundamental_get_ref_function_pointer (repo);
+ test_hash_with_cairo_typelib (repo);
+ test_char_types (repo);
+ test_signal_array_len (repo);
- exit(0);
+ exit (0);
}
diff --git a/tests/scanner/Annotation-1.0-expected.gir b/tests/scanner/Annotation-1.0-expected.gir
deleted file mode 100644
index 2ea6c544..00000000
--- a/tests/scanner/Annotation-1.0-expected.gir
+++ /dev/null
@@ -1,853 +0,0 @@
-<?xml version="1.0"?>
-<!-- This file was automatically generated from C sources - DO NOT EDIT!
-To affect the contents of this file, edit the original C definitions,
-and/or use gtk-doc annotations. -->
-<repository version="1.2"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GObject" version="2.0"/>
- <include name="Utility" version="1.0"/>
- <package name="gobject-2.0"/>
- <c:include name="annotation.h"/>
- <namespace name="Annotation"
- version="1.0"
- shared-library="libannotation.so"
- c:identifier-prefixes="Annotation"
- c:symbol-prefixes="annotation">
- <bitfield name="Bitfield" c:type="AnnotationBitfield">
- <member name="foo" value="1" c:identifier="ANN_FLAG_FOO"/>
- <member name="bar" value="2" c:identifier="ANN_FLAG_BAR"/>
- </bitfield>
- <constant name="CALCULATED_DEFINE"
- value="100"
- c:type="ANNOTATION_CALCULATED_DEFINE">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CALCULATED_LARGE"
- value="10000000000UL"
- c:type="ANNOTATION_CALCULATED_LARGE">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CALCULATED_LARGE_DIV"
- value="1000000UL"
- c:type="ANNOTATION_CALCULATED_LARGE_DIV">
- <type name="gint" c:type="gint"/>
- </constant>
- <callback name="Callback" c:type="AnnotationCallback">
- <doc xml:whitespace="preserve">This is a callback.</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">array of ints</doc>
- <type name="gint" c:type="const gint*"/>
- </return-value>
- <parameters>
- <parameter name="in" transfer-ownership="none">
- <doc xml:whitespace="preserve">array of ints</doc>
- <type name="gint" c:type="const gint*"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ForeachFunc" c:type="AnnotationForeachFunc">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <type name="Object" c:type="AnnotationObject*"/>
- </parameter>
- <parameter name="item" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none" closure="2">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="ListCallback" c:type="AnnotationListCallback">
- <doc xml:whitespace="preserve">This is a callback taking a list.</doc>
- <return-value transfer-ownership="container">
- <doc xml:whitespace="preserve">list of strings</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="in" transfer-ownership="none">
- <doc xml:whitespace="preserve">list of strings</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </callback>
- <callback name="NotifyFunc" c:type="AnnotationNotifyFunc">
- <doc xml:whitespace="preserve">This is a callback with a 'closure' argument that is not named
-'user_data' and hence has to be annotated.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none" closure="0">
- <doc xml:whitespace="preserve">The user data</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="Object"
- c:symbol-prefix="object"
- c:type="AnnotationObject"
- parent="GObject.Object"
- glib:type-name="AnnotationObject"
- glib:get-type="annotation_object_get_type"
- glib:type-struct="ObjectClass">
- <attribute name="org.example.Test" value="cows"/>
- <doc xml:whitespace="preserve">This is an object used to test annotations.</doc>
- <method name="allow_none" c:identifier="annotation_object_allow_none">
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">%NULL always</doc>
- <type name="GObject.Object" c:type="GObject*"/>
- </return-value>
- <parameters>
- <parameter name="somearg" transfer-ownership="none" allow-none="1">
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="calleeowns" c:identifier="annotation_object_calleeowns">
- <doc xml:whitespace="preserve">This is a test for out arguments; GObject defaults to transfer</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="toown"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">a #GObject</doc>
- <type name="GObject.Object" c:type="GObject**"/>
- </parameter>
- </parameters>
- </method>
- <method name="calleesowns" c:identifier="annotation_object_calleesowns">
- <doc xml:whitespace="preserve">This is a test for out arguments, one transferred, other not</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="toown1"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">a #GObject</doc>
- <type name="GObject.Object" c:type="GObject**"/>
- </parameter>
- <parameter name="toown2"
- direction="out"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:whitespace="preserve">a #GObject</doc>
- <type name="GObject.Object" c:type="GObject**"/>
- </parameter>
- </parameters>
- </method>
- <method name="compute_sum" c:identifier="annotation_object_compute_sum">
- <doc xml:whitespace="preserve">Test taking a zero-terminated array</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="nums" transfer-ownership="none">
- <doc xml:whitespace="preserve">Sequence of numbers</doc>
- <array zero-terminated="0" c:type="int*">
- <type name="gint" c:type="int"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="compute_sum_n"
- c:identifier="annotation_object_compute_sum_n">
- <doc xml:whitespace="preserve">Test taking an array with length parameter</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="nums" transfer-ownership="none">
- <doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
- <array length="1" zero-terminated="0" c:type="int*">
- <type name="gint" c:type="int"/>
- </array>
- </parameter>
- <parameter name="n_nums" transfer-ownership="none">
- <doc xml:whitespace="preserve">Length of number array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="compute_sum_nz"
- c:identifier="annotation_object_compute_sum_nz">
- <doc xml:whitespace="preserve">Test taking a zero-terminated array with length parameter</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="nums" transfer-ownership="none">
- <doc xml:whitespace="preserve">Sequence of numbers that are zero-terminated</doc>
- <array length="1" zero-terminated="1" c:type="int*">
- <type name="gint" c:type="int"/>
- </array>
- </parameter>
- <parameter name="n_nums" transfer-ownership="none">
- <doc xml:whitespace="preserve">Length of number array</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="create_object"
- c:identifier="annotation_object_create_object">
- <doc xml:whitespace="preserve">Test returning a caller-owned object</doc>
- <return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">The object</doc>
- <type name="GObject.Object" c:type="GObject*"/>
- </return-value>
- </method>
- <method name="do_not_use"
- c:identifier="annotation_object_do_not_use"
- deprecated="Use annotation_object_create_object() instead."
- deprecated-version="0.12">
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">%NULL always</doc>
- <type name="GObject.Object" c:type="GObject*"/>
- </return-value>
- </method>
- <method name="extra_annos" c:identifier="annotation_object_extra_annos">
- <attribute name="org.foobar" value="testvalue"/>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="foreach" c:identifier="annotation_object_foreach">
- <doc xml:whitespace="preserve">Test taking a call-scoped callback</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <doc xml:whitespace="preserve">Callback to invoke</doc>
- <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <doc xml:whitespace="preserve">Callback user data</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_hash" c:identifier="annotation_object_get_hash">
- <doc xml:whitespace="preserve">This is a test for returning a hash table mapping strings to
-objects.</doc>
- <return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">hash table</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Object"/>
- </type>
- </return-value>
- </method>
- <method name="get_objects" c:identifier="annotation_object_get_objects">
- <doc xml:whitespace="preserve">This is a test for returning a list of objects.
-The list itself should be freed, but not the internal objects,
-intentionally similar example to gtk_container_get_children</doc>
- <return-value transfer-ownership="container">
- <doc xml:whitespace="preserve">list of objects</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Object"/>
- </type>
- </return-value>
- </method>
- <method name="get_strings" c:identifier="annotation_object_get_strings">
- <doc xml:whitespace="preserve">This is a test for returning a list of strings, where
-each string needs to be freed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">list of strings</doc>
- <type name="GLib.List" c:type="GList*">
- <type name="utf8"/>
- </type>
- </return-value>
- </method>
- <method name="hidden_self" c:identifier="annotation_object_hidden_self">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </method>
- <method name="in" c:identifier="annotation_object_in">
- <doc xml:whitespace="preserve">This is a test for in arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="inarg" transfer-ownership="none">
- <doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="inout" c:identifier="annotation_object_inout">
- <doc xml:whitespace="preserve">This is a test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="inoutarg"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="inout2" c:identifier="annotation_object_inout2">
- <doc xml:whitespace="preserve">This is a second test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="inoutarg"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="inout3" c:identifier="annotation_object_inout3">
- <doc xml:whitespace="preserve">This is a 3th test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="inoutarg"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full"
- allow-none="1">
- <doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="method" c:identifier="annotation_object_method">
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- </method>
- <method name="notrans" c:identifier="annotation_object_notrans">
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">An object, not referenced</doc>
- <type name="GObject.Object" c:type="GObject*"/>
- </return-value>
- </method>
- <method name="out" c:identifier="annotation_object_out">
- <doc xml:whitespace="preserve">This is a test for out arguments</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="outarg"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">This is an argument test</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="parse_args" c:identifier="annotation_object_parse_args">
- <doc xml:whitespace="preserve">Test taking a zero-terminated array with length parameter</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="argc"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">Length of the argument vector</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="argv"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">Argument vector</doc>
- <array length="0" zero-terminated="1" c:type="char***">
- <type name="utf8" c:type="char**"/>
- </array>
- </parameter>
- </parameters>
- </method>
- <method name="set_data" c:identifier="annotation_object_set_data">
- <doc xml:whitespace="preserve">Test taking a guchar * with a length.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <doc xml:whitespace="preserve">The data</doc>
- <array length="1" zero-terminated="0" c:type="guchar*">
- <type name="guint8" c:type="guchar"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:whitespace="preserve">Length of the data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_data2" c:identifier="annotation_object_set_data2">
- <doc xml:whitespace="preserve">Test taking a gchar * with a length.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <doc xml:whitespace="preserve">The data</doc>
- <array length="1" zero-terminated="0" c:type="gchar*">
- <type name="gint8"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:whitespace="preserve">Length of the data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_data3" c:identifier="annotation_object_set_data3">
- <doc xml:whitespace="preserve">Test taking a gchar * with a length, overriding the array element
-type.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <doc xml:whitespace="preserve">The data</doc>
- <array length="1" zero-terminated="0" c:type="gpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:whitespace="preserve">Length of the data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="string_out" c:identifier="annotation_object_string_out">
- <doc xml:whitespace="preserve">Test returning a string as an out parameter</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">some boolean</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str_out"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">string return value</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- </parameters>
- </method>
- <method name="use_buffer" c:identifier="annotation_object_use_buffer">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="bytes" transfer-ownership="none">
- <type name="guint8" c:type="guchar*"/>
- </parameter>
- </parameters>
- </method>
- <method name="watch"
- c:identifier="annotation_object_watch"
- shadowed-by="watch_full"
- introspectable="0">
- <doc xml:whitespace="preserve">This is here just for the sake of being overriden by its
-annotation_object_watch_full().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func" transfer-ownership="none" closure="1">
- <doc xml:whitespace="preserve">The callback</doc>
- <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <doc xml:whitespace="preserve">The callback data</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="watch_full"
- c:identifier="annotation_object_watch_full"
- shadows="watch">
- <doc xml:whitespace="preserve">Test overriding via the "Rename To" annotation.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="func"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:whitespace="preserve">The callback</doc>
- <type name="ForeachFunc" c:type="AnnotationForeachFunc"/>
- </parameter>
- <parameter name="user_data" transfer-ownership="none">
- <doc xml:whitespace="preserve">The callback data</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:whitespace="preserve">Destroy notification</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="with_voidp" c:identifier="annotation_object_with_voidp">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <doc xml:whitespace="preserve">Opaque pointer handle</doc>
- <type name="gpointer" c:type="void*"/>
- </parameter>
- </parameters>
- </method>
- <property name="function-property"
- writable="1"
- construct="1"
- transfer-ownership="none">
- <type name="Callback"/>
- </property>
- <property name="string-property"
- version="1.0"
- deprecated="Use better-string-property instead"
- deprecated-version="1.2"
- writable="1"
- construct="1"
- transfer-ownership="none">
- <doc xml:whitespace="preserve">This is a property which is a string</doc>
- <type name="utf8"/>
- </property>
- <property name="tab-property"
- version="1.2"
- writable="1"
- construct="1"
- transfer-ownership="none">
- <doc xml:whitespace="preserve">This is a property annotation intentionally indented with a mix
-of tabs and strings to test the tab handling capabilities of the scanner.</doc>
- <type name="utf8"/>
- </property>
- <field name="parent_instance">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <glib:signal name="attribute-signal" when="last">
- <doc xml:whitespace="preserve">This signal tests a signal with attributes.</doc>
- <return-value transfer-ownership="full">
- <attribute name="some.annotation.foo3" value="val3"/>
- <doc xml:whitespace="preserve">the return value</doc>
- <type name="utf8"/>
- </return-value>
- <parameters>
- <parameter name="arg1" transfer-ownership="none">
- <attribute name="some.annotation.foo1" value="val1"/>
- <doc xml:whitespace="preserve">a value</doc>
- <type name="utf8"/>
- </parameter>
- <parameter name="arg2" transfer-ownership="none">
- <attribute name="some.annotation.foo2" value="val2"/>
- <doc xml:whitespace="preserve">another value</doc>
- <type name="utf8"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="doc-empty-arg-parsing" when="last">
- <doc xml:whitespace="preserve">This signal tests an empty document argument (@arg1)</doc>
- <return-value transfer-ownership="none">
- <type name="none"/>
- </return-value>
- <parameters>
- <parameter name="arg1" transfer-ownership="none">
- <type name="gpointer"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="list-signal" when="last">
- <doc xml:whitespace="preserve">This is a signal which takes a list of strings, but it's not
-known by GObject as it's only marked as G_TYPE_POINTER</doc>
- <return-value transfer-ownership="none">
- <type name="none"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="container">
- <doc xml:whitespace="preserve">a list of strings</doc>
- <type name="GLib.List">
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="string-signal"
- when="last"
- version="1.0"
- deprecated="Use other-signal instead"
- deprecated-version="1.2">
- <doc xml:whitespace="preserve">This is a signal which has a broken signal handler,
-it says it's pointer but it's actually a string.</doc>
- <return-value transfer-ownership="none">
- <type name="none"/>
- </return-value>
- <parameters>
- <parameter name="string" transfer-ownership="none">
- <doc xml:whitespace="preserve">a string</doc>
- <type name="utf8"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="ObjectClass"
- c:type="AnnotationObjectClass"
- glib:is-gtype-struct-for="Object">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- </record>
- <record name="Struct" c:type="AnnotationStruct">
- <doc xml:whitespace="preserve">This is a test of an array of object in an field of a struct.</doc>
- <field name="objects" writable="1">
- <array zero-terminated="0" c:type="AnnotationObject" fixed-size="10">
- <type name="Object" c:type="AnnotationObject*"/>
- </array>
- </field>
- </record>
- <function name="attribute_func" c:identifier="annotation_attribute_func">
- <return-value transfer-ownership="none">
- <attribute name="some.other.annotation" value="value2"/>
- <attribute name="yet.another.annotation" value="another_value"/>
- <doc xml:whitespace="preserve">The return value.</doc>
- <type name="gint" c:type="gint"/>
- </return-value>
- <parameters>
- <parameter name="object" transfer-ownership="none">
- <doc xml:whitespace="preserve">A #AnnotationObject.</doc>
- <type name="Object" c:type="AnnotationObject*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <attribute name="some.annotation" value="value"/>
- <attribute name="another.annotation" value="blahvalue"/>
- <doc xml:whitespace="preserve">Some data.</doc>
- <type name="utf8" c:type="const gchar*"/>
- </parameter>
- </parameters>
- </function>
- <function name="custom_destroy" c:identifier="annotation_custom_destroy">
- <doc xml:whitespace="preserve">Test messing up the heuristic of closure/destroy-notification
-detection, and fixing it via annotations.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="callback"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="1">
- <doc xml:whitespace="preserve">Destroy notification</doc>
- <type name="Callback" c:type="AnnotationCallback"/>
- </parameter>
- <parameter name="destroy"
- transfer-ownership="none"
- scope="notified"
- closure="2">
- <type name="NotifyFunc" c:type="AnnotationNotifyFunc"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="get_source_file" c:identifier="annotation_get_source_file">
- <return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">Source file</doc>
- <type name="filename" c:type="char*"/>
- </return-value>
- </function>
- <function name="init" c:identifier="annotation_init">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="argc"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">The number of args.</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- <parameter name="argv"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">The arguments.</doc>
- <array length="0" zero-terminated="0" c:type="char***">
- <type name="utf8" c:type="char**"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="invalid_annotation"
- c:identifier="annotation_invalid_annotation">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="foo" transfer-ownership="none">
- <doc xml:whitespace="preserve">some text (e.g. example) or else</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="ptr_array"
- c:identifier="annotation_ptr_array"
- introspectable="0">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="array" transfer-ownership="none">
- <doc xml:whitespace="preserve">the array</doc>
- <array name="GLib.PtrArray" c:type="GPtrArray*">
- <type name="GLib.Value"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="return_array" c:identifier="annotation_return_array">
- <return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">The return value</doc>
- <array length="0" zero-terminated="0" c:type="char**">
- <type name="utf8"/>
- </array>
- </return-value>
- <parameters>
- <parameter name="length"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:whitespace="preserve">Number of return values</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </function>
- <function name="return_filename" c:identifier="annotation_return_filename">
- <return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">An annotated filename</doc>
- <type name="filename" c:type="gchar*"/>
- </return-value>
- </function>
- <function name="set_source_file" c:identifier="annotation_set_source_file">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="fname" transfer-ownership="none">
- <doc xml:whitespace="preserve">Source file</doc>
- <type name="filename" c:type="char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="space_after_comment_bug631690"
- c:identifier="annotation_space_after_comment_bug631690">
- <doc xml:whitespace="preserve">Explicitly test having a space after the ** here.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- <function name="string_array_length"
- c:identifier="annotation_string_array_length">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="n_properties" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="properties" transfer-ownership="none">
- <array length="0" zero-terminated="0" c:type="gchar*">
- <type name="utf8"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="string_zero_terminated"
- c:identifier="annotation_string_zero_terminated">
- <return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">The return value</doc>
- <array c:type="char**">
- <type name="utf8"/>
- </array>
- </return-value>
- </function>
- <function name="string_zero_terminated_out"
- c:identifier="annotation_string_zero_terminated_out">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="out"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="full">
- <array c:type="char***">
- <type name="utf8" c:type="char**"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="test_parsing_bug630862"
- c:identifier="annotation_test_parsing_bug630862">
- <doc xml:whitespace="preserve">See https://bugzilla.gnome.org/show_bug.cgi?id=630862</doc>
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">An object, note the colon:in here</doc>
- <type name="GObject.Object" c:type="GObject*"/>
- </return-value>
- </function>
- <function name="transfer_floating"
- c:identifier="annotation_transfer_floating">
- <return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">A floating object</doc>
- <type name="GObject.Object" c:type="GObject*"/>
- </return-value>
- </function>
- <function name="versioned"
- c:identifier="annotation_versioned"
- version="0.6">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </function>
- </namespace>
-</repository>
diff --git a/tests/scanner/Bar-1.0-expected.gir b/tests/scanner/Bar-1.0-expected.gir
index 392a3031..245adfff 100644
--- a/tests/scanner/Bar-1.0-expected.gir
+++ b/tests/scanner/Bar-1.0-expected.gir
@@ -6,7 +6,6 @@ and/or use gtk-doc annotations. -->
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
<include name="GObject" version="2.0"/>
<package name="gobject-2.0"/>
<namespace name="Bar"
@@ -44,6 +43,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="window" transfer-ownership="none">
+ <type name="MutterWindow" c:type="MutterWindow*"/>
+ </instance-parameter>
<parameter name="v" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</parameter>
diff --git a/tests/scanner/Foo-1.0-expected.gir b/tests/scanner/Foo-1.0-expected.gir
index b0c36340..61d53c96 100644
--- a/tests/scanner/Foo-1.0-expected.gir
+++ b/tests/scanner/Foo-1.0-expected.gir
@@ -26,12 +26,16 @@ and/or use gtk-doc annotations. -->
<enumeration name="ASingle" c:type="FooASingle">
<member name="some_single_enum"
value="0"
- c:identifier="FOO_SOME_SINGLE_ENUM"/>
+ c:identifier="FOO_SOME_SINGLE_ENUM">
+ </member>
</enumeration>
<enumeration name="AddressType" c:type="FooAddressType">
- <member name="invalid" value="0" c:identifier="FOO_ADDRESS_INVALID"/>
- <member name="ipv4" value="1" c:identifier="FOO_ADDRESS_IPV4"/>
- <member name="ipv6" value="2" c:identifier="FOO_ADDRESS_IPV6"/>
+ <member name="invalid" value="0" c:identifier="FOO_ADDRESS_INVALID">
+ </member>
+ <member name="ipv4" value="1" c:identifier="FOO_ADDRESS_IPV4">
+ </member>
+ <member name="ipv6" value="2" c:identifier="FOO_ADDRESS_IPV6">
+ </member>
</enumeration>
<record name="BRect"
c:type="FooBRect"
@@ -62,6 +66,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="b1" transfer-ownership="none">
+ <type name="BRect" c:type="FooBRect*"/>
+ </instance-parameter>
<parameter name="b2" transfer-ownership="none">
<type name="BRect" c:type="FooBRect*"/>
</parameter>
@@ -92,6 +99,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
+ <parameters>
+ <instance-parameter name="bunion" transfer-ownership="none">
+ <type name="BUnion" c:type="FooBUnion*"/>
+ </instance-parameter>
+ </parameters>
</method>
</union>
<record name="Boxed"
@@ -108,6 +120,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="Boxed" c:type="FooBoxed*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<class name="Buffer"
@@ -122,6 +139,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="FooBuffer*"/>
+ </instance-parameter>
+ </parameters>
</method>
</class>
<record name="BufferClass"
@@ -154,6 +176,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="dbusdata" transfer-ownership="none">
+ <type name="DBusData" c:type="FooDBusData*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<constant name="DEFINE_SHOULD_BE_EXPOSED"
@@ -162,15 +189,22 @@ and/or use gtk-doc annotations. -->
<type name="utf8" c:type="gchar*"/>
</constant>
<enumeration name="EnumFullname" c:type="FooEnumFullname">
- <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE"/>
- <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO"/>
- <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE"/>
+ <member name="one" value="1" c:identifier="FOO_ENUM_FULLNAME_ONE">
+ </member>
+ <member name="two" value="2" c:identifier="FOO_ENUM_FULLNAME_TWO">
+ </member>
+ <member name="three" value="3" c:identifier="FOO_ENUM_FULLNAME_THREE">
+ </member>
</enumeration>
<enumeration name="EnumNoType" c:type="FooEnumNoType">
- <member name="un" value="1" c:identifier="FOO_ENUM_UN"/>
- <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX"/>
- <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS"/>
- <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF"/>
+ <member name="un" value="1" c:identifier="FOO_ENUM_UN">
+ </member>
+ <member name="deux" value="2" c:identifier="FOO_ENUM_DEUX">
+ </member>
+ <member name="trois" value="3" c:identifier="FOO_ENUM_TROIS">
+ </member>
+ <member name="neuf" value="9" c:identifier="FOO_ENUM_NEUF">
+ </member>
</enumeration>
<enumeration name="EnumType"
glib:type-name="FooEnumType"
@@ -179,15 +213,18 @@ and/or use gtk-doc annotations. -->
<member name="alpha"
value="0"
c:identifier="FOO_ENUM_ALPHA"
- glib:nick="alpha"/>
+ glib:nick="alpha">
+ </member>
<member name="beta"
value="1"
c:identifier="FOO_ENUM_BETA"
- glib:nick="beta"/>
+ glib:nick="beta">
+ </member>
<member name="delta"
value="2"
c:identifier="FOO_ENUM_DELTA"
- glib:nick="delta"/>
+ glib:nick="delta">
+ </member>
<function name="method" c:identifier="foo_enum_type_method">
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
@@ -217,15 +254,18 @@ and/or use gtk-doc annotations. -->
<member name="good"
value="0"
c:identifier="FOO_ERROR_GOOD"
- glib:nick="good"/>
+ glib:nick="good">
+ </member>
<member name="bad"
value="1"
c:identifier="FOO_ERROR_BAD"
- glib:nick="bad"/>
+ glib:nick="bad">
+ </member>
<member name="ugly"
value="2"
c:identifier="FOO_ERROR_UGLY"
- glib:nick="ugly"/>
+ glib:nick="ugly">
+ </member>
<function name="quark" c:identifier="foo_error_quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
@@ -257,9 +297,12 @@ and/or use gtk-doc annotations. -->
</field>
</record>
<bitfield name="FlagsNoType" c:type="FooFlagsNoType">
- <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT"/>
- <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA"/>
- <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA"/>
+ <member name="ett" value="1" c:identifier="FOO_FLAGS_ETT">
+ </member>
+ <member name="tva" value="2" c:identifier="FOO_FLAGS_TVA">
+ </member>
+ <member name="fyra" value="4" c:identifier="FOO_FLAGS_FYRA">
+ </member>
</bitfield>
<bitfield name="FlagsType"
glib:type-name="FooFlagsType"
@@ -268,15 +311,18 @@ and/or use gtk-doc annotations. -->
<member name="first"
value="1"
c:identifier="FOO_FLAGS_FIRST"
- glib:nick="first"/>
+ glib:nick="first">
+ </member>
<member name="second"
value="2"
c:identifier="FOO_FLAGS_SECOND"
- glib:nick="second"/>
+ glib:nick="second">
+ </member>
<member name="third"
value="4"
c:identifier="FOO_FLAGS_THIRD"
- glib:nick="third"/>
+ glib:nick="third">
+ </member>
</bitfield>
<record name="ForeignStruct" c:type="FooForeignStruct" foreign="1">
<field name="foo" writable="1">
@@ -291,6 +337,11 @@ and/or use gtk-doc annotations. -->
<return-value transfer-ownership="full">
<type name="ForeignStruct" c:type="FooForeignStruct*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="original" transfer-ownership="none">
+ <type name="ForeignStruct" c:type="FooForeignStruct*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<interface name="Interface"
@@ -315,6 +366,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Interface" c:type="FooInterface*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -325,6 +379,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="iface" transfer-ownership="none">
+ <type name="Interface" c:type="FooInterface*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -383,10 +440,10 @@ and/or use gtk-doc annotations. -->
</parameters>
</function>
<function name="get_default" c:identifier="foo_object_get_default">
- <doc xml:whitespace="preserve">This function is intended to match clutter_stage_get_default which
+ <doc xml:space="preserve">This function is intended to match clutter_stage_get_default which
uses a C sugar return type.</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">The global #FooSubobject</doc>
+ <doc xml:space="preserve">The global #FooSubobject</doc>
<type name="Subobject" c:type="FooObject*"/>
</return-value>
</function>
@@ -396,17 +453,20 @@ uses a C sugar return type.</doc>
</return-value>
</function>
<virtual-method name="read_fn" invoker="read">
- <doc xml:whitespace="preserve">Read some stuff.</doc>
+ <doc xml:space="preserve">Read some stuff.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="offset" transfer-ownership="none">
- <doc xml:whitespace="preserve">offset</doc>
+ <doc xml:space="preserve">offset</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:whitespace="preserve">length</doc>
+ <doc xml:space="preserve">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
@@ -416,6 +476,9 @@ uses a C sugar return type.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="first_param" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -423,11 +486,14 @@ uses a C sugar return type.</doc>
</virtual-method>
<method name="append_new_stack_layer"
c:identifier="foo_object_append_new_stack_layer">
- <doc xml:whitespace="preserve">This shouldn't be scanned as a constructor.</doc>
+ <doc xml:space="preserve">This shouldn't be scanned as a constructor.</doc>
<return-value transfer-ownership="none">
<type name="OtherObject" c:type="FooOtherObject*"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -437,23 +503,42 @@ uses a C sugar return type.</doc>
<return-value transfer-ownership="full">
<type name="utf8" c:type="char*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="external_type" c:identifier="foo_object_external_type">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">%NULL always</doc>
+ <doc xml:space="preserve">%NULL always</doc>
<type name="Utility.Object" c:type="UtilityObject*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #FooObject</doc>
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="get_name" c:identifier="foo_object_get_name">
<return-value transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="handle_glyph" c:identifier="foo_object_handle_glyph">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="glyph" transfer-ownership="none">
<type name="Utility.Glyph" c:type="UtilityGlyph"/>
</parameter>
@@ -464,6 +549,9 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="time" transfer-ownership="none">
<type name="glong" c:type="time_t"/>
</parameter>
@@ -472,28 +560,35 @@ uses a C sugar return type.</doc>
<method name="new_cookie"
c:identifier="foo_object_new_cookie"
introspectable="0">
- <doc xml:whitespace="preserve">Not sure why this test is here...</doc>
+ <doc xml:space="preserve">Not sure why this test is here...</doc>
<return-value>
<type name="ObjectCookie" c:type="FooObjectCookie"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="target" transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</parameter>
</parameters>
</method>
<method name="read" c:identifier="foo_object_read">
- <doc xml:whitespace="preserve">Read some stuff.</doc>
+ <doc xml:space="preserve">Read some stuff.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">obj</doc>
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="offset" transfer-ownership="none">
- <doc xml:whitespace="preserve">offset</doc>
+ <doc xml:space="preserve">offset</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:whitespace="preserve">length</doc>
+ <doc xml:space="preserve">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
@@ -501,10 +596,16 @@ uses a C sugar return type.</doc>
<method name="skipped_method"
c:identifier="foo_object_skipped_method"
introspectable="0">
- <doc xml:whitespace="preserve">This is only useful from C.</doc>
+ <doc xml:space="preserve">This is only useful from C.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">obj</doc>
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="take_all"
c:identifier="foo_object_take_all"
@@ -513,12 +614,14 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
<parameter transfer-ownership="none">
- <varargs>
- </varargs>
+ <varargs/>
</parameter>
</parameters>
</method>
@@ -527,6 +630,9 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="data" transfer-ownership="none">
<type name="gpointer" c:type="void*"/>
</parameter>
@@ -540,6 +646,9 @@ uses a C sugar return type.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="FooObject*"/>
+ </instance-parameter>
<parameter name="first_param" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -556,7 +665,7 @@ uses a C sugar return type.</doc>
writable="1"
construct="1"
transfer-ownership="none">
- <type name="utf8"/>
+ <type name="utf8" c:type="gchar*"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
@@ -566,14 +675,14 @@ uses a C sugar return type.</doc>
</field>
<glib:signal name="signal" when="last">
<return-value transfer-ownership="full">
- <type name="utf8"/>
+ <type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<type name="GObject.Object"/>
</parameter>
<parameter name="p0" transfer-ownership="none">
- <type name="gpointer"/>
+ <type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</glib:signal>
@@ -609,11 +718,11 @@ uses a C sugar return type.</doc>
<type name="Object" c:type="FooObject*"/>
</parameter>
<parameter name="offset" transfer-ownership="none">
- <doc xml:whitespace="preserve">offset</doc>
+ <doc xml:space="preserve">offset</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="length" transfer-ownership="none">
- <doc xml:whitespace="preserve">length</doc>
+ <doc xml:space="preserve">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
@@ -659,14 +768,21 @@ uses a C sugar return type.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="r1"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">add to this rect</doc>
+ <type name="Rectangle" c:type="FooRectangle*"/>
+ </instance-parameter>
<parameter name="r2" transfer-ownership="none">
- <doc xml:whitespace="preserve">source rectangle</doc>
+ <doc xml:space="preserve">source rectangle</doc>
<type name="Rectangle" c:type="const FooRectangle*"/>
</parameter>
</parameters>
</method>
<function name="new" c:identifier="foo_rectangle_new" introspectable="0">
- <doc xml:whitespace="preserve">This is a C convenience constructor; we have to (skip)
+ <doc xml:space="preserve">This is a C convenience constructor; we have to (skip)
it because it's not a boxed type.</doc>
<return-value>
<type name="Rectangle" c:type="FooRectangle*"/>
@@ -691,25 +807,38 @@ it because it's not a boxed type.</doc>
<type name="gint" c:type="gint"/>
</constant>
<enumeration name="Skippable" introspectable="0" c:type="FooSkippable">
- <doc xml:whitespace="preserve">Some type that is only interesting from C and should not be
+ <doc xml:space="preserve">Some type that is only interesting from C and should not be
exposed to language bindings.</doc>
- <member name="one" value="0" c:identifier="FOO_SKIPPABLE_ONE"/>
- <member name="two" value="1" c:identifier="FOO_SKIPPABLE_TWO"/>
+ <member name="one" value="0" c:identifier="FOO_SKIPPABLE_ONE">
+ <doc xml:space="preserve">a skippable enum value</doc>
+ </member>
+ <member name="two" value="1" c:identifier="FOO_SKIPPABLE_TWO">
+ <doc xml:space="preserve">another skippable enum value</doc>
+ </member>
</enumeration>
<enumeration name="StackLayer" c:type="FooStackLayer">
- <member name="desktop" value="0" c:identifier="FOO_LAYER_DESKTOP"/>
- <member name="bottom" value="1" c:identifier="FOO_LAYER_BOTTOM"/>
- <member name="normal" value="2" c:identifier="FOO_LAYER_NORMAL"/>
- <member name="top" value="4" c:identifier="FOO_LAYER_TOP"/>
- <member name="dock" value="4" c:identifier="FOO_LAYER_DOCK"/>
- <member name="fullscreen" value="5" c:identifier="FOO_LAYER_FULLSCREEN"/>
+ <member name="desktop" value="0" c:identifier="FOO_LAYER_DESKTOP">
+ </member>
+ <member name="bottom" value="1" c:identifier="FOO_LAYER_BOTTOM">
+ </member>
+ <member name="normal" value="2" c:identifier="FOO_LAYER_NORMAL">
+ </member>
+ <member name="top" value="4" c:identifier="FOO_LAYER_TOP">
+ </member>
+ <member name="dock" value="4" c:identifier="FOO_LAYER_DOCK">
+ </member>
+ <member name="fullscreen" value="5" c:identifier="FOO_LAYER_FULLSCREEN">
+ </member>
<member name="focused_window"
value="6"
- c:identifier="FOO_LAYER_FOCUSED_WINDOW"/>
+ c:identifier="FOO_LAYER_FOCUSED_WINDOW">
+ </member>
<member name="override_redirect"
value="7"
- c:identifier="FOO_LAYER_OVERRIDE_REDIRECT"/>
- <member name="last" value="8" c:identifier="FOO_LAYER_LAST"/>
+ c:identifier="FOO_LAYER_OVERRIDE_REDIRECT">
+ </member>
+ <member name="last" value="8" c:identifier="FOO_LAYER_LAST">
+ </member>
</enumeration>
<record name="Struct" c:type="FooStruct">
<field name="priv" writable="1">
@@ -732,17 +861,30 @@ exposed to language bindings.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
</virtual-method>
<virtual-method name="do_bar" invoker="do_bar">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
</virtual-method>
<virtual-method name="do_baz" invoker="do_baz">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
@@ -759,6 +901,9 @@ exposed to language bindings.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -771,12 +916,20 @@ exposed to language bindings.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="do_baz" c:identifier="foo_sub_interface_do_baz">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter name="callback"
transfer-ownership="none"
scope="call"
@@ -793,6 +946,9 @@ exposed to language bindings.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="SubInterface" c:type="FooSubInterface*"/>
+ </instance-parameter>
<parameter transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -803,7 +959,7 @@ exposed to language bindings.</doc>
</method>
<glib:signal name="destroy-event" when="last">
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
</glib:signal>
</interface>
@@ -939,8 +1095,7 @@ exposed to language bindings.</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
<parameter transfer-ownership="none">
- <varargs>
- </varargs>
+ <varargs/>
</parameter>
</parameters>
</callback>
@@ -1056,7 +1211,7 @@ exposed to language bindings.</doc>
</function>
<function name="not_a_constructor_new"
c:identifier="foo_not_a_constructor_new">
- <doc xml:whitespace="preserve">This should be scanned as a top-level function, and shouldn't cause
+ <doc xml:space="preserve">This should be scanned as a top-level function, and shouldn't cause
a "Can't find matching type for constructor" warning.</doc>
<return-value transfer-ownership="none">
<type name="Object" c:type="FooObject*"/>
@@ -1066,7 +1221,7 @@ a "Can't find matching type for constructor" warning.</doc>
c:identifier="foo_rectangle_new"
moved-to="Rectangle.new"
introspectable="0">
- <doc xml:whitespace="preserve">This is a C convenience constructor; we have to (skip)
+ <doc xml:space="preserve">This is a C convenience constructor; we have to (skip)
it because it's not a boxed type.</doc>
<return-value>
<type name="Rectangle" c:type="FooRectangle*"/>
@@ -1087,14 +1242,14 @@ it because it's not a boxed type.</doc>
</parameters>
</function>
<function name="skip_me" c:identifier="foo_skip_me" introspectable="0">
- <doc xml:whitespace="preserve">Does something that's only interesting from C and should not be
+ <doc xml:space="preserve">Does something that's only interesting from C and should not be
exposed to language bindings.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="fs" transfer-ownership="none">
- <doc xml:whitespace="preserve">a #FooSkippable</doc>
+ <doc xml:space="preserve">a #FooSkippable</doc>
<type name="Skippable" c:type="FooSkippable"/>
</parameter>
</parameters>
diff --git a/tests/scanner/GetType-1.0-expected.gir b/tests/scanner/GetType-1.0-expected.gir
index 3b1dd193..ae17525d 100644
--- a/tests/scanner/GetType-1.0-expected.gir
+++ b/tests/scanner/GetType-1.0-expected.gir
@@ -6,7 +6,6 @@ and/or use gtk-doc annotations. -->
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
<include name="GObject" version="2.0"/>
<package name="gobject-2.0"/>
<c:include name="gettype.h"/>
@@ -29,30 +28,36 @@ and/or use gtk-doc annotations. -->
</constructor>
<function name="nonmeta2_get_type"
c:identifier="gettype_object_nonmeta2_get_type">
- <doc xml:whitespace="preserve">This shouldn't be scanned as a *_get_type function because it doesn't return
+ <doc xml:space="preserve">This shouldn't be scanned as a *_get_type function because it doesn't return
a GType. It will generate a warning.</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">true</doc>
+ <doc xml:space="preserve">true</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="nonmeta_get_gtype"
c:identifier="gettype_object_nonmeta_get_gtype">
- <doc xml:whitespace="preserve">This shouldn't be scanned as a *_get_type function because it doesn't return
+ <doc xml:space="preserve">This shouldn't be scanned as a *_get_type function because it doesn't return
a GType. It will generate a warning.</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">true</doc>
+ <doc xml:space="preserve">true</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<method name="nonmeta1_get_type"
c:identifier="gettype_object_nonmeta1_get_type">
- <doc xml:whitespace="preserve">This shouldn't be scanned as a *_get_type function because it takes
+ <doc xml:space="preserve">This shouldn't be scanned as a *_get_type function because it takes
arguments.</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">0</doc>
+ <doc xml:space="preserve">0</doc>
<type name="GType" c:type="GType"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">self</doc>
+ <type name="Object" c:type="GetTypeObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
diff --git a/tests/scanner/GtkFrob-1.0-expected.gir b/tests/scanner/GtkFrob-1.0-expected.gir
index c8758472..a4e39ef1 100644
--- a/tests/scanner/GtkFrob-1.0-expected.gir
+++ b/tests/scanner/GtkFrob-1.0-expected.gir
@@ -6,7 +6,6 @@ and/or use gtk-doc annotations. -->
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
<include name="GObject" version="2.0"/>
<package name="gobject-2.0"/>
<namespace name="GtkFrob"
diff --git a/tests/scanner/Headeronly-1.0-expected.gir b/tests/scanner/Headeronly-1.0-expected.gir
new file mode 100644
index 00000000..179d9816
--- /dev/null
+++ b/tests/scanner/Headeronly-1.0-expected.gir
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <namespace name="Headeronly"
+ version="1.0"
+ shared-library=""
+ c:identifier-prefixes="Headeronly"
+ c:symbol-prefixes="headeronly">
+ <enumeration name="ExampleEnum" c:type="HeaderonlyExampleEnum">
+ <member name="foo" value="0" c:identifier="HEADERONLY_FOO">
+ </member>
+ <member name="bar" value="1" c:identifier="HEADERONLY_BAR">
+ </member>
+ </enumeration>
+ </namespace>
+</repository>
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am
index 96923550..f697b4b4 100644
--- a/tests/scanner/Makefile.am
+++ b/tests/scanner/Makefile.am
@@ -3,18 +3,22 @@ NULL ?=
include $(top_srcdir)/common.mk
include $(top_srcdir)/Makefile.introspection
+SUBDIRS = . annotationparser
+
INTROSPECTION_SCANNER_ARGS += --warn-all
-check_LTLIBRARIES = \
+CLEANFILES =
+
+EXTRA_LTLIBRARIES = \
libsletter.la \
- libannotation.la \
- libtestinherit.la \
- libfoo.la \
libutility.la \
libgtkfrob.la \
libgettype.la \
libregress.la \
+ libwarnlib.la \
+ libtypedefs.la \
$(NULL)
+CLEANFILES += $(EXTRA_LTLIBRARIES)
AM_CPPFLAGS = -I$(top_srcdir)/girepository
AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS)
@@ -28,20 +32,38 @@ libsletter_la_LIBADD = $(GIO_LIBS)
libsletter_la_CFLAGS = $(AM_CFLAGS)
libsletter_la_LDFLAGS = $(AM_LDFLAGS)
-libannotation_la_SOURCES = $(srcdir)/annotation.c $(srcdir)/annotation.h
-libtestinherit_la_SOURCES = $(srcdir)/drawable.c $(srcdir)/drawable.h
-libfoo_la_SOURCES = $(srcdir)/foo.c $(srcdir)/foo.h
-libfoo_la_LIBADD = $(top_builddir)/libgirepository-1.0.la
libutility_la_SOURCES = $(srcdir)/utility.c $(srcdir)/utility.h
libgtkfrob_la_SOURCES = $(srcdir)/gtkfrob.c $(srcdir)/gtkfrob.h
-libregress_la_SOURCES = $(srcdir)/regress.c $(srcdir)/regress.h
-libregress_la_LIBADD = $(GIO_LIBS) $(CAIRO_LIBS)
+libregress_la_SOURCES = \
+ $(srcdir)/regress.c $(srcdir)/regress.h \
+ $(srcdir)/annotation.c $(srcdir)/annotation.h \
+ $(srcdir)/foo.c $(srcdir)/foo.h \
+ $(srcdir)/drawable.c $(srcdir)/drawable.h \
+ $(NULL)
+REGRESS_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
+libregress_la_CPPFLAGS = -DREGRESS_PRINT_PREVIEW_COMMAND=\"$(REGRESS_PRINT_PREVIEW_COMMAND)\" \
+ -DREGRESS_SOME_CHAR=\'c\'
+libregress_la_LIBADD = $(GIO_LIBS)
+if HAVE_CAIRO
+libregress_la_LIBADD += $(CAIRO_LIBS)
+endif
+libwarnlib_la_CFLAGS = $(AM_CFLAGS)
+libwarnlib_la_SOURCES = $(srcdir)/warnlib.c $(srcdir)/warnlib.h
+libwarnlib_la_LIBADD = $(GIO_LIBS)
+libwarnlib_la_LDFLAGS = -export-symbols-regex '^warnlib_' -no-undefined
libgettype_la_SOURCES = $(srcdir)/gettype.c $(srcdir)/gettype.h
+libtypedefs_la_SOURCES = $(srcdir)/typedefs.c $(srcdir)/typedefs.h
testsdir = $(datadir)/gobject-introspection-1.0/tests
-tests_DATA = $(libregress_la_SOURCES)
+tests_DATA = $(libregress_la_SOURCES) $(libwarnlib_la_SOURCES) $(libutility_la_SOURCES)
-libregress_la_CFLAGS = $(AM_CFLAGS) $(CAIRO_CFLAGS)
+if !HAVE_CAIRO
+libregress_la_CPPFLAGS += -D_GI_DISABLE_CAIRO
+endif
+libregress_la_CFLAGS = $(AM_CFLAGS)
+if HAVE_CAIRO
+libregress_la_CFLAGS += $(CAIRO_CFLAGS)
+endif
libregress_la_LDFLAGS = $(AM_LDFLAGS)
@@ -52,10 +74,10 @@ endif
# .gir --[scanner]-> .typelib
GIRS =
TYPELIBS = $(GIRS:.gir=.typelib)
-CHECKGIRS = $(GIRS:.gir=.gir.check)
+CHECKGIRS = $(GIRS)
EXPECTEDGIRS = $(GIRS:.gir=-expected.gir)
INTROSPECTION_GIRS = $(GIRS)
-CLEANFILES = $(TYPELIBS) $(GIRS)
+CLEANFILES += $(TYPELIBS) $(GIRS)
EXTRA_DIST = $(EXPECTEDGIRS)
SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la
@@ -65,36 +87,23 @@ SLetter_1_0_gir_FILES = $(libsletter_la_SOURCES)
SLetter_1_0_gir_SCANNERFLAGS = --identifier-prefix=S --c-include="sletter.h" --warn-error
GIRS += SLetter-1.0.gir
-Regress-1.0.gir: $(top_builddir)/Gio-2.0.gir libregress.la
+Regress-1.0.gir: $(top_builddir)/Gio-2.0.gir Utility-1.0.gir libregress.la
Regress_1_0_gir_LIBS = libregress.la
-Regress_1_0_gir_INCLUDES = cairo-1.0 Gio-2.0
+Regress_1_0_gir_CFLAGS = $(libregress_la_CPPFLAGS) $(libregress_la_CFLAGS) -include "glib.h"
+Regress_1_0_gir_INCLUDES = Gio-2.0 Utility-1.0
+if HAVE_CAIRO
+Regress_1_0_gir_INCLUDES += cairo-1.0
+endif
Regress_1_0_gir_FILES = $(libregress_la_SOURCES)
Regress_1_0_gir_SCANNERFLAGS = --c-include="regress.h" --warn-error
GIRS += Regress-1.0.gir
-Annotation-1.0.gir: Utility-1.0.gir libannotation.la
-Annotation_1_0_gir_PACKAGES = gobject-2.0
-Annotation_1_0_gir_LIBS = libannotation.la
-Annotation_1_0_gir_INCLUDES = GObject-2.0 Utility-1.0
-Annotation_1_0_gir_FILES = $(libannotation_la_SOURCES)
-Annotation_1_0_gir_SCANNERFLAGS = --c-include="annotation.h" --warn-error
-GIRS += Annotation-1.0.gir
-
-TestInherit-1.0.gir: Utility-1.0.gir libtestinherit.la
-TestInherit_1_0_gir_PACKAGES = gobject-2.0
-TestInherit_1_0_gir_LIBS = libtestinherit.la
-TestInherit_1_0_gir_INCLUDES = GObject-2.0 Utility-1.0
-TestInherit_1_0_gir_FILES = $(libtestinherit_la_SOURCES)
-TestInherit_1_0_gir_SCANNERFLAGS = --c-include="drawable.h" --warn-error
-GIRS += TestInherit-1.0.gir
-
-Foo-1.0.gir: Utility-1.0.gir libfoo.la
-Foo_1_0_gir_PACKAGES = gobject-2.0
-Foo_1_0_gir_LIBS = libfoo.la
-Foo_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0 Utility-1.0
-Foo_1_0_gir_FILES = $(srcdir)/foo.h $(srcdir)/foo.c
-Foo_1_0_gir_SCANNERFLAGS = --c-include="foo.h" --warn-error
-GIRS += Foo-1.0.gir
+WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la
+WarnLib_1_0_gir_LIBS = libwarnlib.la
+WarnLib_1_0_gir_INCLUDES = Gio-2.0
+WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES)
+WarnLib_1_0_gir_SCANNERFLAGS = --c-include="warnlib.h" --symbol-prefix=warnlib_
+GIRS += WarnLib-1.0.gir
Utility-1.0.gir: libutility.la
Utility_1_0_gir_PACKAGES = gobject-2.0
@@ -123,8 +132,17 @@ GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
GIRS += GetType-1.0.gir
+Typedefs-1.0.gir: libtypedefs.la
+Typedefs_1_0_gir_PACKAGES = gobject-2.0
+Typedefs_1_0_gir_LIBS = libtypedefs.la
+Typedefs_1_0_gir_INCLUDES = GObject-2.0
+Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES)
+Typedefs_1_0_gir_SCANNERFLAGS = --c-include="typedefs.h" --identifier-prefix=Typedefs --symbol-prefix=typedefs
+GIRS += Typedefs-1.0.gir
+
if !OS_WIN32
-check_PROGRAMS = barapp
+EXTRA_PROGRAMS = barapp
+CLEANFILES += $(EXTRA_PROGRAMS)
barapp_SOURCES = $(srcdir)/barapp.c $(srcdir)/barapp.h
barapp_LDADD = $(top_builddir)/libgirepository-1.0.la
@@ -139,12 +157,54 @@ Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed
GIRS += Bar-1.0.gir
endif
-EXTRA_DIST += headeronly.h
+EXTRA_DIST += \
+ headeronly.h \
+ Headeronly-1.0-expected.gir
+CLEANFILES += Headeronly-1.0.gir
Headeronly-1.0.gir: headeronly.h
$(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error --reparse-validate --namespace=Headeronly --nsversion=1.0 --header-only --output=$@ $<
-%.gir.check: %.gir
- @diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo " TEST $*.gir"
+if BUILD_DOCTOOL
+DOCGIRS = Regress-1.0.gir
+CHECKDOCS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs) $(DOCGIRS:.gir=-sections.txt)
+MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs)
+MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/* $(DOCGIRS:.gir=-sections.txt)
+EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
+CLEANFILES += $(MALLARD_CLEAN)
-check-local: Headeronly-1.0.gir $(CHECKGIRS) $(TYPELIBS)
+%-C: %.gir
+ $(AM_V_GEN)rm -rf $(builddir)/$*-C
+ $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language C $*.gir -o $(builddir)/$*-C/
+
+%-Python: %.gir
+ $(AM_V_GEN)rm -rf $(builddir)/$*-Python
+ $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Python $*.gir -o $(builddir)/$*-Python/
+
+%-Gjs: %.gir
+ $(AM_V_GEN)rm -rf $(builddir)/$*-Gjs
+ $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Gjs $*.gir -o $(builddir)/$*-Gjs/
+
+%-sections.txt: %.gir
+ $(AM_V_GEN)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --write-sections-file $*.gir -o $@
+
+else
+CHECKDOCS =
+endif
+
+PYTESTS = \
+ test_sourcescanner.py \
+ test_transformer.py
+
+TESTS = Headeronly-1.0.gir $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS) $(PYTESTS)
+TESTS_ENVIRONMENT = srcdir=$(srcdir) top_srcdir=$(top_srcdir) builddir=$(builddir) top_builddir=$(top_builddir) \
+ PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
+LOG_COMPILER = $(top_srcdir)/tests/gi-tester
+
+EXTRA_DIST += \
+ $(PYTESTS) \
+ Regress-1.0-C-expected \
+ Regress-1.0-Gjs-expected \
+ Regress-1.0-Python-expected \
+ Regress-1.0-sections-expected.txt \
+ $(NULL)
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page b/tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page
new file mode 100644
index 00000000..e131f6f0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ATestError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.ATestError"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.ATestError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page b/tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page
new file mode 100644
index 00000000..9490e4a3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AliasedTestBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AliasedTestBoxed"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AliasedTestBoxed</title>
+
+
+
+ <p>Typedef TestBoxed to test caller-allocates correctness</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page
new file mode 100644
index 00000000..6dc17b32
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.None.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnAnonymousUnion.None"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnAnonymousUnion.None</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page
new file mode 100644
index 00000000..f9323c69
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnAnonymousUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnAnonymousUnion"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnAnonymousUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page
new file mode 100644
index 00000000..4e19ef92
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationBitfield"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationBitfield</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page
new file mode 100644
index 00000000..9a652d80
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationCallback</title>
+
+
+
+ <p>This is a callback.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page
new file mode 100644
index 00000000..74c6eab8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationFields.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationFields"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationFields</title>
+
+
+
+ <p>This is a struct for testing field documentation and annotations</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page
new file mode 100644
index 00000000..db77a117
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationForeachFunc.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationForeachFunc"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationForeachFunc</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page
new file mode 100644
index 00000000..79844c66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationListCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationListCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationListCallback</title>
+
+
+
+ <p>This is a callback taking a list.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page
new file mode 100644
index 00000000..17c80292
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationNotifyFunc.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationNotifyFunc"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationNotifyFunc</title>
+
+
+
+ <p>This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page
new file mode 100644
index 00000000..64e30a6c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-attribute-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">attribute-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::attribute-signal</title>
+
+<synopsis><code mime="text/x-csrc">
+gchar* attribute-signal (gchar* arg1,
+ gchar* arg2);
+</code></synopsis>
+
+
+ <p>This signal tests a signal with attributes.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>arg1</code></title>
+<p>a value</p>
+</item>
+<item>
+<title><code>arg2</code></title>
+<p>another value</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the return value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
new file mode 100644
index 00000000..48acac58
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-doc-empty-arg-parsing"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">doc-empty-arg-parsing</title>
+
+ </info>
+ <title>Regress.AnnotationObject::doc-empty-arg-parsing</title>
+
+<synopsis><code mime="text/x-csrc">
+void doc-empty-arg-parsing (gpointer arg1);
+</code></synopsis>
+
+
+ <p>This signal tests an empty document argument (<code>arg1</code>)</p>
+
+
+
+
+<terms>
+<item>
+<title><code>arg1</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page
new file mode 100644
index 00000000..bd640b5c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-function-property.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-function-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">function-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:function-property</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page
new file mode 100644
index 00000000..29ad5842
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-list-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">list-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::list-signal</title>
+
+<synopsis><code mime="text/x-csrc">
+void list-signal (gpointer list);
+</code></synopsis>
+
+
+ <p>This is a signal which takes a list of strings, but it's not
+known by GObject as it's only marked as G_TYPE_POINTER</p>
+
+
+
+
+<terms>
+<item>
+<title><code>list</code></title>
+<p>a list of strings</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page
new file mode 100644
index 00000000..70b80ae2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-property.page
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-string-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">string-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:string-property</title>
+
+
+
+ <p>This is a property which is a string</p>
+
+
+ <p>Since 1.0</p>
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page
new file mode 100644
index 00000000..e25d2bb1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-string-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">string-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::string-signal</title>
+
+<synopsis><code mime="text/x-csrc">
+void string-signal (gpointer string);
+</code></synopsis>
+
+
+ <p>This is a signal which has a broken signal handler,
+it says it's pointer but it's actually a string.</p>
+
+
+ <p>Since 1.0</p>
+
+
+<terms>
+<item>
+<title><code>string</code></title>
+<p>a string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page
new file mode 100644
index 00000000..446729b7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-tab-property.page
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-tab-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">tab-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:tab-property</title>
+
+
+
+ <p>This is a property annotation intentionally indented with a mix
+of tabs and strings to test the tab handling capabilities of the scanner.</p>
+
+
+ <p>Since 1.2</p>
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page
new file mode 100644
index 00000000..1d553fd7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.allow_none"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_allow_none</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const gchar*</api:type>
+ <api:name>somearg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_allow_none</title>
+
+<synopsis><code mime="text/x-csrc">
+GObject* regress_annotation_object_allow_none (RegressAnnotationObject* object,
+ const gchar* somearg);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>somearg</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>NULL</code> always</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page
new file mode 100644
index 00000000..fc1758be
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.calleeowns"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_calleeowns</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject**</api:type>
+ <api:name>toown</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_calleeowns</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_calleeowns (RegressAnnotationObject* object,
+ GObject** toown);
+</code></synopsis>
+
+
+ <p>This is a test for out arguments; GObject defaults to transfer</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>toown</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page
new file mode 100644
index 00000000..f168030a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.calleesowns"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_calleesowns</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject**</api:type>
+ <api:name>toown1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject**</api:type>
+ <api:name>toown2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_calleesowns</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_calleesowns (RegressAnnotationObject* object,
+ GObject** toown1,
+ GObject** toown2);
+</code></synopsis>
+
+
+ <p>This is a test for out arguments, one transferred, other not</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>toown1</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>toown2</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page
new file mode 100644
index 00000000..eaf00407
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_compute_sum</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_compute_sum (RegressAnnotationObject* object,
+ int* nums);
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of numbers</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page
new file mode 100644
index 00000000..91ebe4b6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum_n"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum_n</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_compute_sum_n</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_compute_sum_n (RegressAnnotationObject* object,
+ int* nums,
+ int n_nums);
+</code></synopsis>
+
+
+ <p>Test taking an array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of
+ numbers that are zero-terminated</p>
+</item>
+<item>
+<title><code>n_nums</code></title>
+<p>Length of number array</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page
new file mode 100644
index 00000000..7f5b0cf2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum_nz"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum_nz</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_compute_sum_nz</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_compute_sum_nz (RegressAnnotationObject* object,
+ int* nums,
+ int n_nums);
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of numbers that
+are zero-terminated</p>
+</item>
+<item>
+<title><code>n_nums</code></title>
+<p>Length of number array</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page
new file mode 100644
index 00000000..6ad744b9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.create_object"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_create_object</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_create_object</title>
+
+<synopsis><code mime="text/x-csrc">
+GObject* regress_annotation_object_create_object (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+ <p>Test returning a caller-owned object</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>The object</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page
new file mode 100644
index 00000000..4d651ca7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.do_not_use"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_do_not_use</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_do_not_use</title>
+
+<synopsis><code mime="text/x-csrc">
+GObject* regress_annotation_object_do_not_use (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>NULL</code> always</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page
new file mode 100644
index 00000000..809ebd2b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.extra_annos"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_extra_annos</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_extra_annos</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_extra_annos (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page
new file mode 100644
index 00000000..f74ca97b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.foreach"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_foreach</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressAnnotationForeachFunc</api:type>
+ <api:name>func</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_foreach</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_foreach (RegressAnnotationObject* object,
+ RegressAnnotationForeachFunc func,
+ gpointer user_data);
+</code></synopsis>
+
+
+ <p>Test taking a call-scoped callback</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>func</code></title>
+<p>Callback to invoke</p>
+</item>
+<item>
+<title><code>user_data</code></title>
+<p>Callback user data</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page
new file mode 100644
index 00000000..6cc123b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_hash"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_hash</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_get_hash</title>
+
+<synopsis><code mime="text/x-csrc">
+GHashTable* regress_annotation_object_get_hash (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+ <p>This is a test for returning a hash table mapping strings to
+objects.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>hash table</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page
new file mode 100644
index 00000000..3021ce53
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_objects"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GSList*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_objects</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_get_objects</title>
+
+<synopsis><code mime="text/x-csrc">
+GSList* regress_annotation_object_get_objects (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+ <p>This is a test for returning a list of objects.
+The list itself should be freed, but not the internal objects,
+intentionally similar example to gtk_container_get_children</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>list of objects</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page
new file mode 100644
index 00000000..62087b04
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_strings"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GList*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_strings</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_get_strings</title>
+
+<synopsis><code mime="text/x-csrc">
+GList* regress_annotation_object_get_strings (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+ <p>This is a test for returning a list of strings, where
+each string needs to be freed.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>list of strings</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page
new file mode 100644
index 00000000..f1696c03
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.hidden_self"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_hidden_self</api:name>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_hidden_self</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_hidden_self (gpointer object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>A <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page
new file mode 100644
index 00000000..ef1f430a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_in</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>inarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_in</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_in (RegressAnnotationObject* object,
+ int* inarg);
+</code></synopsis>
+
+
+ <p>This is a test for in arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page
new file mode 100644
index 00000000..0e958294
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_inout</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_inout (RegressAnnotationObject* object,
+ int* inoutarg);
+</code></synopsis>
+
+
+ <p>This is a test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page
new file mode 100644
index 00000000..cae38e56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout2"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout2</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_inout2</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_inout2 (RegressAnnotationObject* object,
+ int* inoutarg);
+</code></synopsis>
+
+
+ <p>This is a second test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page
new file mode 100644
index 00000000..8ca35f33
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout3"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout3</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_inout3</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_inout3 (RegressAnnotationObject* object,
+ int* inoutarg);
+</code></synopsis>
+
+
+ <p>This is a 3th test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page
new file mode 100644
index 00000000..8f0e1873
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_method</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_method</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_method (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page
new file mode 100644
index 00000000..de87deb0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.notrans"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_notrans</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_notrans</title>
+
+<synopsis><code mime="text/x-csrc">
+GObject* regress_annotation_object_notrans (RegressAnnotationObject* object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>An object, not referenced</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page
new file mode 100644
index 00000000..d244433f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_out</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>outarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_out</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_object_out (RegressAnnotationObject* object,
+ int* outarg);
+</code></synopsis>
+
+
+ <p>This is a test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>outarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page
new file mode 100644
index 00000000..80d4339e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationObject</title>
+
+
+
+ <p>This is an object used to test annotations.</p>
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.AnnotationObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page
new file mode 100644
index 00000000..2fa9f09f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.parse_args"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_parse_args</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>argc</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>char***</api:type>
+ <api:name>argv</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_parse_args</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_parse_args (RegressAnnotationObject* object,
+ int* argc,
+ char*** argv);
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>argc</code></title>
+<p>Length of the argument vector</p>
+</item>
+<item>
+<title><code>argv</code></title>
+<p>Argument vector</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page
new file mode 100644
index 00000000..a52c0ff0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guchar*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_set_data</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_set_data (RegressAnnotationObject* object,
+ guchar* data,
+ gsize length);
+</code></synopsis>
+
+
+ <p>Test taking a guchar * with a length.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>Length of the data</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page
new file mode 100644
index 00000000..dd724207
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data2"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data2</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint8*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_set_data2</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_set_data2 (RegressAnnotationObject* object,
+ gint8* data,
+ gsize length);
+</code></synopsis>
+
+
+ <p>Test taking a gchar * with a length.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>Length of the data</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page
new file mode 100644
index 00000000..86666ef6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data3"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data3</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint8*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_set_data3</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_set_data3 (RegressAnnotationObject* object,
+ guint8* data,
+ gsize length);
+</code></synopsis>
+
+
+ <p>Test taking a gchar * with a length, overriding the array element
+type.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>Length of the data</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page
new file mode 100644
index 00000000..a70d4771
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.string_out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_string_out</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>str_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_string_out</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_annotation_object_string_out (RegressAnnotationObject* object,
+ char** str_out);
+</code></synopsis>
+
+
+ <p>Test returning a string as an out parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>str_out</code></title>
+<p>string return value</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>some boolean</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page
new file mode 100644
index 00000000..3228007b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.use_buffer"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_use_buffer</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guchar*</api:type>
+ <api:name>bytes</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_use_buffer</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_use_buffer (RegressAnnotationObject* object,
+ guchar* bytes);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>bytes</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page
new file mode 100644
index 00000000..76402aab
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.watch"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_watch</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressAnnotationForeachFunc</api:type>
+ <api:name>func</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_watch</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_watch (RegressAnnotationObject* object,
+ RegressAnnotationForeachFunc func,
+ gpointer user_data);
+</code></synopsis>
+
+
+ <p>This is here just for the sake of being overriden by its
+<link xref="Regress.watch_full"/>.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>A <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>func</code></title>
+<p>The callback</p>
+</item>
+<item>
+<title><code>user_data</code></title>
+<p>The callback data</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page
new file mode 100644
index 00000000..1fe2080c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.watch_full"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_watch_full</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressAnnotationForeachFunc</api:type>
+ <api:name>func</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GDestroyNotify</api:type>
+ <api:name>destroy</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_watch_full</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_watch_full (RegressAnnotationObject* object,
+ RegressAnnotationForeachFunc func,
+ gpointer user_data,
+ GDestroyNotify destroy);
+</code></synopsis>
+
+
+ <p>Test overriding via the "Rename To" annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>A <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>func</code></title>
+<p>The callback</p>
+</item>
+<item>
+<title><code>user_data</code></title>
+<p>The callback data</p>
+</item>
+<item>
+<title><code>destroy</code></title>
+<p>Destroy notification</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page
new file mode 100644
index 00000000..ef9436eb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.with_voidp"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_with_voidp</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>void*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_object_with_voidp</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_object_with_voidp (RegressAnnotationObject* object,
+ void* data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+<p>Opaque pointer handle</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page
new file mode 100644
index 00000000..28b8a71b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObjectClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationObjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page
new file mode 100644
index 00000000..341362a9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationStruct"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationStruct</title>
+
+
+
+ <p>This is a test of an array of object in an field of a struct.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page
new file mode 100644
index 00000000..39ebf9cc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooASingle.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooASingle"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooASingle</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page
new file mode 100644
index 00000000..717b5011
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooAddressType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooAddressType"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooAddressType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page
new file mode 100644
index 00000000..38eae39b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect.add"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBRect" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_brect_add</api:name>
+ <api:arg>
+ <api:type>RegressFooBRect*</api:type>
+ <api:name>b1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressFooBRect*</api:type>
+ <api:name>b2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_brect_add</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_brect_add (RegressFooBRect* b1,
+ RegressFooBRect* b2);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>b1</code></title>
+
+</item>
+<item>
+<title><code>b2</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page
new file mode 100644
index 00000000..3ca2281d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBRect" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooBRect*</api:type>
+ </api:returns>
+ <api:name>regress_foo_brect_new</api:name>
+ <api:arg>
+ <api:type>double</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>double</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_brect_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooBRect* regress_foo_brect_new (double x,
+ double y);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page
new file mode 100644
index 00000000..abd6b039
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooBRect</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page
new file mode 100644
index 00000000..1ee353fd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.get_contained_type.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion.get_contained_type"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBUnion" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_foo_bunion_get_contained_type</api:name>
+ <api:arg>
+ <api:type>RegressFooBUnion*</api:type>
+ <api:name>bunion</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_bunion_get_contained_type</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_foo_bunion_get_contained_type (RegressFooBUnion* bunion);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>bunion</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page
new file mode 100644
index 00000000..b760f204
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBUnion" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooBUnion*</api:type>
+ </api:returns>
+ <api:name>regress_foo_bunion_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_bunion_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooBUnion* regress_foo_bunion_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page
new file mode 100644
index 00000000..8644d96e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooBUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page
new file mode 100644
index 00000000..7483641f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_boxed_method</api:name>
+ <api:arg>
+ <api:type>RegressFooBoxed*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_boxed_method</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_boxed_method (RegressFooBoxed* boxed);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page
new file mode 100644
index 00000000..3e3e4f91
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooBoxed*</api:type>
+ </api:returns>
+ <api:name>regress_foo_boxed_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_boxed_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooBoxed* regress_foo_boxed_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page
new file mode 100644
index 00000000..e711c3ec
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooBoxed</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page
new file mode 100644
index 00000000..267ddcba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.page
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBuffer"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooBuffer</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ <item>
+ <code>Regress.FooBuffer</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page
new file mode 100644
index 00000000..6f6469d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBuffer.some_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBuffer" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_buffer_some_method</api:name>
+ <api:arg>
+ <api:type>RegressFooBuffer*</api:type>
+ <api:name>buffer</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_buffer_some_method</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_buffer_some_method (RegressFooBuffer* buffer);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>buffer</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page
new file mode 100644
index 00000000..52feda29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page
new file mode 100644
index 00000000..8694337d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooDBusData.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooDBusData" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_dbus_data_method</api:name>
+ <api:arg>
+ <api:type>RegressFooDBusData*</api:type>
+ <api:name>dbusdata</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_dbus_data_method</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_dbus_data_method (RegressFooDBusData* dbusdata);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>dbusdata</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page
new file mode 100644
index 00000000..09050e7d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooDBusData"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooDBusData</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page
new file mode 100644
index 00000000..80f6c3b1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumFullname.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumFullname"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumFullname</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page
new file mode 100644
index 00000000..b3c71a6f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumNoType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumNoType"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumNoType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page
new file mode 100644
index 00000000..6ecf2dd9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType.method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_foo_enum_type_method</api:name>
+ <api:arg>
+ <api:type>RegressFooEnumType</api:type>
+ <api:name>regress_foo_enum</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_enum_type_method</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_foo_enum_type_method (RegressFooEnumType regress_foo_enum);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>regress_foo_enum</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page
new file mode 100644
index 00000000..6dd3491a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page
new file mode 100644
index 00000000..aa0c6c1b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEnumType.returnv.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType.returnv"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooEnumType</api:type>
+ </api:returns>
+ <api:name>regress_foo_enum_type_returnv</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_enum_type_returnv</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooEnumType regress_foo_enum_type_returnv (int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooError.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.page
new file mode 100644
index 00000000..79bb9d29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooError"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page
new file mode 100644
index 00000000..dde46fb0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooError.quark.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GQuark</api:type>
+ </api:returns>
+ <api:name>regress_foo_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_error_quark</title>
+
+<synopsis><code mime="text/x-csrc">
+GQuark regress_foo_error_quark (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page
new file mode 100644
index 00000000..ce368302
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEvent.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEvent"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooEvent</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page
new file mode 100644
index 00000000..0e3a5555
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventAny.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventAny"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooEventAny</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page
new file mode 100644
index 00000000..27c4c4a7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooEventExpose.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventExpose"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooEventExpose</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page
new file mode 100644
index 00000000..53539d49
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsNoType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooFlagsNoType"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooFlagsNoType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page
new file mode 100644
index 00000000..2b4afeb5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooFlagsType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooFlagsType"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooFlagsType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page
new file mode 100644
index 00000000..217a983b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooForeignStruct" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooForeignStruct*</api:type>
+ </api:returns>
+ <api:name>regress_foo_foreign_struct_copy</api:name>
+ <api:arg>
+ <api:type>RegressFooForeignStruct*</api:type>
+ <api:name>original</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_foreign_struct_copy</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooForeignStruct* regress_foo_foreign_struct_copy (RegressFooForeignStruct* original);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>original</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page
new file mode 100644
index 00000000..7314c1d3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooForeignStruct" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooForeignStruct*</api:type>
+ </api:returns>
+ <api:name>regress_foo_foreign_struct_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_foreign_struct_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooForeignStruct* regress_foo_foreign_struct_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page
new file mode 100644
index 00000000..ee3e5e72
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooForeignStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page
new file mode 100644
index 00000000..b3faca67
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface-do_regress_foo"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterface::do_regress_foo</title>
+
+<synopsis><code mime="text/x-csrc">
+void do_regress_foo (RegressFooInterface* self,
+ int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page
new file mode 100644
index 00000000..7c44fd47
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface.do_regress_foo"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_interface_do_regress_foo</api:name>
+ <api:arg>
+ <api:type>RegressFooInterface*</api:type>
+ <api:name>iface</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_interface_do_regress_foo</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_interface_do_regress_foo (RegressFooInterface* iface,
+ int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>iface</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page
new file mode 100644
index 00000000..7ec29fee
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterface</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.FooInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page
new file mode 100644
index 00000000..a3ad69af
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_interface_static_method</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_interface_static_method</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_interface_static_method (int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page
new file mode 100644
index 00000000..0b900420
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.do_regress_foo.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterfaceIface.do_regress_foo"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterfaceIface.do_regress_foo</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page
new file mode 100644
index 00000000..53b09b41
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterfaceIface.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterfaceIface"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterfaceIface</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page
new file mode 100644
index 00000000..ccfbcfa6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-hidden.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-hidden"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="property" type="guide"/>
+ <title type="link" role="topic">hidden</title>
+
+ </info>
+ <title>Regress.FooObject:hidden</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page
new file mode 100644
index 00000000..f99f3c0d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-read_fn"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject::read_fn</title>
+
+<synopsis><code mime="text/x-csrc">
+void read_fn (RegressFooObject* object,
+ int offset,
+ int length);
+</code></synopsis>
+
+
+ <p>Read some stuff.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>obj</p>
+</item>
+<item>
+<title><code>offset</code></title>
+<p>offset</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>length</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page
new file mode 100644
index 00000000..3a8c1315
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="signal" type="guide"/>
+ <title type="link" role="topic">signal</title>
+
+ </info>
+ <title>Regress.FooObject::signal</title>
+
+<synopsis><code mime="text/x-csrc">
+gchar* signal (GObject object,
+ gpointer p0);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>p0</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page
new file mode 100644
index 00000000..b0ed3c72
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-string.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-string"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="property" type="guide"/>
+ <title type="link" role="topic">string</title>
+
+ </info>
+ <title>Regress.FooObject:string</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page
new file mode 100644
index 00000000..3e3f04ef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-virtual_method"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject::virtual_method</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean virtual_method (RegressFooObject* object,
+ int first_param);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>first_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page
new file mode 100644
index 00000000..801f59ac
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.a_global_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_a_global_method</api:name>
+ <api:arg>
+ <api:type>UtilityObject*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_a_global_method</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_object_a_global_method (UtilityObject* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page
new file mode 100644
index 00000000..82bbc269
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.append_new_stack_layer"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooOtherObject*</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_append_new_stack_layer</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_append_new_stack_layer</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooOtherObject* regress_foo_object_append_new_stack_layer (RegressFooObject* obj,
+ int x);
+</code></synopsis>
+
+
+ <p>This shouldn't be scanned as a constructor.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page
new file mode 100644
index 00000000..6419ed73
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.dup_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>char*</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_dup_name</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_dup_name</title>
+
+<synopsis><code mime="text/x-csrc">
+char* regress_foo_object_dup_name (RegressFooObject* object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page
new file mode 100644
index 00000000..77c8dc8f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.external_type"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>UtilityObject*</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_external_type</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_external_type</title>
+
+<synopsis><code mime="text/x-csrc">
+UtilityObject* regress_foo_object_external_type (RegressFooObject* object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>a <link xref="Regress.FooObject"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>NULL</code> always</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page
new file mode 100644
index 00000000..04c38a20
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.get_default"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooObject*</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_get_default</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_get_default</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooObject* regress_foo_object_get_default (void);
+</code></synopsis>
+
+
+ <p>This function is intended to match clutter_stage_get_default which
+uses a C sugar return type.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>The global <link xref="Regress.FooSubobject"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page
new file mode 100644
index 00000000..68b305bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.get_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const char*</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_get_name</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_get_name</title>
+
+<synopsis><code mime="text/x-csrc">
+const char* regress_foo_object_get_name (RegressFooObject* object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page
new file mode 100644
index 00000000..0cb58ae3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.handle_glyph"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_handle_glyph</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>UtilityGlyph</api:type>
+ <api:name>glyph</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_handle_glyph</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_object_handle_glyph (RegressFooObject* object,
+ UtilityGlyph glyph);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>glyph</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page
new file mode 100644
index 00000000..f643665a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.is_it_time_yet"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_is_it_time_yet</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>time_t</api:type>
+ <api:name>time</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_is_it_time_yet</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_object_is_it_time_yet (RegressFooObject* object,
+ time_t time);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>time</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page
new file mode 100644
index 00000000..75b0e074
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooObject*</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooObject* regress_foo_object_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page
new file mode 100644
index 00000000..069a4213
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.new_as_super"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject*</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_new_as_super</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_new_as_super</title>
+
+<synopsis><code mime="text/x-csrc">
+GObject* regress_foo_object_new_as_super (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page
new file mode 100644
index 00000000..312e93c6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.new_cookie"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooObjectCookie</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_new_cookie</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>target</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_new_cookie</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooObjectCookie regress_foo_object_new_cookie (RegressFooObject* object,
+ const char* target);
+</code></synopsis>
+
+
+ <p>Not sure why this test is here...</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>target</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page
new file mode 100644
index 00000000..fff026c7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page
new file mode 100644
index 00000000..d6415021
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.read"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_read</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>offset</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_read</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_object_read (RegressFooObject* object,
+ int offset,
+ int length);
+</code></synopsis>
+
+
+ <p>Read some stuff.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>obj</p>
+</item>
+<item>
+<title><code>offset</code></title>
+<p>offset</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>length</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page
new file mode 100644
index 00000000..aea1afdc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.skipped_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_skipped_method</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_skipped_method</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_object_skipped_method (RegressFooObject* object);
+</code></synopsis>
+
+
+ <p>This is only useful from C.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>obj</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page
new file mode 100644
index 00000000..9b157bb0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.static_meth"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_static_meth</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_static_meth</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_foo_object_static_meth (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page
new file mode 100644
index 00000000..92d75431
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.take_all"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_take_all</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:varargs/>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_take_all</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_object_take_all (RegressFooObject* object,
+ int x,
+ ...);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>...</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page
new file mode 100644
index 00000000..eea3c15c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.various"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_various</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>void*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GType</api:type>
+ <api:name>some_type</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_various</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_object_various (RegressFooObject* object,
+ void* data,
+ GType some_type);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>some_type</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page
new file mode 100644
index 00000000..3f04cb4a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.virtual_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_virtual_method</api:name>
+ <api:arg>
+ <api:type>RegressFooObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>first_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_object_virtual_method</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_foo_object_virtual_method (RegressFooObject* object,
+ int first_param);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>first_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page
new file mode 100644
index 00000000..9d528385
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObjectClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooObjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page
new file mode 100644
index 00000000..39078bfc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.read_fn.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObjectClass.read_fn"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooObjectClass.read_fn</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page
new file mode 100644
index 00000000..2882c6d7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectClass.virtual_method.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObjectClass.virtual_method"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooObjectClass.virtual_method</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page
new file mode 100644
index 00000000..44a63ab1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObjectCookie.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObjectCookie"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooObjectCookie</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page
new file mode 100644
index 00000000..491d0230
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooOtherObject.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.FooOtherObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooOtherObject</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooOtherObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page
new file mode 100644
index 00000000..84a46bb7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle.add"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooRectangle" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_rectangle_add</api:name>
+ <api:arg>
+ <api:type>RegressFooRectangle*</api:type>
+ <api:name>r1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const RegressFooRectangle*</api:type>
+ <api:name>r2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_rectangle_add</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_rectangle_add (RegressFooRectangle* r1,
+ const RegressFooRectangle* r2);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>r1</code></title>
+<p>add to this rect</p>
+</item>
+<item>
+<title><code>r2</code></title>
+<p>source rectangle</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page
new file mode 100644
index 00000000..b9f16eac
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle.new"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooRectangle" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooRectangle*</api:type>
+ </api:returns>
+ <api:name>regress_foo_rectangle_new</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>width</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>height</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_rectangle_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooRectangle* regress_foo_rectangle_new (int x,
+ int y,
+ int width,
+ int height);
+</code></synopsis>
+
+
+ <p>This is a C convenience constructor; we have to (skip)
+it because it's not a boxed type.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>width</code></title>
+
+</item>
+<item>
+<title><code>height</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page
new file mode 100644
index 00000000..d485de0b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooRectangle</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page
new file mode 100644
index 00000000..0d50e702
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSkippable.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSkippable"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooSkippable</title>
+
+
+
+ <p>Some type that is only interesting from C and should not be
+exposed to language bindings.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page
new file mode 100644
index 00000000..961d19c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooStackLayer.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStackLayer"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooStackLayer</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page
new file mode 100644
index 00000000..65b4f265
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStruct"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page
new file mode 100644
index 00000000..6af09fd2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-destroy-event"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="signal" type="guide"/>
+ <title type="link" role="topic">destroy-event</title>
+
+ </info>
+ <title>Regress.FooSubInterface::destroy-event</title>
+
+<synopsis><code mime="text/x-csrc">
+void destroy-event (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page
new file mode 100644
index 00000000..eb08ec77
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-destroy_event"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::destroy_event</title>
+
+<synopsis><code mime="text/x-csrc">
+void destroy_event (RegressFooSubInterface* self);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page
new file mode 100644
index 00000000..56bdfed6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-do_bar"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::do_bar</title>
+
+<synopsis><code mime="text/x-csrc">
+void do_bar (RegressFooSubInterface* self);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page
new file mode 100644
index 00000000..ac59643a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-do_baz"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::do_baz</title>
+
+<synopsis><code mime="text/x-csrc">
+void do_baz (RegressFooSubInterface* self,
+ GCallback callback,
+ gpointer user_data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page
new file mode 100644
index 00000000..6d7d970c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface.do_bar"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_sub_interface_do_bar</api:name>
+ <api:arg>
+ <api:type>RegressFooSubInterface*</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_sub_interface_do_bar</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_sub_interface_do_bar (RegressFooSubInterface* self);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page
new file mode 100644
index 00000000..bab0d68e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface.do_baz"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_sub_interface_do_baz</api:name>
+ <api:arg>
+ <api:type>RegressFooSubInterface*</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_sub_interface_do_baz</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_sub_interface_do_baz (RegressFooSubInterface* self,
+ GCallback callback,
+ gpointer user_data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page
new file mode 100644
index 00000000..9b25845a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.FooSubInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page
new file mode 100644
index 00000000..95136833
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.destroy_event.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterfaceIface.destroy_event"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterfaceIface.destroy_event</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page
new file mode 100644
index 00000000..ec46cdde
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_bar.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterfaceIface.do_bar"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterfaceIface.do_bar</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page
new file mode 100644
index 00000000..d0f58041
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.do_baz.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterfaceIface.do_baz"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterfaceIface.do_baz</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page
new file mode 100644
index 00000000..f8643cf3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterfaceIface"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterfaceIface</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page
new file mode 100644
index 00000000..c4adff6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubobject.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubobject" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooSubobject*</api:type>
+ </api:returns>
+ <api:name>regress_foo_subobject_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_subobject_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooSubobject* regress_foo_subobject_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page
new file mode 100644
index 00000000..6a70ef71
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.page
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubobject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubobject</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ <item>
+ <code>Regress.FooSubobject</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page
new file mode 100644
index 00000000..499599c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubobjectClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubobjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page
new file mode 100644
index 00000000..6033817f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooThingWithArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooThingWithArray"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooThingWithArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page
new file mode 100644
index 00000000..9746f17e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUnion"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page
new file mode 100644
index 00000000..d281ffb1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooUtilityStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUtilityStruct"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooUtilityStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page
new file mode 100644
index 00000000..a57ea4dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooVarargsCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooVarargsCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooVarargsCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page
new file mode 100644
index 00000000..c389ef05
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooXEvent.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooXEvent"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooXEvent</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page b/tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page
new file mode 100644
index 00000000..b8710cf1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.IntSet.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.IntSet"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.IntSet</title>
+
+
+
+ <p>Compatibility typedef, like telepathy-glib's TpIntSet</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page
new file mode 100644
index 00000000..242fad03
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeGnomeKeyringPasswordSchema.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.LikeGnomeKeyringPasswordSchema</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page
new file mode 100644
index 00000000..3b14aae6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeXklConfigItem"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.LikeXklConfigItem</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page
new file mode 100644
index 00000000..0a4aecb6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LikeXklConfigItem.set_name.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeXklConfigItem.set_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.LikeXklConfigItem" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_like_xkl_config_item_set_name</api:name>
+ <api:arg>
+ <api:type>RegressLikeXklConfigItem*</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>name</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_like_xkl_config_item_set_name</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem* self,
+ const char* name);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>name</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page b/tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page
new file mode 100644
index 00000000..f66aee44
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.PtrArrayAlias.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.PtrArrayAlias"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.PtrArrayAlias</title>
+
+
+
+ <p>Typedef'd GPtrArray for some reason</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page
new file mode 100644
index 00000000..ad13eea6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.SkippedStructure.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.SkippedStructure"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.SkippedStructure</title>
+
+
+
+ <p>This should be skipped, and moreover, all function which
+use it should be.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page
new file mode 100644
index 00000000..384ffb87
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestABCError"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestABCError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page
new file mode 100644
index 00000000..7ed5152f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestABCError.quark.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestABCError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GQuark</api:type>
+ </api:returns>
+ <api:name>regress_test_abc_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_abc_error_quark</title>
+
+<synopsis><code mime="text/x-csrc">
+GQuark regress_test_abc_error_quark (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page
new file mode 100644
index 00000000..40273913
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxed*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_copy</api:name>
+ <api:arg>
+ <api:type>RegressTestBoxed*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_copy</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxed* regress_test_boxed_copy (RegressTestBoxed* boxed);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page
new file mode 100644
index 00000000..26206b63
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.equals"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_equals</api:name>
+ <api:arg>
+ <api:type>RegressTestBoxed*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestBoxed*</api:type>
+ <api:name>other</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_equals</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_boxed_equals (RegressTestBoxed* boxed,
+ RegressTestBoxed* other);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>other</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page
new file mode 100644
index 00000000..5e05794e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxed*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxed* regress_test_boxed_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page
new file mode 100644
index 00000000..2bc81924
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new_alternative_constructor1"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxed*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new_alternative_constructor1</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_new_alternative_constructor1</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxed* regress_test_boxed_new_alternative_constructor1 (int i);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page
new file mode 100644
index 00000000..e43127e7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new_alternative_constructor2"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxed*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new_alternative_constructor2</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>j</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_new_alternative_constructor2</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxed* regress_test_boxed_new_alternative_constructor2 (int i,
+ int j);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+
+</item>
+<item>
+<title><code>j</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page
new file mode 100644
index 00000000..ac75d2c2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new_alternative_constructor3"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxed*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new_alternative_constructor3</api:name>
+ <api:arg>
+ <api:type>char*</api:type>
+ <api:name>s</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_new_alternative_constructor3</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxed* regress_test_boxed_new_alternative_constructor3 (char* s);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>s</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page
new file mode 100644
index 00000000..d6675327
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxed</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page
new file mode 100644
index 00000000..df0da11c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxedB*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_b_copy</api:name>
+ <api:arg>
+ <api:type>RegressTestBoxedB*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_b_copy</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxedB* regress_test_boxed_b_copy (RegressTestBoxedB* boxed);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page
new file mode 100644
index 00000000..7a0bc2bc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedB" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxedB*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_b_new</api:name>
+ <api:arg>
+ <api:type>gint8</api:type>
+ <api:name>some_int8</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>glong</api:type>
+ <api:name>some_long</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_b_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxedB* regress_test_boxed_b_new (gint8 some_int8,
+ glong some_long);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>some_int8</code></title>
+
+</item>
+<item>
+<title><code>some_long</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page
new file mode 100644
index 00000000..856d7da4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page
new file mode 100644
index 00000000..4657b526
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedC.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedC" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxedC*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_c_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_c_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxedC* regress_test_boxed_c_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page
new file mode 100644
index 00000000..c890545d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedC"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedC</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page
new file mode 100644
index 00000000..ed99996a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxedD*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_copy</api:name>
+ <api:arg>
+ <api:type>RegressTestBoxedD*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_d_copy</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxedD* regress_test_boxed_d_copy (RegressTestBoxedD* boxed);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page
new file mode 100644
index 00000000..4622fcdc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.free"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_free</api:name>
+ <api:arg>
+ <api:type>RegressTestBoxedD*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_d_free</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_boxed_d_free (RegressTestBoxedD* boxed);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page
new file mode 100644
index 00000000..bbd78ab2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.get_magic"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_get_magic</api:name>
+ <api:arg>
+ <api:type>RegressTestBoxedD*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_d_get_magic</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_boxed_d_get_magic (RegressTestBoxedD* boxed);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page
new file mode 100644
index 00000000..50345623
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestBoxedD*</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_new</api:name>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>a_string</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a_int</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boxed_d_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestBoxedD* regress_test_boxed_d_new (const char* a_string,
+ int a_int);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>a_string</code></title>
+
+</item>
+<item>
+<title><code>a_int</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page
new file mode 100644
index 00000000..b5110c2c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedD</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page
new file mode 100644
index 00000000..bed84d50
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page
new file mode 100644
index 00000000..7d3f7b83
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackArray"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page
new file mode 100644
index 00000000..0b8fca1d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackFull.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackFull"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackFull</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page
new file mode 100644
index 00000000..804382f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackGError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackGError"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackGError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page
new file mode 100644
index 00000000..06ebb706
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackHashtable.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackHashtable"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackHashtable</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page
new file mode 100644
index 00000000..28b21ea4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackOwnedGError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackOwnedGError"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackOwnedGError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page
new file mode 100644
index 00000000..286c830a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestCallbackUserData.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackUserData"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackUserData</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page
new file mode 100644
index 00000000..b485450d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestDEFError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestDEFError"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestDEFError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page
new file mode 100644
index 00000000..a672d7ee
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnum"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnum</title>
+
+
+
+ <p>By purpose, not all members have documentation</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page
new file mode 100644
index 00000000..542ba60c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnum.param.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnum.param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const gchar*</api:type>
+ </api:returns>
+ <api:name>regress_test_enum_param</api:name>
+ <api:arg>
+ <api:type>RegressTestEnum</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_enum_param</title>
+
+<synopsis><code mime="text/x-csrc">
+const gchar* regress_test_enum_param (RegressTestEnum e);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page
new file mode 100644
index 00000000..cffae730
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnumNoGEnum"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnumNoGEnum</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page
new file mode 100644
index 00000000..81a9aa9a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumUnsigned.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnumUnsigned"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnumUnsigned</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestError.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.page
new file mode 100644
index 00000000..97f829b2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestError"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page
new file mode 100644
index 00000000..9140ac56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestError.quark.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GQuark</api:type>
+ </api:returns>
+ <api:name>regress_test_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_error_quark</title>
+
+<synopsis><code mime="text/x-csrc">
+GQuark regress_test_error_quark (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page
new file mode 100644
index 00000000..d5bfeeb4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFlags.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFlags"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFlags</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page
new file mode 100644
index 00000000..5f4a3a5e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFloating.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFloating" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestFloating*</api:type>
+ </api:returns>
+ <api:name>regress_test_floating_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_floating_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestFloating* regress_test_floating_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>A new floating <link xref="Regress.TestFloating"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page
new file mode 100644
index 00000000..11899127
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.page
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFloating"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFloating</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>GObject.InitiallyUnowned</code>
+ <item>
+ <code>Regress.TestFloating</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page
new file mode 100644
index 00000000..e7d5236c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloatingClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFloatingClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestFloatingClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page
new file mode 100644
index 00000000..473f1afe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObject</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestFundamentalObject</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page
new file mode 100644
index 00000000..3e63b1e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject.ref"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestFundamentalObject*</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_object_ref</api:name>
+ <api:arg>
+ <api:type>RegressTestFundamentalObject*</api:type>
+ <api:name>fundamental_object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_fundamental_object_ref</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestFundamentalObject* regress_test_fundamental_object_ref (RegressTestFundamentalObject* fundamental_object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>fundamental_object</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>A new <link xref="Regress.TestFundamentalObject"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page
new file mode 100644
index 00000000..6f5c16b4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject.unref"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_object_unref</api:name>
+ <api:arg>
+ <api:type>RegressTestFundamentalObject*</api:type>
+ <api:name>fundamental_object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_fundamental_object_unref</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_fundamental_object_unref (RegressTestFundamentalObject* fundamental_object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>fundamental_object</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page
new file mode 100644
index 00000000..443ce70f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page
new file mode 100644
index 00000000..73a33285
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectCopyFunction.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectCopyFunction"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObjectCopyFunction</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page
new file mode 100644
index 00000000..df0e8fba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObjectFinalizeFunction.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectFinalizeFunction"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObjectFinalizeFunction</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page
new file mode 100644
index 00000000..a4495401
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObject.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalSubObject"
+ group="constructor"
+ type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestFundamentalSubObject*</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_sub_object_new</api:name>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_fundamental_sub_object_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestFundamentalSubObject* regress_test_fundamental_sub_object_new (const char* data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page
new file mode 100644
index 00000000..6ed36089
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalSubObject</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestFundamentalObject</code>
+ <item>
+ <code>Regress.TestFundamentalSubObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page
new file mode 100644
index 00000000..79e14d5a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObjectClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalSubObjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page
new file mode 100644
index 00000000..24bd9c4a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.do_foo"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_do_foo</api:name>
+ <api:arg>
+ <api:type>RegressTestInheritDrawable*</api:type>
+ <api:name>drawable</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_inherit_drawable_do_foo</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable* drawable,
+ int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>drawable</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
new file mode 100644
index 00000000..e90dcd18
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.do_foo_maybe_throw"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_do_foo_maybe_throw</api:name>
+ <api:arg>
+ <api:type>RegressTestInheritDrawable*</api:type>
+ <api:name>drawable</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_inherit_drawable_do_foo_maybe_throw</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawable* drawable,
+ int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>drawable</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page
new file mode 100644
index 00000000..9ab00c6e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.get_origin"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_get_origin</api:name>
+ <api:arg>
+ <api:type>RegressTestInheritDrawable*</api:type>
+ <api:name>drawable</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_inherit_drawable_get_origin</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable* drawable,
+ int* x,
+ int* y);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>drawable</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page
new file mode 100644
index 00000000..c9c778e8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.get_size"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_get_size</api:name>
+ <api:arg>
+ <api:type>RegressTestInheritDrawable*</api:type>
+ <api:name>drawable</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint*</api:type>
+ <api:name>width</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint*</api:type>
+ <api:name>height</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_inherit_drawable_get_size</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_inherit_drawable_get_size (RegressTestInheritDrawable* drawable,
+ guint* width,
+ guint* height);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>drawable</code></title>
+
+</item>
+<item>
+<title><code>width</code></title>
+
+</item>
+<item>
+<title><code>height</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page
new file mode 100644
index 00000000..20ef3ff7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestInheritDrawable</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestInheritDrawable</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page
new file mode 100644
index 00000000..2579f564
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawableClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawableClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestInheritDrawableClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page
new file mode 100644
index 00000000..3cf69e80
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritPixmapObjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritPixmapObjectClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestInheritPixmapObjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page
new file mode 100644
index 00000000..1c53fd47
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterface.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestInterface</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page
new file mode 100644
index 00000000..a643e5dc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInterfaceIface.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInterfaceIface"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestInterfaceIface</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page
new file mode 100644
index 00000000..37b5dd32
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-all"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">all</title>
+
+ </info>
+ <title>Regress.TestObj::all</title>
+
+<synopsis><code mime="text/x-csrc">
+void all (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page
new file mode 100644
index 00000000..f3447b5a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-allow_none_vfunc"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj::allow_none_vfunc</title>
+
+<synopsis><code mime="text/x-csrc">
+void allow_none_vfunc (RegressTestObj* obj,
+ RegressTestObj* two);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+<p>Another object</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page
new file mode 100644
index 00000000..4873a1c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-bare.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-bare"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">bare</title>
+
+ </info>
+ <title>Regress.TestObj:bare</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page
new file mode 100644
index 00000000..460104bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-boxed.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-boxed"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">boxed</title>
+
+ </info>
+ <title>Regress.TestObj:boxed</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page
new file mode 100644
index 00000000..bef9537e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-cleanup"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">cleanup</title>
+
+ </info>
+ <title>Regress.TestObj::cleanup</title>
+
+<synopsis><code mime="text/x-csrc">
+void cleanup (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page
new file mode 100644
index 00000000..bb907ab8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-double.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-double"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">double</title>
+
+ </info>
+ <title>Regress.TestObj:double</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page
new file mode 100644
index 00000000..5600be6f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-first"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">first</title>
+
+ </info>
+ <title>Regress.TestObj::first</title>
+
+<synopsis><code mime="text/x-csrc">
+void first (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page
new file mode 100644
index 00000000..a981cf86
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-float.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-float"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">float</title>
+
+ </info>
+ <title>Regress.TestObj:float</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page
new file mode 100644
index 00000000..2fbf9d93
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-gtype.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-gtype"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">gtype</title>
+
+ </info>
+ <title>Regress.TestObj:gtype</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page
new file mode 100644
index 00000000..003425bb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table-old.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-hash-table-old"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">hash-table-old</title>
+
+ </info>
+ <title>Regress.TestObj:hash-table-old</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page
new file mode 100644
index 00000000..f11e4657
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-hash-table.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-hash-table"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">hash-table</title>
+
+ </info>
+ <title>Regress.TestObj:hash-table</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page
new file mode 100644
index 00000000..95a4902c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-int.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-int"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">int</title>
+
+ </info>
+ <title>Regress.TestObj:int</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page
new file mode 100644
index 00000000..680636d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list-old.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-list-old"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">list-old</title>
+
+ </info>
+ <title>Regress.TestObj:list-old</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page
new file mode 100644
index 00000000..7ea5130b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-list.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-list"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">list</title>
+
+ </info>
+ <title>Regress.TestObj:list</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page
new file mode 100644
index 00000000..43203655
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-matrix"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj::matrix</title>
+
+<synopsis><code mime="text/x-csrc">
+int matrix (RegressTestObj* obj,
+ const char* somestr);
+</code></synopsis>
+
+
+ <p>This method is virtual. Notably its name differs from the virtual
+slot name, which makes it useful for testing bindings handle this
+case.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>somestr</code></title>
+<p>Meaningless string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
new file mode 100644
index 00000000..9ec983b1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-array-len-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-array-len-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-array-len-prop</title>
+
+<synopsis><code mime="text/x-csrc">
+void sig-with-array-len-prop (guint* arr,
+ gint len);
+</code></synopsis>
+
+
+ <p>This test signal similar to GSettings::change-event</p>
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+<p>numbers, or <code>NULL</code></p>
+</item>
+<item>
+<title><code>len</code></title>
+<p>length of <code>arr</code>, or 0</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page
new file mode 100644
index 00000000..05b911c2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-array-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-array-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-array-prop</title>
+
+<synopsis><code mime="text/x-csrc">
+void sig-with-array-prop (guint* arr);
+</code></synopsis>
+
+
+ <p>This test signal is like TelepathyGlib's
+ TpChannel:: group-members-changed-detailed:</p>
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+<p>numbers</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page
new file mode 100644
index 00000000..c2cb8822
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-foreign-struct"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-foreign-struct</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-foreign-struct</title>
+
+<synopsis><code mime="text/x-csrc">
+void sig-with-foreign-struct (cairo_t cr);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>cr</code></title>
+<p>A cairo context.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page
new file mode 100644
index 00000000..9ddd536c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-hash-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-hash-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-hash-prop</title>
+
+<synopsis><code mime="text/x-csrc">
+void sig-with-hash-prop (&lt;map&gt; hash);
+</code></synopsis>
+
+
+ <p>This test signal is like TelepathyGlib's
+ TpAccount::status-changed</p>
+
+
+
+
+<terms>
+<item>
+<title><code>hash</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page
new file mode 100644
index 00000000..d8a90378
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-int64-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-int64-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-int64-prop</title>
+
+<synopsis><code mime="text/x-csrc">
+gint64 sig-with-int64-prop (gint64 i);
+</code></synopsis>
+
+
+ <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+the introspection client langage.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page
new file mode 100644
index 00000000..7f041e23
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-intarray-ret"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-intarray-ret</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-intarray-ret</title>
+
+<synopsis><code mime="text/x-csrc">
+None sig-with-intarray-ret (gint i);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page
new file mode 100644
index 00000000..9d69a6fe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-obj"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-obj</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-obj</title>
+
+<synopsis><code mime="text/x-csrc">
+void sig-with-obj (GObject obj);
+</code></synopsis>
+
+
+ <p>Test transfer none GObject as a param (tests refcounting).
+Use with regress_test_obj_emit_sig_with_obj</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A newly created RegressTestObj</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page
new file mode 100644
index 00000000..919d38f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-strv"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-strv</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-strv</title>
+
+<synopsis><code mime="text/x-csrc">
+void sig-with-strv (utf8* strs);
+</code></synopsis>
+
+
+ <p>Test GStrv as a param.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>strs</code></title>
+<p>strings</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page
new file mode 100644
index 00000000..6ee6bda3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-uint64-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-uint64-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-uint64-prop</title>
+
+<synopsis><code mime="text/x-csrc">
+guint64 sig-with-uint64-prop (guint64 i);
+</code></synopsis>
+
+
+ <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+the introspection client langage.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page
new file mode 100644
index 00000000..1ae48038
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-string.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-string"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">string</title>
+
+ </info>
+ <title>Regress.TestObj:string</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page
new file mode 100644
index 00000000..1ffe66e4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-test-with-static-scope-arg"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">test-with-static-scope-arg</title>
+
+ </info>
+ <title>Regress.TestObj::test-with-static-scope-arg</title>
+
+<synopsis><code mime="text/x-csrc">
+void test-with-static-scope-arg (RegressTestSimpleBoxedA object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page
new file mode 100644
index 00000000..15599c6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-test"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">test</title>
+
+ </info>
+ <title>Regress.TestObj::test</title>
+
+<synopsis><code mime="text/x-csrc">
+void test (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page
new file mode 100644
index 00000000..8efd1619
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.constructor"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestObj*</api:type>
+ </api:returns>
+ <api:name>regress_constructor</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_constructor</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestObj* regress_constructor (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page
new file mode 100644
index 00000000..bc4e7627
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.do_matrix"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_do_matrix</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>somestr</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_do_matrix</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_obj_do_matrix (RegressTestObj* obj,
+ const char* somestr);
+</code></synopsis>
+
+
+ <p>This method is virtual. Notably its name differs from the virtual
+slot name, which makes it useful for testing bindings handle this
+case.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>somestr</code></title>
+<p>Meaningless string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
new file mode 100644
index 00000000..1ba84366
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_foreign_struct"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_foreign_struct</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_emit_sig_with_foreign_struct</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page
new file mode 100644
index 00000000..24f58265
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_int64"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_int64</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_emit_sig_with_int64</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_emit_sig_with_int64 (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page
new file mode 100644
index 00000000..e0d123e1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_obj"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_obj</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_emit_sig_with_obj</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_emit_sig_with_obj (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page
new file mode 100644
index 00000000..0c2c68c2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_uint64"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_uint64</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_emit_sig_with_uint64</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_emit_sig_with_uint64 (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page
new file mode 100644
index 00000000..92bfa2db
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.forced_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_forced_method</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_forced_method</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_forced_method (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page
new file mode 100644
index 00000000..74692389
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.instance_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_instance_method</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_instance_method</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_obj_instance_method (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page
new file mode 100644
index 00000000..668096a2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.instance_method_callback"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_instance_method_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_instance_method_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_instance_method_callback (RegressTestObj* obj,
+ RegressTestCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page
new file mode 100644
index 00000000..e931f7da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestObj*</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_new</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestObj* regress_test_obj_new (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page
new file mode 100644
index 00000000..d2ec5f63
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.new_callback"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestObj*</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_new_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GDestroyNotify</api:type>
+ <api:name>notify</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_new_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestObj* regress_test_obj_new_callback (RegressTestCallbackUserData callback,
+ gpointer user_data,
+ GDestroyNotify notify);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>notify</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page
new file mode 100644
index 00000000..a77e915a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.new_from_file"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestObj*</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_new_from_file</api:name>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_new_from_file</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestObj* regress_test_obj_new_from_file (const char* x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page
new file mode 100644
index 00000000..c86b4b21
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_null_out</api:name>
+ <api:arg>
+ <api:type>RegressTestObj**</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_null_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_null_out (RegressTestObj** obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page
new file mode 100644
index 00000000..42f26db1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestObj</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page
new file mode 100644
index 00000000..160b8d2b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.set_bare"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_set_bare</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject*</api:type>
+ <api:name>bare</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_set_bare</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_set_bare (RegressTestObj* obj,
+ GObject* bare);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>bare</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page
new file mode 100644
index 00000000..333d170a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_inout_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_inout_param</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gdouble</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_skip_inout_param</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_obj_skip_inout_param (RegressTestObj* obj,
+ gint a,
+ gint* out_b,
+ gdouble c,
+ gint* inout_d,
+ gint* out_sum,
+ gint num1,
+ gint num2);
+</code></synopsis>
+
+
+ <p>Check that the out value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/>.</p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page
new file mode 100644
index 00000000..1df6c18e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_out_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_out_param</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gdouble</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_skip_out_param</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_obj_skip_out_param (RegressTestObj* obj,
+ gint a,
+ gint* out_b,
+ gdouble c,
+ gint* inout_d,
+ gint* out_sum,
+ gint num1,
+ gint num2);
+</code></synopsis>
+
+
+ <p>Check that the out value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/>.</p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page
new file mode 100644
index 00000000..deca81bd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_param</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gdouble</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_skip_param</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_obj_skip_param (RegressTestObj* obj,
+ gint a,
+ gint* out_b,
+ gdouble c,
+ gint* inout_d,
+ gint* out_sum,
+ gint num1,
+ gint num2);
+</code></synopsis>
+
+
+ <p>Check that a parameter is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/>.</p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page
new file mode 100644
index 00000000..47402c99
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_return_val"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_return_val</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gdouble</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint*</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_skip_return_val</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_obj_skip_return_val (RegressTestObj* obj,
+ gint a,
+ gint* out_b,
+ gdouble c,
+ gint* inout_d,
+ gint* out_sum,
+ gint num1,
+ gint num2);
+</code></synopsis>
+
+
+ <p>Check that the return value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>a <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>A return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page
new file mode 100644
index 00000000..b590de21
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_return_val_no_out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_return_val_no_out</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_skip_return_val_no_out</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_obj_skip_return_val_no_out (RegressTestObj* obj,
+ gint a);
+</code></synopsis>
+
+
+ <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
+raise an error.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>a <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page
new file mode 100644
index 00000000..8e5c9b1e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>double</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_static_method</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_static_method</title>
+
+<synopsis><code mime="text/x-csrc">
+double regress_test_obj_static_method (int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page
new file mode 100644
index 00000000..8058ac01
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.static_method_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_static_method_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_static_method_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_static_method_callback (RegressTestCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page
new file mode 100644
index 00000000..3e2fb61f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.torture_signature_0"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_torture_signature_0</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>double*</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_torture_signature_0</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_obj_torture_signature_0 (RegressTestObj* obj,
+ int x,
+ double* y,
+ int* z,
+ const char* foo,
+ int* q,
+ guint m);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page
new file mode 100644
index 00000000..37e1ad21
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page
@@ -0,0 +1,102 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.torture_signature_1"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_torture_signature_1</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>double*</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_obj_torture_signature_1</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_obj_torture_signature_1 (RegressTestObj* obj,
+ int x,
+ double* y,
+ int* z,
+ const char* foo,
+ int* q,
+ guint m);
+</code></synopsis>
+
+
+ <p>This function throws an error if m is odd.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page
new file mode 100644
index 00000000..3aec1433
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved1.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObjClass._regress_reserved1"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestObjClass._regress_reserved1</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page
new file mode 100644
index 00000000..8bfc4d19
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass._regress_reserved2.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObjClass._regress_reserved2"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestObjClass._regress_reserved2</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page
new file mode 100644
index 00000000..b45f05d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.allow_none_vfunc.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObjClass.allow_none_vfunc"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestObjClass.allow_none_vfunc</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page
new file mode 100644
index 00000000..312b198e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.matrix.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObjClass.matrix"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestObjClass.matrix</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page
new file mode 100644
index 00000000..86db7488
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObjClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObjClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestObjClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page
new file mode 100644
index 00000000..7d2d53ba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestOtherError"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestOtherError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page
new file mode 100644
index 00000000..4ed8d539
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestOtherError.quark.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestOtherError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GQuark</api:type>
+ </api:returns>
+ <api:name>regress_test_unconventional_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_unconventional_error_quark</title>
+
+<synopsis><code mime="text/x-csrc">
+GQuark regress_test_unconventional_error_quark (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page
new file mode 100644
index 00000000..66b477d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateEnum.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateEnum"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestPrivateEnum</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page
new file mode 100644
index 00000000..5d55c80e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestPrivateStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateStruct"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestPrivateStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page
new file mode 100644
index 00000000..44c3cadb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestReferenceEnum.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestReferenceEnum"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestReferenceEnum</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page
new file mode 100644
index 00000000..628186a0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.const_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const RegressTestSimpleBoxedA*</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_const_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_simple_boxed_a_const_return</title>
+
+<synopsis><code mime="text/x-csrc">
+const RegressTestSimpleBoxedA* regress_test_simple_boxed_a_const_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page
new file mode 100644
index 00000000..4e7cf0e8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestSimpleBoxedA*</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_copy</api:name>
+ <api:arg>
+ <api:type>RegressTestSimpleBoxedA*</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_simple_boxed_a_copy</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestSimpleBoxedA* regress_test_simple_boxed_a_copy (RegressTestSimpleBoxedA* a);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page
new file mode 100644
index 00000000..5e5dcbda
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.equals"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_equals</api:name>
+ <api:arg>
+ <api:type>RegressTestSimpleBoxedA*</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestSimpleBoxedA*</api:type>
+ <api:name>other_a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_simple_boxed_a_equals</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_simple_boxed_a_equals (RegressTestSimpleBoxedA* a,
+ RegressTestSimpleBoxedA* other_a);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+
+</item>
+<item>
+<title><code>other_a</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page
new file mode 100644
index 00000000..08f968fe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page
new file mode 100644
index 00000000..fd593150
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestSimpleBoxedB*</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_b_copy</api:name>
+ <api:arg>
+ <api:type>RegressTestSimpleBoxedB*</api:type>
+ <api:name>b</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_simple_boxed_b_copy</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestSimpleBoxedB* regress_test_simple_boxed_b_copy (RegressTestSimpleBoxedB* b);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>b</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page
new file mode 100644
index 00000000..2ed2304d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleBoxedB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page
new file mode 100644
index 00000000..f8157820
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page
new file mode 100644
index 00000000..9b4d353b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA.clone"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_a_clone</api:name>
+ <api:arg>
+ <api:type>RegressTestStructA*</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestStructA*</api:type>
+ <api:name>a_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_struct_a_clone</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_struct_a_clone (RegressTestStructA* a,
+ RegressTestStructA* a_out);
+</code></synopsis>
+
+
+ <p>Make a copy of a RegressTestStructA</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>the structure</p>
+</item>
+<item>
+<title><code>a_out</code></title>
+<p>the cloned structure</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page
new file mode 100644
index 00000000..22a1e907
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructA</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page
new file mode 100644
index 00000000..befbd7ce
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA.parse"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructA" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_a_parse</api:name>
+ <api:arg>
+ <api:type>RegressTestStructA*</api:type>
+ <api:name>a_out</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const gchar*</api:type>
+ <api:name>string</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_struct_a_parse</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_struct_a_parse (RegressTestStructA* a_out,
+ const gchar* string);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>a_out</code></title>
+<p>the structure that is to be filled</p>
+</item>
+<item>
+<title><code>string</code></title>
+<p>ignored</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page
new file mode 100644
index 00000000..b3a9f993
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB.clone"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_b_clone</api:name>
+ <api:arg>
+ <api:type>RegressTestStructB*</api:type>
+ <api:name>b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestStructB*</api:type>
+ <api:name>b_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_struct_b_clone</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_struct_b_clone (RegressTestStructB* b,
+ RegressTestStructB* b_out);
+</code></synopsis>
+
+
+ <p>Make a copy of a RegressTestStructB</p>
+
+
+
+
+<terms>
+<item>
+<title><code>b</code></title>
+<p>the structure</p>
+</item>
+<item>
+<title><code>b_out</code></title>
+<p>the cloned structure</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page
new file mode 100644
index 00000000..4ed2b54c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page
new file mode 100644
index 00000000..f208fcd8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructC.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructC"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructC</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page
new file mode 100644
index 00000000..f791d70b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructD.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructD</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page
new file mode 100644
index 00000000..ccc8bbd8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructE</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page
new file mode 100644
index 00000000..3b81e621
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructE__some_union__union.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructE__some_union__union</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page
new file mode 100644
index 00000000..74e8483f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructF.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructF</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page
new file mode 100644
index 00000000..7d5ed650
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray.frob"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructFixedArray" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_fixed_array_frob</api:name>
+ <api:arg>
+ <api:type>RegressTestStructFixedArray*</api:type>
+ <api:name>str</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_struct_fixed_array_frob</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray* str);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>str</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page
new file mode 100644
index 00000000..f33eed98
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructFixedArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page
new file mode 100644
index 00000000..fa401f55
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.instance_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_instance_method</api:name>
+ <api:arg>
+ <api:type>RegressTestSubObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_sub_obj_instance_method</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_sub_obj_instance_method (RegressTestSubObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page
new file mode 100644
index 00000000..fbff9d9f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestObj*</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_sub_obj_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestObj* regress_test_sub_obj_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page
new file mode 100644
index 00000000..7c6cb98d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.page
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestSubObj</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestObj</code>
+ <item>
+ <code>Regress.TestSubObj</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page
new file mode 100644
index 00000000..5497c250
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.unset_bare"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_unset_bare</api:name>
+ <api:arg>
+ <api:type>RegressTestSubObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_sub_obj_unset_bare</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_sub_obj_unset_bare (RegressTestSubObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page
new file mode 100644
index 00000000..89543341
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObjClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObjClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestSubObjClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page
new file mode 100644
index 00000000..e0a7bc09
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestTypeGUInt64.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestTypeGUInt64"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestTypeGUInt64</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page
new file mode 100644
index 00000000..47ad7bed
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x-testbool.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x-testbool"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="property" type="guide"/>
+ <title type="link" role="topic">testbool</title>
+
+ </info>
+ <title>Regress.TestWi8021x:testbool</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page
new file mode 100644
index 00000000..9153172c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.get_testbool"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_get_testbool</api:name>
+ <api:arg>
+ <api:type>RegressTestWi8021x*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_wi_802_1x_get_testbool</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_wi_802_1x_get_testbool (RegressTestWi8021x* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page
new file mode 100644
index 00000000..7afe8b1b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestWi8021x*</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_wi_802_1x_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestWi8021x* regress_test_wi_802_1x_new (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page
new file mode 100644
index 00000000..29658734
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestWi8021x</title>
+
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestWi8021x</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-csrc"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page
new file mode 100644
index 00000000..bad3b1d0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.set_testbool"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_set_testbool</api:name>
+ <api:arg>
+ <api:type>RegressTestWi8021x*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gboolean</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_wi_802_1x_set_testbool</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_wi_802_1x_set_testbool (RegressTestWi8021x* obj,
+ gboolean v);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>v</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page
new file mode 100644
index 00000000..c0e98dfb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_static_method</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_wi_802_1x_static_method</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_wi_802_1x_static_method (int x);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page
new file mode 100644
index 00000000..59593031
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021xClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021xClass"
+ type="topic"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestWi8021xClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page b/tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page
new file mode 100644
index 00000000..6b7d031c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.VaListAlias.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.VaListAlias"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.VaListAlias</title>
+
+
+
+ <p>Typedef'd va_list for additional reasons</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page b/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page
new file mode 100644
index 00000000..769da09a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.aliased_caller_alloc"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_aliased_caller_alloc</api:name>
+ <api:arg>
+ <api:type>RegressAliasedTestBoxed*</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_aliased_caller_alloc</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_aliased_caller_alloc (RegressAliasedTestBoxed* boxed);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page
new file mode 100644
index 00000000..dbf8b828
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_attribute_func"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_annotation_attribute_func</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const gchar*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_attribute_func</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_annotation_attribute_func (RegressAnnotationObject* object,
+ const gchar* data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>A <link xref="Regress.AnnotationObject"/>.</p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>Some data.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>The return value.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page
new file mode 100644
index 00000000..2a474a5e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_custom_destroy"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_custom_destroy</api:name>
+ <api:arg>
+ <api:type>RegressAnnotationCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressAnnotationNotifyFunc</api:type>
+ <api:name>destroy</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_custom_destroy</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_custom_destroy (RegressAnnotationCallback callback,
+ RegressAnnotationNotifyFunc destroy,
+ gpointer data);
+</code></synopsis>
+
+
+ <p>Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+<p>Destroy notification</p>
+</item>
+<item>
+<title><code>destroy</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page
new file mode 100644
index 00000000..a76bade1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_get_source_file"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>char*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_get_source_file</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_get_source_file</title>
+
+<synopsis><code mime="text/x-csrc">
+char* regress_annotation_get_source_file (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>Source file</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page
new file mode 100644
index 00000000..d2f479a1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_init"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_init</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>argc</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>char***</api:type>
+ <api:name>argv</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_init</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_init (int* argc,
+ char*** argv);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>argc</code></title>
+<p>The number of args.</p>
+</item>
+<item>
+<title><code>argv</code></title>
+<p>The arguments.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page
new file mode 100644
index 00000000..e0399cd0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_invalid_regress_annotation"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_invalid_regress_annotation</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_invalid_regress_annotation</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_invalid_regress_annotation (int foo);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+<p>some text (e.g. example) or else</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page
new file mode 100644
index 00000000..3b83de9a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_ptr_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_ptr_array</api:name>
+ <api:arg>
+ <api:type>GValue*</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_ptr_array</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_ptr_array (GValue* array);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+<p>the array</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page
new file mode 100644
index 00000000..d13fee56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_return_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_return_array</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_return_array</title>
+
+<synopsis><code mime="text/x-csrc">
+char** regress_annotation_return_array (int* length);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>length</code></title>
+<p>Number of return values</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>The return value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page
new file mode 100644
index 00000000..2e484581
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_return_filename"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gchar*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_return_filename</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_return_filename</title>
+
+<synopsis><code mime="text/x-csrc">
+gchar* regress_annotation_return_filename (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>An annotated filename</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page
new file mode 100644
index 00000000..84c616f9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_set_source_file"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_set_source_file</api:name>
+ <api:arg>
+ <api:type>char*</api:type>
+ <api:name>fname</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_set_source_file</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_set_source_file (char* fname);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>fname</code></title>
+<p>Source file</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page
new file mode 100644
index 00000000..39cd529d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_space_after_comment_bug631690.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_space_after_comment_bug631690"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_space_after_comment_bug631690</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_space_after_comment_bug631690</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_space_after_comment_bug631690 (void);
+</code></synopsis>
+
+
+ <p>Explicitly test having a space after the ** here.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page
new file mode 100644
index 00000000..5d3813d7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_array_length"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_array_length</api:name>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>n_properties</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>utf8*</api:type>
+ <api:name>properties</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_string_array_length</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_string_array_length (guint n_properties,
+ utf8* properties);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_properties</code></title>
+
+</item>
+<item>
+<title><code>properties</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page
new file mode 100644
index 00000000..8c685547
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_zero_terminated"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_zero_terminated</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_string_zero_terminated</title>
+
+<synopsis><code mime="text/x-csrc">
+char** regress_annotation_string_zero_terminated (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>The return value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page
new file mode 100644
index 00000000..13eb1ca1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_zero_terminated_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_zero_terminated_out</api:name>
+ <api:arg>
+ <api:type>char***</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_string_zero_terminated_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_string_zero_terminated_out (char*** out);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page
new file mode 100644
index 00000000..6fc0ad4b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_test_parsing_bug630862"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_test_parsing_bug630862</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_test_parsing_bug630862</title>
+
+<synopsis><code mime="text/x-csrc">
+GObject* regress_annotation_test_parsing_bug630862 (void);
+</code></synopsis>
+
+
+ <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>An object, note the colon:in here</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page
new file mode 100644
index 00000000..4db50ca2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_transfer_floating"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject*</api:type>
+ </api:returns>
+ <api:name>regress_annotation_transfer_floating</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_transfer_floating</title>
+
+<synopsis><code mime="text/x-csrc">
+GObject* regress_annotation_transfer_floating (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>A floating object</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page
new file mode 100644
index 00000000..f12a3cf8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_versioned.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_versioned"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_versioned</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_annotation_versioned</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_annotation_versioned (void);
+</code></synopsis>
+
+
+
+
+
+ <p>Since 0.6</p>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page b/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page
new file mode 100644
index 00000000..75bc68c6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.atest_error_quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GQuark</api:type>
+ </api:returns>
+ <api:name>regress_atest_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_atest_error_quark</title>
+
+<synopsis><code mime="text/x-csrc">
+GQuark regress_atest_error_quark (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page
new file mode 100644
index 00000000..eadb6136
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_async_ready_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_async_ready_callback</api:name>
+ <api:arg>
+ <api:type>GCancellable*</api:type>
+ <api:name>cancellable</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GAsyncReadyCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_async_ready_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_async_ready_callback (GCancellable* cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>cancellable</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page
new file mode 100644
index 00000000..b37a287c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_destroy_notify_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_destroy_notify_callback</api:name>
+ <api:arg>
+ <api:type>RegressFooCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GDestroyNotify</api:type>
+ <api:name>destroy</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_destroy_notify_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_destroy_notify_callback (RegressFooCallback callback,
+ gpointer data,
+ GDestroyNotify destroy);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>destroy</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page
new file mode 100644
index 00000000..f035be53
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_init"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_foo_init</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_init</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_foo_init (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page
new file mode 100644
index 00000000..5eef0df9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_method_external_references"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_method_external_references</api:name>
+ <api:arg>
+ <api:type>UtilityObject*</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>UtilityEnumType</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>UtilityFlagType</api:type>
+ <api:name>f</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>UtilityStruct</api:type>
+ <api:name>s</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_method_external_references</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_method_external_references (UtilityObject* object,
+ UtilityEnumType e,
+ UtilityFlagType f,
+ UtilityStruct s);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>f</code></title>
+
+</item>
+<item>
+<title><code>s</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page
new file mode 100644
index 00000000..63d57662
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_not_a_constructor_new"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressFooObject*</api:type>
+ </api:returns>
+ <api:name>regress_foo_not_a_constructor_new</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_not_a_constructor_new</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressFooObject* regress_foo_not_a_constructor_new (void);
+</code></synopsis>
+
+
+ <p>This should be scanned as a top-level function, and shouldn't cause
+a "Can't find matching type for constructor" warning.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page
new file mode 100644
index 00000000..96773b38
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_skip_me"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_skip_me</api:name>
+ <api:arg>
+ <api:type>RegressFooSkippable</api:type>
+ <api:name>fs</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_skip_me</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_skip_me (RegressFooSkippable fs);
+</code></synopsis>
+
+
+ <p>Does something that's only interesting from C and should not be
+exposed to language bindings.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>fs</code></title>
+<p>a <link xref="Regress.FooSkippable"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page
new file mode 100644
index 00000000..41e570ff
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_some_variant"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_some_variant</api:name>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>va_list</api:type>
+ <api:name>args</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_some_variant</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_some_variant (guint x,
+ va_list args);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>args</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page
new file mode 100644
index 00000000..81483f1a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_some_variant_ptr"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_some_variant_ptr</api:name>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>va_list*</api:type>
+ <api:name>args</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_some_variant_ptr</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_some_variant_ptr (guint x,
+ va_list* args);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>args</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page
new file mode 100644
index 00000000..810eba9a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_array</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_array</title>
+
+<synopsis><code mime="text/x-csrc">
+GArray* regress_foo_test_array (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page
new file mode 100644
index 00000000..57ca7b34
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_char_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_char_param</api:name>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_const_char_param</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_const_char_param (const char* param);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page
new file mode 100644
index 00000000..839bee2c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_char_retval"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const char*</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_char_retval</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_const_char_retval</title>
+
+<synopsis><code mime="text/x-csrc">
+const char* regress_foo_test_const_char_retval (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page
new file mode 100644
index 00000000..00a1e075
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_struct_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_struct_param</api:name>
+ <api:arg>
+ <api:type>const RegressFooStruct*</api:type>
+ <api:name>param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_const_struct_param</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_const_struct_param (const RegressFooStruct* param);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page
new file mode 100644
index 00000000..527b8ea1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_struct_retval"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const RegressFooStruct*</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_struct_retval</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_const_struct_retval</title>
+
+<synopsis><code mime="text/x-csrc">
+const RegressFooStruct* regress_foo_test_const_struct_retval (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page
new file mode 100644
index 00000000..17bf08a5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_string_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_string_array</api:name>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_string_array</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_string_array (char** array);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page
new file mode 100644
index 00000000..91d5824c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_string_array_with_g"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_string_array_with_g</api:name>
+ <api:arg>
+ <api:type>gchar**</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_string_array_with_g</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_string_array_with_g (gchar** array);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page
new file mode 100644
index 00000000..8e023665
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_unsigned_qualifier"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_unsigned_qualifier</api:name>
+ <api:arg>
+ <api:type>unsigned int</api:type>
+ <api:name>unsigned_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_unsigned_qualifier</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_unsigned_qualifier (unsigned int unsigned_param);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>unsigned_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page
new file mode 100644
index 00000000..04eec058
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_unsigned_type"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_unsigned_type</api:name>
+ <api:arg>
+ <api:type>unsigned</api:type>
+ <api:name>unsigned_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_unsigned_type</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_unsigned_type (unsigned unsigned_param);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>unsigned_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page
new file mode 100644
index 00000000..210f53ca
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_varargs_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_varargs_callback</api:name>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressFooVarargsCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_varargs_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_varargs_callback (gint i,
+ RegressFooVarargsCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page
new file mode 100644
index 00000000..1d49d318
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_varargs_callback2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_varargs_callback2</api:name>
+ <api:arg>
+ <api:type>RegressFooVarargsCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_varargs_callback2</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page
new file mode 100644
index 00000000..19c19326
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_varargs_callback3"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_varargs_callback3</api:name>
+ <api:arg>
+ <api:type>RegressFooVarargsCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressFooVarargsCallback</api:type>
+ <api:name>callback2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_foo_test_varargs_callback3</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback,
+ RegressFooVarargsCallback callback2);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>callback2</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page
new file mode 100644
index 00000000..40093e2c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.func_obj_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_func_obj_null_in</api:name>
+ <api:arg>
+ <api:type>RegressTestObj*</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_func_obj_null_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_func_obj_null_in (RegressTestObj* obj);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page
new file mode 100644
index 00000000..a43baa0c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.global_get_flags_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_global_get_flags_out</api:name>
+ <api:arg>
+ <api:type>RegressTestFlags*</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_global_get_flags_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_global_get_flags_out (RegressTestFlags* v);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>v</code></title>
+<p>A flags value</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page b/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page
new file mode 100644
index 00000000..6fd4e6b9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.has_parameter_named_attrs"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_has_parameter_named_attrs</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer*</api:type>
+ <api:name>attributes</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_has_parameter_named_attrs</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_has_parameter_named_attrs (int foo,
+ gpointer* attributes);
+</code></synopsis>
+
+
+ <p>This test case mirrors GnomeKeyringPasswordSchema from
+libgnome-keyring.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+<p>some int</p>
+</item>
+<item>
+<title><code>attributes</code></title>
+<p>list of attributes</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page b/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page
new file mode 100644
index 00000000..4d30ec54
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.introspectable_via_alias"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_introspectable_via_alias</api:name>
+ <api:arg>
+ <api:type>RegressPtrArrayAlias*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_introspectable_via_alias</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_introspectable_via_alias (RegressPtrArrayAlias* data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page b/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page
new file mode 100644
index 00000000..6158db44
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.not_introspectable_via_alias"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_not_introspectable_via_alias</api:name>
+ <api:arg>
+ <api:type>RegressVaListAlias</api:type>
+ <api:name>ok</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_not_introspectable_via_alias</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_not_introspectable_via_alias (RegressVaListAlias ok);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ok</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page b/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page
new file mode 100644
index 00000000..33049796
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.random_function_with_skipped_structure"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_random_function_with_skipped_structure</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressSkippedStructure*</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>double</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_random_function_with_skipped_structure</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_random_function_with_skipped_structure (int x,
+ RegressSkippedStructure* foo,
+ double v);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>v</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page b/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page
new file mode 100644
index 00000000..2853609a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.set_abort_on_error"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_set_abort_on_error</api:name>
+ <api:arg>
+ <api:type>gboolean</api:type>
+ <api:name>abort_on_error</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_set_abort_on_error</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_set_abort_on_error (gboolean abort_on_error);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>abort_on_error</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page
new file mode 100644
index 00000000..ee1afcd3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackArray</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_array_callback (RegressTestCallbackArray callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page
new file mode 100644
index 00000000..81109158
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_out_objects"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_out_objects</api:name>
+ <api:arg>
+ <api:type>RegressTestObj***</api:type>
+ <api:name>objs</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_fixed_out_objects</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_array_fixed_out_objects (RegressTestObj*** objs);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>objs</code></title>
+<p>An array of <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page
new file mode 100644
index 00000000..21c6d9f3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_in</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_fixed_size_int_in</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_array_fixed_size_int_in (int* ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>a list of 5 integers</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the sum of the items in <code>ints</code></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page
new file mode 100644
index 00000000..3fa5c4e7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_out</api:name>
+ <api:arg>
+ <api:type>int**</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_fixed_size_int_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_array_fixed_size_int_out (int** ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>a list of 5 integers ranging from 0 to 4</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page
new file mode 100644
index 00000000..913dc0d6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int*</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_fixed_size_int_return</title>
+
+<synopsis><code mime="text/x-csrc">
+int* regress_test_array_fixed_size_int_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>a list of 5 integers ranging from 0 to 4</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page
new file mode 100644
index 00000000..7d05b00c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint16_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint16_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint16*</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_gint16_in</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_array_gint16_in (int n_ints,
+ gint16* ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page
new file mode 100644
index 00000000..c5eee2de
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint32_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint32</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint32_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint32*</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_gint32_in</title>
+
+<synopsis><code mime="text/x-csrc">
+gint32 regress_test_array_gint32_in (int n_ints,
+ gint32* ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page
new file mode 100644
index 00000000..7a7701d6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint64_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint64</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint64_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint64*</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_gint64_in</title>
+
+<synopsis><code mime="text/x-csrc">
+gint64 regress_test_array_gint64_in (int n_ints,
+ gint64* ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page
new file mode 100644
index 00000000..8e685793
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint8_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint8_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gint8*</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_gint8_in</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_array_gint8_in (int n_ints,
+ gint8* ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page
new file mode 100644
index 00000000..0eab274d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gtype_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>char*</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gtype_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_types</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GType*</api:type>
+ <api:name>types</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_gtype_in</title>
+
+<synopsis><code mime="text/x-csrc">
+char* regress_test_array_gtype_in (int n_types,
+ GType* types);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_types</code></title>
+
+</item>
+<item>
+<title><code>types</code></title>
+<p>List of types</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>string representation of provided types</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page
new file mode 100644
index 00000000..5eb26d6b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_full_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int*</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_full_out</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_int_full_out</title>
+
+<synopsis><code mime="text/x-csrc">
+int* regress_test_array_int_full_out (int* len);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>len</code></title>
+<p>length of the returned array.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>a new array of integers.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page
new file mode 100644
index 00000000..0caeee19
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_int_in</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_array_int_in (int n_ints,
+ int* ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page
new file mode 100644
index 00000000..75d142a0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_inout"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_inout</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int**</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_int_inout</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_array_int_inout (int* n_ints,
+ int** ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+<p>the length of <code>ints</code></p>
+</item>
+<item>
+<title><code>ints</code></title>
+<p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page
new file mode 100644
index 00000000..c4698cef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_none_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int*</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_none_out</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_int_none_out</title>
+
+<synopsis><code mime="text/x-csrc">
+int* regress_test_array_int_none_out (int* len);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>len</code></title>
+<p>length of the returned array.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>a static array of integers.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page
new file mode 100644
index 00000000..bab17416
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_null_in</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_int_null_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_array_int_null_in (int* arr,
+ int len);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+<p>length</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page
new file mode 100644
index 00000000..cdf6bdaa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_null_out</api:name>
+ <api:arg>
+ <api:type>int**</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_int_null_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_array_int_null_out (int** arr,
+ int* len);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+<p>length</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page
new file mode 100644
index 00000000..b88feb22
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_out</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int**</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_array_int_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_array_int_out (int* n_ints,
+ int** ints);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+<p>the length of <code>ints</code></p>
+</item>
+<item>
+<title><code>ints</code></title>
+<p>a list of 5 integers, from 0 to 4 in consecutive order</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page
new file mode 100644
index 00000000..bd65df08
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_async_ready_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_async_ready_callback</api:name>
+ <api:arg>
+ <api:type>GAsyncReadyCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_async_ready_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_async_ready_callback (GAsyncReadyCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page
new file mode 100644
index 00000000..a444eb2a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean</api:name>
+ <api:arg>
+ <api:type>gboolean</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boolean</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_boolean (gboolean in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page
new file mode 100644
index 00000000..c96a2f9d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean_false"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean_false</api:name>
+ <api:arg>
+ <api:type>gboolean</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boolean_false</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_boolean_false (gboolean in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page
new file mode 100644
index 00000000..1fb64c17
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean_true"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean_true</api:name>
+ <api:arg>
+ <api:type>gboolean</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_boolean_true</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_boolean_true (gboolean in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page
new file mode 100644
index 00000000..8ada9d2c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_context_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo_t*</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_context_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_cairo_context_full_return</title>
+
+<synopsis><code mime="text/x-csrc">
+cairo_t* regress_test_cairo_context_full_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page
new file mode 100644
index 00000000..059afd52
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_context_none_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_context_none_in</api:name>
+ <api:arg>
+ <api:type>cairo_t*</api:type>
+ <api:name>context</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_cairo_context_none_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_cairo_context_none_in (cairo_t* context);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>context</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page
new file mode 100644
index 00000000..c04a3454
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_full_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_full_out</api:name>
+ <api:arg>
+ <api:type>cairo_surface_t**</api:type>
+ <api:name>surface</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_cairo_surface_full_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_cairo_surface_full_out (cairo_surface_t** surface);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>surface</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page
new file mode 100644
index 00000000..7d77ae66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo_surface_t*</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_cairo_surface_full_return</title>
+
+<synopsis><code mime="text/x-csrc">
+cairo_surface_t* regress_test_cairo_surface_full_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page
new file mode 100644
index 00000000..67302474
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_none_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_none_in</api:name>
+ <api:arg>
+ <api:type>cairo_surface_t*</api:type>
+ <api:name>surface</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_cairo_surface_none_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_cairo_surface_none_in (cairo_surface_t* surface);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>surface</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page
new file mode 100644
index 00000000..a5ac661c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_none_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo_surface_t*</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_none_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_cairo_surface_none_return</title>
+
+<synopsis><code mime="text/x-csrc">
+cairo_surface_t* regress_test_cairo_surface_none_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page
new file mode 100644
index 00000000..7d2f2c8d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_callback (RegressTestCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page
new file mode 100644
index 00000000..8c0a62e8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_async"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_async</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_callback_async</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_callback_async (RegressTestCallbackUserData callback,
+ gpointer user_data);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page
new file mode 100644
index 00000000..f7a5e56c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_destroy_notify"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_destroy_notify</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GDestroyNotify</api:type>
+ <api:name>notify</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_callback_destroy_notify</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_callback_destroy_notify (RegressTestCallbackUserData callback,
+ gpointer user_data,
+ GDestroyNotify notify);
+</code></synopsis>
+
+
+ <p>Notified - callback persists until a DestroyNotify delegate
+is invoked.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>notify</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page
new file mode 100644
index 00000000..3b162e28
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_destroy_notify_no_user_data"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_destroy_notify_no_user_data</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GDestroyNotify</api:type>
+ <api:name>notify</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_callback_destroy_notify_no_user_data</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_callback_destroy_notify_no_user_data (RegressTestCallbackUserData callback,
+ GDestroyNotify notify);
+</code></synopsis>
+
+
+ <p>Adds a scope notified callback with no user data. This can invoke an error
+condition in bindings which needs to be tested.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>notify</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page
new file mode 100644
index 00000000..5cc15570
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_thaw_async"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_thaw_async</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_callback_thaw_async</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_callback_thaw_async (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page
new file mode 100644
index 00000000..bb0ed81a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_thaw_notifications"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_thaw_notifications</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_callback_thaw_notifications</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_callback_thaw_notifications (void);
+</code></synopsis>
+
+
+ <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
+adding up their return values, and removes them, invoking the
+corresponding destroy notfications.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>Sum of the return values of the invoked callbacks.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page
new file mode 100644
index 00000000..3a98a475
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_user_data"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_user_data</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_callback_user_data</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_callback_user_data (RegressTestCallbackUserData callback,
+ gpointer user_data);
+</code></synopsis>
+
+
+ <p>Call - callback parameter persists for the duration of the method
+call and can be released on return.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page
new file mode 100644
index 00000000..0fdad912
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_closure</api:name>
+ <api:arg>
+ <api:type>GClosure*</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_closure</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_closure (GClosure* closure);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page
new file mode 100644
index 00000000..0708b5c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure_one_arg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_closure_one_arg</api:name>
+ <api:arg>
+ <api:type>GClosure*</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>arg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_closure_one_arg</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_closure_one_arg (GClosure* closure,
+ int arg);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+
+</item>
+<item>
+<title><code>arg</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page
new file mode 100644
index 00000000..681b37ae
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure_variant"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GVariant*</api:type>
+ </api:returns>
+ <api:name>regress_test_closure_variant</api:name>
+ <api:arg>
+ <api:type>GClosure*</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GVariant*</api:type>
+ <api:name>arg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_closure_variant</title>
+
+<synopsis><code mime="text/x-csrc">
+GVariant* regress_test_closure_variant (GClosure* closure,
+ GVariant* arg);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+<p>GClosure which takes one GVariant and returns a GVariant</p>
+</item>
+<item>
+<title><code>arg</code></title>
+<p>a GVariant passed as argument to <code>closure</code></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the return value of <code>closure</code></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page
new file mode 100644
index 00000000..adb21f28
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_date_in_gvalue"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GValue*</api:type>
+ </api:returns>
+ <api:name>regress_test_date_in_gvalue</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_date_in_gvalue</title>
+
+<synopsis><code mime="text/x-csrc">
+GValue* regress_test_date_in_gvalue (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page
new file mode 100644
index 00000000..7ad7eb06
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_def_error_quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GQuark</api:type>
+ </api:returns>
+ <api:name>regress_test_def_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_def_error_quark</title>
+
+<synopsis><code mime="text/x-csrc">
+GQuark regress_test_def_error_quark (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page
new file mode 100644
index 00000000..f954fe83
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_double"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gdouble</api:type>
+ </api:returns>
+ <api:name>regress_test_double</api:name>
+ <api:arg>
+ <api:type>gdouble</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_double</title>
+
+<synopsis><code mime="text/x-csrc">
+gdouble regress_test_double (gdouble in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page
new file mode 100644
index 00000000..857e4da0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_filename_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GSList*</api:type>
+ </api:returns>
+ <api:name>regress_test_filename_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_filename_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GSList* regress_test_filename_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>list of strings</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page
new file mode 100644
index 00000000..c395b048
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_float"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gfloat</api:type>
+ </api:returns>
+ <api:name>regress_test_float</api:name>
+ <api:arg>
+ <api:type>gfloat</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_float</title>
+
+<synopsis><code mime="text/x-csrc">
+gfloat regress_test_float (gfloat in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page
new file mode 100644
index 00000000..f17cdd94
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_garray_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_test_garray_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_garray_container_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GPtrArray* regress_test_garray_container_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page
new file mode 100644
index 00000000..b127ed7f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_garray_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_test_garray_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_garray_full_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GPtrArray* regress_test_garray_full_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page
new file mode 100644
index 00000000..1a5f54cc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gerror_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_gerror_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_gerror_callback (RegressTestCallbackGError callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page
new file mode 100644
index 00000000..d465113e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_container_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GHashTable* regress_test_ghash_container_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page
new file mode 100644
index 00000000..616432ae
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_everything_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GHashTable* regress_test_ghash_everything_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page
new file mode 100644
index 00000000..7603f2aa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_gvalue_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_gvalue_in</api:name>
+ <api:arg>
+ <api:type>GHashTable*</api:type>
+ <api:name>hash</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_gvalue_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_ghash_gvalue_in (GHashTable* hash);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>hash</code></title>
+<p>the hash table returned by
+<link xref="Regress.test_ghash_gvalue_return"/>.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page
new file mode 100644
index 00000000..2e739c81
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_gvalue_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_gvalue_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_gvalue_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GHashTable* regress_test_ghash_gvalue_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page
new file mode 100644
index 00000000..6b53197b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nested_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nested_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_nested_everything_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GHashTable* regress_test_ghash_nested_everything_return (void);
+</code></synopsis>
+
+
+ <p>Specify nested parameterized types directly with the (type ) annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page
new file mode 100644
index 00000000..0c780b5e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nested_everything_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nested_everything_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_nested_everything_return2</title>
+
+<synopsis><code mime="text/x-csrc">
+GHashTable* regress_test_ghash_nested_everything_return2 (void);
+</code></synopsis>
+
+
+ <p>Another way of specifying nested parameterized types: using the
+element-type annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page
new file mode 100644
index 00000000..8c457ad2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_in</api:name>
+ <api:arg>
+ <api:type>const GHashTable*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_nothing_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_ghash_nothing_in (const GHashTable* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page
new file mode 100644
index 00000000..a56ad65b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_in2</api:name>
+ <api:arg>
+ <api:type>GHashTable*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_nothing_in2</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_ghash_nothing_in2 (GHashTable* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page
new file mode 100644
index 00000000..c258ee02
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_nothing_return</title>
+
+<synopsis><code mime="text/x-csrc">
+const GHashTable* regress_test_ghash_nothing_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page
new file mode 100644
index 00000000..d2217447
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_nothing_return2</title>
+
+<synopsis><code mime="text/x-csrc">
+GHashTable* regress_test_ghash_nothing_return2 (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page
new file mode 100644
index 00000000..a538b442
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_in</api:name>
+ <api:arg>
+ <api:type>const GHashTable*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_null_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_ghash_null_in (const GHashTable* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page
new file mode 100644
index 00000000..323469c6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_out</api:name>
+ <api:arg>
+ <api:type>const GHashTable**</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_null_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_ghash_null_out (const GHashTable** out);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page
new file mode 100644
index 00000000..03461fd9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const GHashTable*</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_ghash_null_return</title>
+
+<synopsis><code mime="text/x-csrc">
+const GHashTable* regress_test_ghash_null_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page
new file mode 100644
index 00000000..32a3c3a6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GList*</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_container_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GList* regress_test_glist_container_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page
new file mode 100644
index 00000000..6de1a9c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GList*</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_everything_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GList* regress_test_glist_everything_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page
new file mode 100644
index 00000000..d88487f0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_in</api:name>
+ <api:arg>
+ <api:type>const GList*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_nothing_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_glist_nothing_in (const GList* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page
new file mode 100644
index 00000000..7cba8517
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_in2</api:name>
+ <api:arg>
+ <api:type>GList*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_nothing_in2</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_glist_nothing_in2 (GList* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page
new file mode 100644
index 00000000..af54aead
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const GList*</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_nothing_return</title>
+
+<synopsis><code mime="text/x-csrc">
+const GList* regress_test_glist_nothing_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page
new file mode 100644
index 00000000..2901e41d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GList*</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_nothing_return2</title>
+
+<synopsis><code mime="text/x-csrc">
+GList* regress_test_glist_nothing_return2 (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page
new file mode 100644
index 00000000..b6ca3ab3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_null_in</api:name>
+ <api:arg>
+ <api:type>GSList*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_null_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_glist_null_in (GSList* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page
new file mode 100644
index 00000000..13e421db
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_null_out</api:name>
+ <api:arg>
+ <api:type>GSList**</api:type>
+ <api:name>out_list</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_glist_null_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_glist_null_out (GSList** out_list);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out_list</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page
new file mode 100644
index 00000000..05587fcb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GSList*</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_container_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GSList* regress_test_gslist_container_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page
new file mode 100644
index 00000000..a03f4d89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GSList*</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_everything_return</title>
+
+<synopsis><code mime="text/x-csrc">
+GSList* regress_test_gslist_everything_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page
new file mode 100644
index 00000000..61a14b1c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_in</api:name>
+ <api:arg>
+ <api:type>const GSList*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_nothing_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_gslist_nothing_in (const GSList* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page
new file mode 100644
index 00000000..0703ec00
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_in2</api:name>
+ <api:arg>
+ <api:type>GSList*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_nothing_in2</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_gslist_nothing_in2 (GSList* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page
new file mode 100644
index 00000000..8df79aa5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const GSList*</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_nothing_return</title>
+
+<synopsis><code mime="text/x-csrc">
+const GSList* regress_test_gslist_nothing_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page
new file mode 100644
index 00000000..aeb9a672
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GSList*</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_nothing_return2</title>
+
+<synopsis><code mime="text/x-csrc">
+GSList* regress_test_gslist_nothing_return2 (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page
new file mode 100644
index 00000000..21d8d5c1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_null_in</api:name>
+ <api:arg>
+ <api:type>GSList*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_null_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_gslist_null_in (GSList* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page
new file mode 100644
index 00000000..d7635199
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_null_out</api:name>
+ <api:arg>
+ <api:type>GSList**</api:type>
+ <api:name>out_list</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_gslist_null_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_gslist_null_out (GSList** out_list);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out_list</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page
new file mode 100644
index 00000000..76e678bd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gtype"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GType</api:type>
+ </api:returns>
+ <api:name>regress_test_gtype</api:name>
+ <api:arg>
+ <api:type>GType</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_gtype</title>
+
+<synopsis><code mime="text/x-csrc">
+GType regress_test_gtype (GType in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page
new file mode 100644
index 00000000..df9d988a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_as"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GVariant*</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_as</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gvariant_as</title>
+
+<synopsis><code mime="text/x-csrc">
+GVariant* regress_test_gvariant_as (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page
new file mode 100644
index 00000000..2d64ab24
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_asv"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GVariant*</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_asv</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gvariant_asv</title>
+
+<synopsis><code mime="text/x-csrc">
+GVariant* regress_test_gvariant_asv (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page
new file mode 100644
index 00000000..2eec9944
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_i"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GVariant*</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_i</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gvariant_i</title>
+
+<synopsis><code mime="text/x-csrc">
+GVariant* regress_test_gvariant_i (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page
new file mode 100644
index 00000000..9ef9d9f7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_s"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GVariant*</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_s</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gvariant_s</title>
+
+<synopsis><code mime="text/x-csrc">
+GVariant* regress_test_gvariant_s (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page
new file mode 100644
index 00000000..c07b2ac8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_v"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GVariant*</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_v</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_gvariant_v</title>
+
+<synopsis><code mime="text/x-csrc">
+GVariant* regress_test_gvariant_v (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page
new file mode 100644
index 00000000..24862b10
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_hash_table_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_hash_table_callback</api:name>
+ <api:arg>
+ <api:type>GHashTable*</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestCallbackHashtable</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_hash_table_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_hash_table_callback (GHashTable* data,
+ RegressTestCallbackHashtable callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+<p>GHashTable that gets passed to callback</p>
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page
new file mode 100644
index 00000000..430af30e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint</api:type>
+ </api:returns>
+ <api:name>regress_test_int</api:name>
+ <api:arg>
+ <api:type>gint</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_int</title>
+
+<synopsis><code mime="text/x-csrc">
+gint regress_test_int (gint in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page
new file mode 100644
index 00000000..d5be61d9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int16"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint16</api:type>
+ </api:returns>
+ <api:name>regress_test_int16</api:name>
+ <api:arg>
+ <api:type>gint16</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_int16</title>
+
+<synopsis><code mime="text/x-csrc">
+gint16 regress_test_int16 (gint16 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page
new file mode 100644
index 00000000..be90ac6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int32"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint32</api:type>
+ </api:returns>
+ <api:name>regress_test_int32</api:name>
+ <api:arg>
+ <api:type>gint32</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_int32</title>
+
+<synopsis><code mime="text/x-csrc">
+gint32 regress_test_int32 (gint32 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page
new file mode 100644
index 00000000..d864702f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int64"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint64</api:type>
+ </api:returns>
+ <api:name>regress_test_int64</api:name>
+ <api:arg>
+ <api:type>gint64</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_int64</title>
+
+<synopsis><code mime="text/x-csrc">
+gint64 regress_test_int64 (gint64 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page
new file mode 100644
index 00000000..1cfb4319
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint8</api:type>
+ </api:returns>
+ <api:name>regress_test_int8</api:name>
+ <api:arg>
+ <api:type>gint8</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_int8</title>
+
+<synopsis><code mime="text/x-csrc">
+gint8 regress_test_int8 (gint8 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page
new file mode 100644
index 00000000..80276c00
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int_out_utf8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_int_out_utf8</api:name>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_int_out_utf8</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_int_out_utf8 (int* length,
+ const char* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>length</code></title>
+
+</item>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page
new file mode 100644
index 00000000..a61c91cd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int_value_arg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_int_value_arg</api:name>
+ <api:arg>
+ <api:type>const GValue*</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_int_value_arg</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_int_value_arg (const GValue* v);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>v</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page
new file mode 100644
index 00000000..30bf3afb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_long"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>glong</api:type>
+ </api:returns>
+ <api:name>regress_test_long</api:name>
+ <api:arg>
+ <api:type>glong</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_long</title>
+
+<synopsis><code mime="text/x-csrc">
+glong regress_test_long (glong in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page
new file mode 100644
index 00000000..152c9166
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multi_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_multi_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_multi_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+int regress_test_multi_callback (RegressTestCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page
new file mode 100644
index 00000000..5135297f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multi_double_args"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_multi_double_args</api:name>
+ <api:arg>
+ <api:type>gdouble</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gdouble*</api:type>
+ <api:name>one</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gdouble*</api:type>
+ <api:name>two</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_multi_double_args</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_multi_double_args (gdouble in,
+ gdouble* one,
+ gdouble* two);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>one</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page
new file mode 100644
index 00000000..d660bd83
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multiline_doc_comments.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multiline_doc_comments"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_multiline_doc_comments</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_multiline_doc_comments</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_multiline_doc_comments (void);
+</code></synopsis>
+
+
+ <p>This is a function.</p><p>It has multiple lines in the documentation.</p><p>The sky is blue.</p><p>You will give me your credit card number.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page
new file mode 100644
index 00000000..c28cc8fa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page
@@ -0,0 +1,73 @@
+<?xml version="1.0"?>
+<page id="Regress.test_nested_parameter"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_nested_parameter</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_nested_parameter</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_nested_parameter (int a);
+</code></synopsis>
+
+
+ <p>&lt;informaltable&gt;
+ &lt;tgroup cols="3"&gt;
+ &lt;thead&gt;
+ &lt;row&gt;
+ &lt;entry&gt;Syntax&lt;/entry&gt;
+ &lt;entry&gt;Explanation&lt;/entry&gt;
+ &lt;entry&gt;Examples&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;/thead&gt;
+ &lt;tbody&gt;
+ &lt;row&gt;
+ &lt;entry&gt;rgb(@r, @g, @b)&lt;/entry&gt;
+ &lt;entry&gt;An opaque color; @r, @g, @b can be either integers between
+ 0 and 255 or percentages&lt;/entry&gt;
+ &lt;entry&gt;&lt;literallayout&gt;rgb(128, 10, 54)
+rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;row&gt;
+ &lt;entry&gt;rgba(@r, @g, @b, <code>a</code>)&lt;/entry&gt;
+ &lt;entry&gt;A translucent color; @r, @g, @b are as in the previous row,
+ <code>a</code> is a floating point number between 0 and 1&lt;/entry&gt;
+ &lt;entry&gt;&lt;literallayout&gt;rgba(255, 255, 0, 0.5)&lt;/literallayout&gt;&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;/tbody&gt;
+ &lt;/tgroup&gt;
+&lt;/informaltable&gt;</p><p>What we're testing here is that the scanner ignores the <code>a</code> nested inside XML.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>An integer</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page
new file mode 100644
index 00000000..bdcc152d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_null_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_null_gerror_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_null_gerror_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_null_gerror_callback (RegressTestCallbackGError callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page
new file mode 100644
index 00000000..49f1b360
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_owned_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_owned_gerror_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallbackOwnedGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_owned_gerror_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page
new file mode 100644
index 00000000..53d3b1bd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_short"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gshort</api:type>
+ </api:returns>
+ <api:name>regress_test_short</api:name>
+ <api:arg>
+ <api:type>gshort</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_short</title>
+
+<synopsis><code mime="text/x-csrc">
+gshort regress_test_short (gshort in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page
new file mode 100644
index 00000000..514fbfaa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_simple_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestSimpleCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_simple_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_simple_callback (RegressTestSimpleCallback callback);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page
new file mode 100644
index 00000000..3b67a00a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_size"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gsize</api:type>
+ </api:returns>
+ <api:name>regress_test_size</api:name>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_size</title>
+
+<synopsis><code mime="text/x-csrc">
+gsize regress_test_size (gsize in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page
new file mode 100644
index 00000000..321d087a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<page id="Regress.test_skip_unannotated_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_skip_unannotated_callback</api:name>
+ <api:arg>
+ <api:type>RegressTestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_skip_unannotated_callback</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_skip_unannotated_callback (RegressTestCallback callback);
+</code></synopsis>
+
+
+ <p>Should not emit a warning:
+https://bugzilla.gnome.org/show_bug.cgi?id=685399</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+<p>No annotation here</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page
new file mode 100644
index 00000000..d11446ef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ssize"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gssize</api:type>
+ </api:returns>
+ <api:name>regress_test_ssize</api:name>
+ <api:arg>
+ <api:type>gssize</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ssize</title>
+
+<synopsis><code mime="text/x-csrc">
+gssize regress_test_ssize (gssize in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page
new file mode 100644
index 00000000..3f9ca2a6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_in</api:name>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_strv_in</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_strv_in (char** arr);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page
new file mode 100644
index 00000000..44b0c6ce
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_in_gvalue"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GValue*</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_in_gvalue</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_strv_in_gvalue</title>
+
+<synopsis><code mime="text/x-csrc">
+GValue* regress_test_strv_in_gvalue (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page
new file mode 100644
index 00000000..207e69fe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_strv_out</title>
+
+<synopsis><code mime="text/x-csrc">
+char** regress_test_strv_out (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page
new file mode 100644
index 00000000..582ab10b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out_c"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out_c</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_strv_out_c</title>
+
+<synopsis><code mime="text/x-csrc">
+const char* const* regress_test_strv_out_c (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page
new file mode 100644
index 00000000..0515bce7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out_container"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>utf8*</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out_container</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_strv_out_container</title>
+
+<synopsis><code mime="text/x-csrc">
+char** regress_test_strv_out_container (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page
new file mode 100644
index 00000000..a105b5b2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_outarg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_outarg</api:name>
+ <api:arg>
+ <api:type>char***</api:type>
+ <api:name>retp</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_strv_outarg</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_strv_outarg (char*** retp);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>retp</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page
new file mode 100644
index 00000000..acada719
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_timet"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>time_t</api:type>
+ </api:returns>
+ <api:name>regress_test_timet</api:name>
+ <api:arg>
+ <api:type>time_t</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_timet</title>
+
+<synopsis><code mime="text/x-csrc">
+time_t regress_test_timet (time_t in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page
new file mode 100644
index 00000000..3d4c18c2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_0"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_0</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>double*</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_torture_signature_0</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_torture_signature_0 (int x,
+ double* y,
+ int* z,
+ const char* foo,
+ int* q,
+ guint m);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page
new file mode 100644
index 00000000..7568989d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_1"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gboolean</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_1</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>double*</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_torture_signature_1</title>
+
+<synopsis><code mime="text/x-csrc">
+gboolean regress_test_torture_signature_1 (int x,
+ double* y,
+ int* z,
+ const char* foo,
+ int* q,
+ guint m);
+</code></synopsis>
+
+
+ <p>This function throws an error if m is odd.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page
new file mode 100644
index 00000000..eb615c39
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_2</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GDestroyNotify</api:type>
+ <api:name>notify</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>double*</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int*</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_torture_signature_2</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_torture_signature_2 (int x,
+ RegressTestCallbackUserData callback,
+ gpointer user_data,
+ GDestroyNotify notify,
+ double* y,
+ int* z,
+ const char* foo,
+ int* q,
+ guint m);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>notify</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page
new file mode 100644
index 00000000..1651512e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint</api:type>
+ </api:returns>
+ <api:name>regress_test_uint</api:name>
+ <api:arg>
+ <api:type>guint</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_uint</title>
+
+<synopsis><code mime="text/x-csrc">
+guint regress_test_uint (guint in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page
new file mode 100644
index 00000000..2af7ee49
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint16"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint16</api:type>
+ </api:returns>
+ <api:name>regress_test_uint16</api:name>
+ <api:arg>
+ <api:type>guint16</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_uint16</title>
+
+<synopsis><code mime="text/x-csrc">
+guint16 regress_test_uint16 (guint16 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page
new file mode 100644
index 00000000..7ccdde70
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint32"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint32</api:type>
+ </api:returns>
+ <api:name>regress_test_uint32</api:name>
+ <api:arg>
+ <api:type>guint32</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_uint32</title>
+
+<synopsis><code mime="text/x-csrc">
+guint32 regress_test_uint32 (guint32 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page
new file mode 100644
index 00000000..24a9256a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint64"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint64</api:type>
+ </api:returns>
+ <api:name>regress_test_uint64</api:name>
+ <api:arg>
+ <api:type>guint64</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_uint64</title>
+
+<synopsis><code mime="text/x-csrc">
+guint64 regress_test_uint64 (guint64 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page
new file mode 100644
index 00000000..7222e742
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint8</api:type>
+ </api:returns>
+ <api:name>regress_test_uint8</api:name>
+ <api:arg>
+ <api:type>guint8</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_uint8</title>
+
+<synopsis><code mime="text/x-csrc">
+guint8 regress_test_uint8 (guint8 in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page
new file mode 100644
index 00000000..80953700
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ulong"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gulong</api:type>
+ </api:returns>
+ <api:name>regress_test_ulong</api:name>
+ <api:arg>
+ <api:type>gulong</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ulong</title>
+
+<synopsis><code mime="text/x-csrc">
+gulong regress_test_ulong (gulong in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page
new file mode 100644
index 00000000..0349472e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_unichar"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gunichar</api:type>
+ </api:returns>
+ <api:name>regress_test_unichar</api:name>
+ <api:arg>
+ <api:type>gunichar</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_unichar</title>
+
+<synopsis><code mime="text/x-csrc">
+gunichar regress_test_unichar (gunichar in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page
new file mode 100644
index 00000000..642e75ac
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_unsigned_enum_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const gchar*</api:type>
+ </api:returns>
+ <api:name>regress_test_unsigned_enum_param</api:name>
+ <api:arg>
+ <api:type>RegressTestEnumUnsigned</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_unsigned_enum_param</title>
+
+<synopsis><code mime="text/x-csrc">
+const gchar* regress_test_unsigned_enum_param (RegressTestEnumUnsigned e);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page
new file mode 100644
index 00000000..2b50e72a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ushort"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gushort</api:type>
+ </api:returns>
+ <api:name>regress_test_ushort</api:name>
+ <api:arg>
+ <api:type>gushort</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_ushort</title>
+
+<synopsis><code mime="text/x-csrc">
+gushort regress_test_ushort (gushort in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page
new file mode 100644
index 00000000..eaafeae5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_const_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_const_in</api:name>
+ <api:arg>
+ <api:type>const char*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_const_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_utf8_const_in (const char* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page
new file mode 100644
index 00000000..6bcb7861
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_const_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const char*</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_const_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_const_return</title>
+
+<synopsis><code mime="text/x-csrc">
+const char* regress_test_utf8_const_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>UTF-8 string</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page
new file mode 100644
index 00000000..ce0a884b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_inout"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_inout</api:name>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>inout</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_inout</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_utf8_inout (char** inout);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>inout</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page
new file mode 100644
index 00000000..aa921b00
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_nonconst_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>char*</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_nonconst_return</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_nonconst_return</title>
+
+<synopsis><code mime="text/x-csrc">
+char* regress_test_utf8_nonconst_return (void);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>UTF-8 string</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page
new file mode 100644
index 00000000..9b196371
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_null_in</api:name>
+ <api:arg>
+ <api:type>char*</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_null_in</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_utf8_null_in (char* in);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page
new file mode 100644
index 00000000..6d4c4551
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_null_out</api:name>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>char_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_null_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_utf8_null_out (char** char_out);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>char_out</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page
new file mode 100644
index 00000000..5084da31
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out</api:name>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_utf8_out (char** out);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page
new file mode 100644
index 00000000..65b2a8a0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out_nonconst_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>char*</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out_nonconst_return</api:name>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_out_nonconst_return</title>
+
+<synopsis><code mime="text/x-csrc">
+char* regress_test_utf8_out_nonconst_return (char** out);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+<p>a copy of "second"</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>a copy of "first"</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page
new file mode 100644
index 00000000..e3771997
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out_out</api:name>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>out0</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>char**</api:type>
+ <api:name>out1</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_utf8_out_out</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_utf8_out_out (char** out0,
+ char** out1);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out0</code></title>
+<p>a copy of "first"</p>
+</item>
+<item>
+<title><code>out1</code></title>
+<p>a copy of "second"</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page
new file mode 100644
index 00000000..3435610c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_value_get_fundamental_object"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>RegressTestFundamentalObject*</api:type>
+ </api:returns>
+ <api:name>regress_test_value_get_fundamental_object</api:name>
+ <api:arg>
+ <api:type>const GValue*</api:type>
+ <api:name>value</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_value_get_fundamental_object</title>
+
+<synopsis><code mime="text/x-csrc">
+RegressTestFundamentalObject* regress_test_value_get_fundamental_object (const GValue* value);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>value</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page
new file mode 100644
index 00000000..2edb30a3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_value_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>const GValue*</api:type>
+ </api:returns>
+ <api:name>regress_test_value_return</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_value_return</title>
+
+<synopsis><code mime="text/x-csrc">
+const GValue* regress_test_value_return (int i);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+<p>an int</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the int wrapped in a GValue.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page
new file mode 100644
index 00000000..ba1822ed
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<page id="Regress.test_value_set_fundamental_object"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_value_set_fundamental_object</api:name>
+ <api:arg>
+ <api:type>GValue*</api:type>
+ <api:name>value</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>RegressTestFundamentalObject*</api:type>
+ <api:name>fundamental_object</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>regress_test_value_set_fundamental_object</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_value_set_fundamental_object (GValue* value,
+ RegressTestFundamentalObject* fundamental_object);
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>value</code></title>
+
+</item>
+<item>
+<title><code>fundamental_object</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page b/tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page
new file mode 100644
index 00000000..a389bda5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_versioning.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.test_versioning"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_versioning</api:name>
+ </api:function>
+
+ </info>
+ <title>regress_test_versioning</title>
+
+<synopsis><code mime="text/x-csrc">
+void regress_test_versioning (void);
+</code></synopsis>
+
+
+
+
+
+ <p>Since 1.32.1</p>
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/index.page b/tests/scanner/Regress-1.0-C-expected/index.page
new file mode 100644
index 00000000..a5426d89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/index.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="index"
+ type="guide"
+ style="namespace"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+
+ </info>
+ <title>Index</title>
+
+
+
+
+
+
+
+
+
+ <links type="topic" ui:expanded="true" groups="class" style="linklist">
+ <title>Classes</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page
new file mode 100644
index 00000000..9ac6820d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.ATestError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.ATestError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ATestError.CODE0</code></title>
+
+</item>
+<item>
+<title><code>ATestError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>ATestError.CODE2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page
new file mode 100644
index 00000000..9490e4a3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AliasedTestBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AliasedTestBoxed"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AliasedTestBoxed</title>
+
+
+
+ <p>Typedef TestBoxed to test caller-allocates correctness</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
new file mode 100644
index 00000000..6dc17b32
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.None.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnAnonymousUnion.None"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnAnonymousUnion.None</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page
new file mode 100644
index 00000000..2556feda
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnAnonymousUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnAnonymousUnion"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnAnonymousUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page
new file mode 100644
index 00000000..4e19ef92
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationBitfield"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationBitfield</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page
new file mode 100644
index 00000000..9a652d80
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationCallback</title>
+
+
+
+ <p>This is a callback.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page
new file mode 100644
index 00000000..53234545
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationFields.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationFields"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationFields</title>
+
+
+
+ <p>This is a struct for testing field documentation and annotations</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page
new file mode 100644
index 00000000..db77a117
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationForeachFunc.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationForeachFunc"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationForeachFunc</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page
new file mode 100644
index 00000000..79844c66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationListCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationListCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationListCallback</title>
+
+
+
+ <p>This is a callback taking a list.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page
new file mode 100644
index 00000000..17c80292
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationNotifyFunc.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationNotifyFunc"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationNotifyFunc</title>
+
+
+
+ <p>This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page
new file mode 100644
index 00000000..c30c3377
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-attribute-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">attribute-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::attribute-signal</title>
+
+<synopsis><code mime="text/x-python">
+function callback(annotation_object, arg1:String, arg2:String, ):String;
+</code></synopsis>
+
+
+ <p>This signal tests a signal with attributes.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arg1</code></title>
+<p>a value</p>
+</item>
+<item>
+<title><code>arg2</code></title>
+<p>another value</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the return value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
new file mode 100644
index 00000000..61025917
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-doc-empty-arg-parsing"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">doc-empty-arg-parsing</title>
+
+ </info>
+ <title>Regress.AnnotationObject::doc-empty-arg-parsing</title>
+
+<synopsis><code mime="text/x-python">
+function callback(annotation_object, arg1:gpointer, ):void;
+</code></synopsis>
+
+
+ <p>This signal tests an empty document argument (<code>arg1</code>)</p>
+
+
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arg1</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page
new file mode 100644
index 00000000..d9d8b55a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-function-property.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-function-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">function-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:function-property</title>
+
+<synopsis><code mime="text/x-python">
+"function-property" Regress.AnnotationCallback : Read / Write / Construct
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page
new file mode 100644
index 00000000..4e2044dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-list-signal.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-list-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">list-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::list-signal</title>
+
+<synopsis><code mime="text/x-python">
+function callback(annotation_object, list:[String], ):void;
+</code></synopsis>
+
+
+ <p>This is a signal which takes a list of strings, but it's not
+known by GObject as it's only marked as G_TYPE_POINTER</p>
+
+
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>list</code></title>
+<p>a list of strings</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page
new file mode 100644
index 00000000..eba5cef7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-property.page
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-string-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">string-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:string-property</title>
+
+<synopsis><code mime="text/x-python">
+"string-property" String : Read / Write / Construct
+</code></synopsis>
+
+
+ <p>This is a property which is a string</p>
+
+
+ <p>Since 1.0</p>
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page
new file mode 100644
index 00000000..59408b40
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-string-signal.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-string-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">string-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::string-signal</title>
+
+<synopsis><code mime="text/x-python">
+function callback(annotation_object, string:String, ):void;
+</code></synopsis>
+
+
+ <p>This is a signal which has a broken signal handler,
+it says it's pointer but it's actually a string.</p>
+
+
+ <p>Since 1.0</p>
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>string</code></title>
+<p>a string</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page
new file mode 100644
index 00000000..c2444fa4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-tab-property.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-tab-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">tab-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:tab-property</title>
+
+<synopsis><code mime="text/x-python">
+"tab-property" String : Read / Write / Construct
+</code></synopsis>
+
+
+ <p>This is a property annotation intentionally indented with a mix
+of tabs and strings to test the tab handling capabilities of the scanner.</p>
+
+
+ <p>Since 1.2</p>
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page
new file mode 100644
index 00000000..414f5c63
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.allow_none"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_allow_none</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>somearg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.allow_none</title>
+
+<synopsis><code mime="text/x-gjs">
+function allow_none(somearg:String):GObject.Object {
+ // Gjs wrapper for regress_annotation_object_allow_none()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>somearg</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>null</code> always</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page
new file mode 100644
index 00000000..8dd15f1c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.calleeowns"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_calleeowns</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.calleeowns</title>
+
+<synopsis><code mime="text/x-gjs">
+function calleeowns():Number {
+ // Gjs wrapper for regress_annotation_object_calleeowns()
+}
+</code></synopsis>
+
+
+ <p>This is a test for out arguments; GObject defaults to transfer</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page
new file mode 100644
index 00000000..a12be358
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.calleesowns"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_calleesowns</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.calleesowns</title>
+
+<synopsis><code mime="text/x-gjs">
+function calleesowns():Number {
+ // Gjs wrapper for regress_annotation_object_calleesowns()
+}
+</code></synopsis>
+
+
+ <p>This is a test for out arguments, one transferred, other not</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page
new file mode 100644
index 00000000..d7e6784d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.compute_sum</title>
+
+<synopsis><code mime="text/x-gjs">
+function compute_sum(nums:[Number]):void {
+ // Gjs wrapper for regress_annotation_object_compute_sum()
+}
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array</p>
+
+
+
+
+<terms>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of numbers</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page
new file mode 100644
index 00000000..932b1922
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum_n"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum_n</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.compute_sum_n</title>
+
+<synopsis><code mime="text/x-gjs">
+function compute_sum_n(nums:[Number]):void {
+ // Gjs wrapper for regress_annotation_object_compute_sum_n()
+}
+</code></synopsis>
+
+
+ <p>Test taking an array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of
+ numbers that are zero-terminated</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page
new file mode 100644
index 00000000..3891049b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum_nz"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum_nz</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.compute_sum_nz</title>
+
+<synopsis><code mime="text/x-gjs">
+function compute_sum_nz(nums:[Number]):void {
+ // Gjs wrapper for regress_annotation_object_compute_sum_nz()
+}
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of numbers that
+are zero-terminated</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page
new file mode 100644
index 00000000..03ceac18
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.create_object"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_create_object</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.create_object</title>
+
+<synopsis><code mime="text/x-gjs">
+function create_object():GObject.Object {
+ // Gjs wrapper for regress_annotation_object_create_object()
+}
+</code></synopsis>
+
+
+ <p>Test returning a caller-owned object</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>The object</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page
new file mode 100644
index 00000000..e89c8fe6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.do_not_use"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_do_not_use</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.do_not_use</title>
+
+<synopsis><code mime="text/x-gjs">
+function do_not_use():GObject.Object {
+ // Gjs wrapper for regress_annotation_object_do_not_use()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p><code>null</code> always</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page
new file mode 100644
index 00000000..cd58eed9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.extra_annos.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.extra_annos"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_extra_annos</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.extra_annos</title>
+
+<synopsis><code mime="text/x-gjs">
+function extra_annos():void {
+ // Gjs wrapper for regress_annotation_object_extra_annos()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page
new file mode 100644
index 00000000..e4cc4c0b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.foreach"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_foreach</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationForeachFunc</api:type>
+ <api:name>func</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.foreach</title>
+
+<synopsis><code mime="text/x-gjs">
+function foreach(func:Regress.AnnotationForeachFunc):void {
+ // Gjs wrapper for regress_annotation_object_foreach()
+}
+</code></synopsis>
+
+
+ <p>Test taking a call-scoped callback</p>
+
+
+
+
+<terms>
+<item>
+<title><code>func</code></title>
+<p>Callback to invoke</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page
new file mode 100644
index 00000000..2e6ca61a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_hash"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: GObject.Object}</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_hash</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.get_hash</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_hash():{String: GObject.Object} {
+ // Gjs wrapper for regress_annotation_object_get_hash()
+}
+</code></synopsis>
+
+
+ <p>This is a test for returning a hash table mapping strings to
+objects.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>hash table</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page
new file mode 100644
index 00000000..c0350d7e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_objects"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[Regress.AnnotationObject]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_objects</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.get_objects</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_objects():[Regress.AnnotationObject] {
+ // Gjs wrapper for regress_annotation_object_get_objects()
+}
+</code></synopsis>
+
+
+ <p>This is a test for returning a list of objects.
+The list itself should be freed, but not the internal objects,
+intentionally similar example to gtk_container_get_children</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>list of objects</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page
new file mode 100644
index 00000000..e36d25a8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_strings"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_strings</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.get_strings</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_strings():[String] {
+ // Gjs wrapper for regress_annotation_object_get_strings()
+}
+</code></synopsis>
+
+
+ <p>This is a test for returning a list of strings, where
+each string needs to be freed.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>list of strings</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page
new file mode 100644
index 00000000..945acf01
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.hidden_self.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.hidden_self"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_hidden_self</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.hidden_self</title>
+
+<synopsis><code mime="text/x-gjs">
+function hidden_self():void {
+ // Gjs wrapper for regress_annotation_object_hidden_self()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page
new file mode 100644
index 00000000..226b2b97
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_in</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.in</title>
+
+<synopsis><code mime="text/x-gjs">
+function in(inarg:Number):Number {
+ // Gjs wrapper for regress_annotation_object_in()
+}
+</code></synopsis>
+
+
+ <p>This is a test for in arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>inarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page
new file mode 100644
index 00000000..885412fb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.inout</title>
+
+<synopsis><code mime="text/x-gjs">
+function inout(inoutarg:Number):Number {
+ // Gjs wrapper for regress_annotation_object_inout()
+}
+</code></synopsis>
+
+
+ <p>This is a test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page
new file mode 100644
index 00000000..34406b7b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout2"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout2</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.inout2</title>
+
+<synopsis><code mime="text/x-gjs">
+function inout2(inoutarg:Number):Number {
+ // Gjs wrapper for regress_annotation_object_inout2()
+}
+</code></synopsis>
+
+
+ <p>This is a second test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page
new file mode 100644
index 00000000..2828964e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout3"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout3</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.inout3</title>
+
+<synopsis><code mime="text/x-gjs">
+function inout3(inoutarg:Number):Number {
+ // Gjs wrapper for regress_annotation_object_inout3()
+}
+</code></synopsis>
+
+
+ <p>This is a 3th test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page
new file mode 100644
index 00000000..49d937a1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_method</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.method</title>
+
+<synopsis><code mime="text/x-gjs">
+function method():Number {
+ // Gjs wrapper for regress_annotation_object_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page
new file mode 100644
index 00000000..0424719e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.notrans"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_notrans</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.notrans</title>
+
+<synopsis><code mime="text/x-gjs">
+function notrans():GObject.Object {
+ // Gjs wrapper for regress_annotation_object_notrans()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>An object, not referenced</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page
new file mode 100644
index 00000000..5120baf8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_out</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.out</title>
+
+<synopsis><code mime="text/x-gjs">
+function out():Number {
+ // Gjs wrapper for regress_annotation_object_out()
+}
+</code></synopsis>
+
+
+ <p>This is a test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>an int</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page
new file mode 100644
index 00000000..f4f01301
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationObject</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let annotation_object = new Regress.AnnotationObject({
+ <link xref='Regress.AnnotationObject-function-property'>function_property</link>: value,
+ <link xref='Regress.AnnotationObject-string-property'>string_property</link>: value,
+ <link xref='Regress.AnnotationObject-tab-property'>tab_property</link>: value,
+});
+ </code></synopsis>
+
+
+ <p>This is an object used to test annotations.</p>
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.AnnotationObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page
new file mode 100644
index 00000000..8476fd89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.parse_args"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_parse_args</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>argv</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.parse_args</title>
+
+<synopsis><code mime="text/x-gjs">
+function parse_args(argv:[String]):void {
+ // Gjs wrapper for regress_annotation_object_parse_args()
+}
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>argv</code></title>
+<p>Argument vector</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page
new file mode 100644
index 00000000..a5dafb97
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data</api:name>
+ <api:arg>
+ <api:type>[guint8]</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.set_data</title>
+
+<synopsis><code mime="text/x-gjs">
+function set_data(data:[guint8]):void {
+ // Gjs wrapper for regress_annotation_object_set_data()
+}
+</code></synopsis>
+
+
+ <p>Test taking a guchar * with a length.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page
new file mode 100644
index 00000000..3fcd8188
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data2"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data2</api:name>
+ <api:arg>
+ <api:type>[gint8]</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.set_data2</title>
+
+<synopsis><code mime="text/x-gjs">
+function set_data2(data:[gint8]):void {
+ // Gjs wrapper for regress_annotation_object_set_data2()
+}
+</code></synopsis>
+
+
+ <p>Test taking a gchar * with a length.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page
new file mode 100644
index 00000000..22fb98dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data3"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data3</api:name>
+ <api:arg>
+ <api:type>[guint8]</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.set_data3</title>
+
+<synopsis><code mime="text/x-gjs">
+function set_data3(data:[guint8]):void {
+ // Gjs wrapper for regress_annotation_object_set_data3()
+}
+</code></synopsis>
+
+
+ <p>Test taking a gchar * with a length, overriding the array element
+type.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page
new file mode 100644
index 00000000..4d6029a1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.string_out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_string_out</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.string_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function string_out():Boolean {
+ // Gjs wrapper for regress_annotation_object_string_out()
+}
+</code></synopsis>
+
+
+ <p>Test returning a string as an out parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>some boolean</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page
new file mode 100644
index 00000000..c602a896
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.use_buffer"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_use_buffer</api:name>
+ <api:arg>
+ <api:type>guint8</api:type>
+ <api:name>bytes</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.use_buffer</title>
+
+<synopsis><code mime="text/x-gjs">
+function use_buffer(bytes:guint8):void {
+ // Gjs wrapper for regress_annotation_object_use_buffer()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>bytes</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page
new file mode 100644
index 00000000..99bfaf1b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.watch_full"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_watch_full</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationForeachFunc</api:type>
+ <api:name>func</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.watch_full</title>
+
+<synopsis><code mime="text/x-gjs">
+function watch_full(func:Regress.AnnotationForeachFunc):void {
+ // Gjs wrapper for regress_annotation_object_watch_full()
+}
+</code></synopsis>
+
+
+ <p>Test overriding via the "Rename To" annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>func</code></title>
+<p>The callback</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page
new file mode 100644
index 00000000..6daccb5e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.with_voidp"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_with_voidp</api:name>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.prototype.with_voidp</title>
+
+<synopsis><code mime="text/x-gjs">
+function with_voidp(data:gpointer):void {
+ // Gjs wrapper for regress_annotation_object_with_voidp()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+<p>Opaque pointer handle</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page
new file mode 100644
index 00000000..e2100429
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationStruct</title>
+
+
+
+ <p>This is a test of an array of object in an field of a struct.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page
new file mode 100644
index 00000000..09cd98fd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<page id="Regress.FooASingle"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooASingle</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooASingle.FOO_SOME_SINGLE_ENUM</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page
new file mode 100644
index 00000000..008a8f36
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooAddressType"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooAddressType</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooAddressType.INVALID</code></title>
+
+</item>
+<item>
+<title><code>FooAddressType.IPV4</code></title>
+
+</item>
+<item>
+<title><code>FooAddressType.IPV6</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page
new file mode 100644
index 00000000..9091617a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect.add"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBRect" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_brect_add</api:name>
+ <api:arg>
+ <api:type>Regress.FooBRect</api:type>
+ <api:name>b2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBRect.prototype.add</title>
+
+<synopsis><code mime="text/x-gjs">
+function add(b2:Regress.FooBRect):void {
+ // Gjs wrapper for regress_foo_brect_add()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>b2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.new.page
new file mode 100644
index 00000000..2d2b5749
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.new.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBRect" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooBRect</api:type>
+ </api:returns>
+ <api:name>regress_foo_brect_new</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBRect.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new(x:Number, y:Number):Regress.FooBRect {
+ // Gjs wrapper for regress_foo_brect_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page
new file mode 100644
index 00000000..fd1e9d6e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooBRect</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page
new file mode 100644
index 00000000..7d82f4f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.get_contained_type.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion.get_contained_type"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBUnion" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_foo_bunion_get_contained_type</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBUnion.prototype.get_contained_type</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_contained_type():Number {
+ // Gjs wrapper for regress_foo_bunion_get_contained_type()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.new.page
new file mode 100644
index 00000000..e16397c9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBUnion" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooBUnion</api:type>
+ </api:returns>
+ <api:name>regress_foo_bunion_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBUnion.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.FooBUnion {
+ // Gjs wrapper for regress_foo_bunion_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page
new file mode 100644
index 00000000..8644d96e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooBUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page
new file mode 100644
index 00000000..896d02ad
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.method.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_boxed_method</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBoxed.prototype.method</title>
+
+<synopsis><code mime="text/x-gjs">
+function method():void {
+ // Gjs wrapper for regress_foo_boxed_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.new.page
new file mode 100644
index 00000000..67b1c4fc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooBoxed</api:type>
+ </api:returns>
+ <api:name>regress_foo_boxed_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBoxed.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.FooBoxed {
+ // Gjs wrapper for regress_foo_boxed_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page
new file mode 100644
index 00000000..bca1f99a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooBoxed</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page
new file mode 100644
index 00000000..0b4f9e52
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBuffer"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooBuffer</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let foo_buffer = new Regress.FooBuffer();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ <item>
+ <code>Regress.FooBuffer</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page
new file mode 100644
index 00000000..871ec7af
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBuffer.some_method.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBuffer.some_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBuffer" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_buffer_some_method</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBuffer.prototype.some_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function some_method():void {
+ // Gjs wrapper for regress_foo_buffer_some_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page
new file mode 100644
index 00000000..52feda29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page
new file mode 100644
index 00000000..0b1b6b86
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.method.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.FooDBusData.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooDBusData" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_dbus_data_method</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooDBusData.prototype.method</title>
+
+<synopsis><code mime="text/x-gjs">
+function method():void {
+ // Gjs wrapper for regress_foo_dbus_data_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page
new file mode 100644
index 00000000..b4eaeade
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooDBusData.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooDBusData"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooDBusData</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page
new file mode 100644
index 00000000..00169aaf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumFullname"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumFullname</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooEnumFullname.ONE</code></title>
+
+</item>
+<item>
+<title><code>FooEnumFullname.TWO</code></title>
+
+</item>
+<item>
+<title><code>FooEnumFullname.THREE</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page
new file mode 100644
index 00000000..d2b41e61
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumNoType"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumNoType</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooEnumNoType.UN</code></title>
+
+</item>
+<item>
+<title><code>FooEnumNoType.DEUX</code></title>
+
+</item>
+<item>
+<title><code>FooEnumNoType.TROIS</code></title>
+
+</item>
+<item>
+<title><code>FooEnumNoType.NEUF</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page
new file mode 100644
index 00000000..e3240c10
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.method.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType.method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_foo_enum_type_method</api:name>
+ <api:arg>
+ <api:type>Regress.FooEnumType</api:type>
+ <api:name>regress_foo_enum</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>method</title>
+
+<synopsis><code mime="text/x-gjs">
+function method(regress_foo_enum:Regress.FooEnumType):Number {
+ // Gjs wrapper for regress_foo_enum_type_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>regress_foo_enum</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page
new file mode 100644
index 00000000..c3ff89b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumType</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooEnumType.ALPHA</code></title>
+
+</item>
+<item>
+<title><code>FooEnumType.BETA</code></title>
+
+</item>
+<item>
+<title><code>FooEnumType.DELTA</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page
new file mode 100644
index 00000000..4e42fdeb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.returnv.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType.returnv"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooEnumType</api:type>
+ </api:returns>
+ <api:name>regress_foo_enum_type_returnv</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>returnv</title>
+
+<synopsis><code mime="text/x-gjs">
+function returnv(x:Number):Regress.FooEnumType {
+ // Gjs wrapper for regress_foo_enum_type_returnv()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page
new file mode 100644
index 00000000..8c0b6a23
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooError.GOOD</code></title>
+
+</item>
+<item>
+<title><code>FooError.BAD</code></title>
+
+</item>
+<item>
+<title><code>FooError.UGLY</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page
new file mode 100644
index 00000000..ed023765
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_foo_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>quark</title>
+
+<synopsis><code mime="text/x-gjs">
+function quark():GLib.Quark {
+ // Gjs wrapper for regress_foo_error_quark()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page
new file mode 100644
index 00000000..ce368302
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEvent.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEvent"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooEvent</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page
new file mode 100644
index 00000000..562ec03c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventAny.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventAny"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooEventAny</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page
new file mode 100644
index 00000000..0000add5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEventExpose.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventExpose"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooEventExpose</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page
new file mode 100644
index 00000000..53539d49
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsNoType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooFlagsNoType"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooFlagsNoType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page
new file mode 100644
index 00000000..2b4afeb5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooFlagsType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooFlagsType"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooFlagsType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page
new file mode 100644
index 00000000..1a61cfbb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooForeignStruct" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooForeignStruct</api:type>
+ </api:returns>
+ <api:name>regress_foo_foreign_struct_copy</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooForeignStruct.prototype.copy</title>
+
+<synopsis><code mime="text/x-gjs">
+function copy():Regress.FooForeignStruct {
+ // Gjs wrapper for regress_foo_foreign_struct_copy()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.new.page
new file mode 100644
index 00000000..814eef35
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooForeignStruct" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooForeignStruct</api:type>
+ </api:returns>
+ <api:name>regress_foo_foreign_struct_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooForeignStruct.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.FooForeignStruct {
+ // Gjs wrapper for regress_foo_foreign_struct_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page
new file mode 100644
index 00000000..312994a9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooForeignStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page
new file mode 100644
index 00000000..17f6ec94
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface-do_regress_foo"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterface::do_regress_foo</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_do_regress_foo(x:Number):void {
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page
new file mode 100644
index 00000000..993998e4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface.do_regress_foo"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_interface_do_regress_foo</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooInterface.prototype.do_regress_foo</title>
+
+<synopsis><code mime="text/x-gjs">
+function do_regress_foo(x:Number):void {
+ // Gjs wrapper for regress_foo_interface_do_regress_foo()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page
new file mode 100644
index 00000000..83ae1d0d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterface</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let foo_interface = new Regress.FooInterface();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.FooInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page
new file mode 100644
index 00000000..d38a4488
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.static_method.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_interface_static_method</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>static_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function static_method(x:Number):void {
+ // Gjs wrapper for regress_foo_interface_static_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page
new file mode 100644
index 00000000..4bdaf370
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-read_fn.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-read_fn"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject::read_fn</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_read_fn(offset:Number, length:Number):void {
+}
+</code></synopsis>
+
+
+ <p>Read some stuff.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>offset</code></title>
+<p>offset</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>length</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page
new file mode 100644
index 00000000..6e5657d4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-signal.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="signal" type="guide"/>
+ <title type="link" role="topic">signal</title>
+
+ </info>
+ <title>Regress.FooObject::signal</title>
+
+<synopsis><code mime="text/x-python">
+function callback(foo_object, object:GObject.Object, p0:gpointer, ):String;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>foo_object</code></title>
+<p>instance of <link xref="Regress.FooObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>p0</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page
new file mode 100644
index 00000000..a738fdd7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-string.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-string"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="property" type="guide"/>
+ <title type="link" role="topic">string</title>
+
+ </info>
+ <title>Regress.FooObject:string</title>
+
+<synopsis><code mime="text/x-python">
+"string" String : Read / Write / Construct
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page
new file mode 100644
index 00000000..d2ccd866
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject-virtual_method.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-virtual_method"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject::virtual_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_virtual_method(first_param:Number):Boolean {
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>first_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page
new file mode 100644
index 00000000..83fec18f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.a_global_method.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.a_global_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_a_global_method</api:name>
+ <api:arg>
+ <api:type>Utility.Object</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>a_global_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function a_global_method(obj:Utility.Object):void {
+ // Gjs wrapper for regress_foo_object_a_global_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page
new file mode 100644
index 00000000..f1bfd923
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.append_new_stack_layer.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.append_new_stack_layer"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooOtherObject</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_append_new_stack_layer</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.append_new_stack_layer</title>
+
+<synopsis><code mime="text/x-gjs">
+function append_new_stack_layer(x:Number):Regress.FooOtherObject {
+ // Gjs wrapper for regress_foo_object_append_new_stack_layer()
+}
+</code></synopsis>
+
+
+ <p>This shouldn't be scanned as a constructor.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page
new file mode 100644
index 00000000..d74f95bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.dup_name.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.dup_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_dup_name</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.dup_name</title>
+
+<synopsis><code mime="text/x-gjs">
+function dup_name():String {
+ // Gjs wrapper for regress_foo_object_dup_name()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page
new file mode 100644
index 00000000..7da1b86e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.external_type.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.external_type"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Utility.Object</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_external_type</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.external_type</title>
+
+<synopsis><code mime="text/x-gjs">
+function external_type():Utility.Object {
+ // Gjs wrapper for regress_foo_object_external_type()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p><code>null</code> always</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page
new file mode 100644
index 00000000..8ab86544
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_default.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.get_default"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooSubobject</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_get_default</api:name>
+ </api:function>
+
+ </info>
+ <title>get_default</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_default():Regress.FooSubobject {
+ // Gjs wrapper for regress_foo_object_get_default()
+}
+</code></synopsis>
+
+
+ <p>This function is intended to match clutter_stage_get_default which
+uses a C sugar return type.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>The global <link xref="Regress.FooSubobject"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page
new file mode 100644
index 00000000..b9c69d2b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.get_name.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.get_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_get_name</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.get_name</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_name():String {
+ // Gjs wrapper for regress_foo_object_get_name()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page
new file mode 100644
index 00000000..3209f200
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.handle_glyph.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.handle_glyph"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_handle_glyph</api:name>
+ <api:arg>
+ <api:type>Utility.Glyph</api:type>
+ <api:name>glyph</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.handle_glyph</title>
+
+<synopsis><code mime="text/x-gjs">
+function handle_glyph(glyph:Utility.Glyph):void {
+ // Gjs wrapper for regress_foo_object_handle_glyph()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>glyph</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page
new file mode 100644
index 00000000..f42e16bb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.is_it_time_yet.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.is_it_time_yet"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_is_it_time_yet</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>time</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.is_it_time_yet</title>
+
+<synopsis><code mime="text/x-gjs">
+function is_it_time_yet(time:Number):void {
+ // Gjs wrapper for regress_foo_object_is_it_time_yet()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>time</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new.page
new file mode 100644
index 00000000..fa40bfc3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooObject</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.FooObject {
+ // Gjs wrapper for regress_foo_object_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new_as_super.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new_as_super.page
new file mode 100644
index 00000000..0323a1be
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.new_as_super.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.new_as_super"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_new_as_super</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.new_as_super</title>
+
+<synopsis><code mime="text/x-gjs">
+function new_as_super():GObject.Object {
+ // Gjs wrapper for regress_foo_object_new_as_super()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page
new file mode 100644
index 00000000..1cbea89b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let foo_object = new Regress.FooObject({
+ <link xref='Regress.FooObject-hidden'>hidden</link>: value,
+ <link xref='Regress.FooObject-string'>string</link>: value,
+});
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page
new file mode 100644
index 00000000..78bdb648
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.read.page
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.read"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_read</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>offset</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.read</title>
+
+<synopsis><code mime="text/x-gjs">
+function read(offset:Number, length:Number):void {
+ // Gjs wrapper for regress_foo_object_read()
+}
+</code></synopsis>
+
+
+ <p>Read some stuff.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>offset</code></title>
+<p>offset</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>length</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page
new file mode 100644
index 00000000..c4c1045a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.static_meth.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.static_meth"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_static_meth</api:name>
+ </api:function>
+
+ </info>
+ <title>static_meth</title>
+
+<synopsis><code mime="text/x-gjs">
+function static_meth():Number {
+ // Gjs wrapper for regress_foo_object_static_meth()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page
new file mode 100644
index 00000000..1f509214
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.various.page
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.various"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_various</api:name>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GType</api:type>
+ <api:name>some_type</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.various</title>
+
+<synopsis><code mime="text/x-gjs">
+function various(data:gpointer, some_type:GType):void {
+ // Gjs wrapper for regress_foo_object_various()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>some_type</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page
new file mode 100644
index 00000000..3467ca20
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObject.virtual_method.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.virtual_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_virtual_method</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>first_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.prototype.virtual_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function virtual_method(first_param:Number):Boolean {
+ // Gjs wrapper for regress_foo_object_virtual_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>first_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page
new file mode 100644
index 00000000..44a63ab1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooObjectCookie.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObjectCookie"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooObjectCookie</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page
new file mode 100644
index 00000000..0916a449
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooOtherObject.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.FooOtherObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooOtherObject</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let foo_other_object = new Regress.FooOtherObject();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooOtherObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page
new file mode 100644
index 00000000..276450e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.add.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle.add"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooRectangle" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_rectangle_add</api:name>
+ <api:arg>
+ <api:type>Regress.FooRectangle</api:type>
+ <api:name>r2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooRectangle.prototype.add</title>
+
+<synopsis><code mime="text/x-gjs">
+function add(r2:Regress.FooRectangle):void {
+ // Gjs wrapper for regress_foo_rectangle_add()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>r2</code></title>
+<p>source rectangle</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page
new file mode 100644
index 00000000..0cfef622
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooRectangle.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooRectangle</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page
new file mode 100644
index 00000000..8a08c9ae
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStackLayer.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStackLayer"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooStackLayer</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooStackLayer.DESKTOP</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.BOTTOM</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.NORMAL</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.TOP</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.DOCK</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.FULLSCREEN</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.FOCUSED_WINDOW</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.OVERRIDE_REDIRECT</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.LAST</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page
new file mode 100644
index 00000000..84f5d192
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page
new file mode 100644
index 00000000..961a22e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy-event.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-destroy-event"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="signal" type="guide"/>
+ <title type="link" role="topic">destroy-event</title>
+
+ </info>
+ <title>Regress.FooSubInterface::destroy-event</title>
+
+<synopsis><code mime="text/x-python">
+function callback(foo_sub_interface, ):void;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>foo_sub_interface</code></title>
+<p>instance of <link xref="Regress.FooSubInterface"/> that is emitting the signal</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page
new file mode 100644
index 00000000..5abc585f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-destroy_event.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-destroy_event"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::destroy_event</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_destroy_event():void {
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page
new file mode 100644
index 00000000..81649248
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_bar.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-do_bar"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::do_bar</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_do_bar():void {
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page
new file mode 100644
index 00000000..4945c890
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface-do_baz.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-do_baz"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::do_baz</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_do_baz(callback:GObject.Callback):void {
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page
new file mode 100644
index 00000000..a258a3e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_bar.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface.do_bar"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_sub_interface_do_bar</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooSubInterface.prototype.do_bar</title>
+
+<synopsis><code mime="text/x-gjs">
+function do_bar():void {
+ // Gjs wrapper for regress_foo_sub_interface_do_bar()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page
new file mode 100644
index 00000000..b55a8d78
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.do_baz.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface.do_baz"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_sub_interface_do_baz</api:name>
+ <api:arg>
+ <api:type>GObject.Callback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooSubInterface.prototype.do_baz</title>
+
+<synopsis><code mime="text/x-gjs">
+function do_baz(callback:GObject.Callback):void {
+ // Gjs wrapper for regress_foo_sub_interface_do_baz()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page
new file mode 100644
index 00000000..0694e3df
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubInterface.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let foo_sub_interface = new Regress.FooSubInterface();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.FooSubInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.new.page
new file mode 100644
index 00000000..08cb116d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubobject.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubobject" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooSubobject</api:type>
+ </api:returns>
+ <api:name>regress_foo_subobject_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooSubobject.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.FooSubobject {
+ // Gjs wrapper for regress_foo_subobject_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page
new file mode 100644
index 00000000..f9cac644
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooSubobject.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubobject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubobject</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let foo_subobject = new Regress.FooSubobject();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ <item>
+ <code>Regress.FooSubobject</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page
new file mode 100644
index 00000000..430dce7c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooThingWithArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooThingWithArray"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooThingWithArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page
new file mode 100644
index 00000000..9746f17e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUnion"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page
new file mode 100644
index 00000000..2b94f691
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooUtilityStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUtilityStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooUtilityStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page
new file mode 100644
index 00000000..c389ef05
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooXEvent.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooXEvent"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooXEvent</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page
new file mode 100644
index 00000000..44a946ee
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeGnomeKeyringPasswordSchema.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.LikeGnomeKeyringPasswordSchema</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page
new file mode 100644
index 00000000..fb4831f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeXklConfigItem"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.LikeXklConfigItem</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page
new file mode 100644
index 00000000..f81bc5df
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.LikeXklConfigItem.set_name.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeXklConfigItem.set_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.LikeXklConfigItem" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_like_xkl_config_item_set_name</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>name</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.LikeXklConfigItem.prototype.set_name</title>
+
+<synopsis><code mime="text/x-gjs">
+function set_name(name:String):void {
+ // Gjs wrapper for regress_like_xkl_config_item_set_name()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>name</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page
new file mode 100644
index 00000000..f66aee44
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.PtrArrayAlias.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.PtrArrayAlias"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.PtrArrayAlias</title>
+
+
+
+ <p>Typedef'd GPtrArray for some reason</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page
new file mode 100644
index 00000000..f31b58ec
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestABCError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestABCError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestABCError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestABCError.CODE2</code></title>
+
+</item>
+<item>
+<title><code>TestABCError.CODE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page
new file mode 100644
index 00000000..72f9adc3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestABCError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestABCError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_abc_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>quark</title>
+
+<synopsis><code mime="text/x-gjs">
+function quark():GLib.Quark {
+ // Gjs wrapper for regress_test_abc_error_quark()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page
new file mode 100644
index 00000000..751ce883
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.copy.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxed</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_copy</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.prototype.copy</title>
+
+<synopsis><code mime="text/x-gjs">
+function copy():Regress.TestBoxed {
+ // Gjs wrapper for regress_test_boxed_copy()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page
new file mode 100644
index 00000000..5c23da2d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.equals.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.equals"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_equals</api:name>
+ <api:arg>
+ <api:type>Regress.TestBoxed</api:type>
+ <api:name>other</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.prototype.equals</title>
+
+<synopsis><code mime="text/x-gjs">
+function equals(other:Regress.TestBoxed):Boolean {
+ // Gjs wrapper for regress_test_boxed_equals()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>other</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new.page
new file mode 100644
index 00000000..88e33de3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxed</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.TestBoxed {
+ // Gjs wrapper for regress_test_boxed_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page
new file mode 100644
index 00000000..801bad21
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor1.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new_alternative_constructor1"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxed</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new_alternative_constructor1</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.new_alternative_constructor1</title>
+
+<synopsis><code mime="text/x-gjs">
+function new_alternative_constructor1(i:Number):Regress.TestBoxed {
+ // Gjs wrapper for regress_test_boxed_new_alternative_constructor1()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page
new file mode 100644
index 00000000..23fa6723
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor2.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new_alternative_constructor2"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxed</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new_alternative_constructor2</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>j</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.new_alternative_constructor2</title>
+
+<synopsis><code mime="text/x-gjs">
+function new_alternative_constructor2(i:Number, j:Number):Regress.TestBoxed {
+ // Gjs wrapper for regress_test_boxed_new_alternative_constructor2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+
+</item>
+<item>
+<title><code>j</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page
new file mode 100644
index 00000000..8f0c2d28
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.new_alternative_constructor3.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.new_alternative_constructor3"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxed</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_new_alternative_constructor3</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>s</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.new_alternative_constructor3</title>
+
+<synopsis><code mime="text/x-gjs">
+function new_alternative_constructor3(s:String):Regress.TestBoxed {
+ // Gjs wrapper for regress_test_boxed_new_alternative_constructor3()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>s</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page
new file mode 100644
index 00000000..baa423f2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxed</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page
new file mode 100644
index 00000000..06bccc87
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.copy.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxedB</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_b_copy</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedB.prototype.copy</title>
+
+<synopsis><code mime="text/x-gjs">
+function copy():Regress.TestBoxedB {
+ // Gjs wrapper for regress_test_boxed_b_copy()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.new.page
new file mode 100644
index 00000000..e71147ae
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.new.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedB" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxedB</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_b_new</api:name>
+ <api:arg>
+ <api:type>gint8</api:type>
+ <api:name>some_int8</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>some_long</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedB.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new(some_int8:gint8, some_long:Number):Regress.TestBoxedB {
+ // Gjs wrapper for regress_test_boxed_b_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>some_int8</code></title>
+
+</item>
+<item>
+<title><code>some_long</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page
new file mode 100644
index 00000000..0e39780b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.new.page
new file mode 100644
index 00000000..542c93e4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedC.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedC" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxedC</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_c_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedC.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.TestBoxedC {
+ // Gjs wrapper for regress_test_boxed_c_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page
new file mode 100644
index 00000000..18b77d9f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedC.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedC"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedC</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page
new file mode 100644
index 00000000..7b51fd5b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.copy.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxedD</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_copy</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedD.prototype.copy</title>
+
+<synopsis><code mime="text/x-gjs">
+function copy():Regress.TestBoxedD {
+ // Gjs wrapper for regress_test_boxed_d_copy()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page
new file mode 100644
index 00000000..82df9040
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.free.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.free"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_free</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedD.prototype.free</title>
+
+<synopsis><code mime="text/x-gjs">
+function free():void {
+ // Gjs wrapper for regress_test_boxed_d_free()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page
new file mode 100644
index 00000000..0f7923e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.get_magic.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.get_magic"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_get_magic</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedD.prototype.get_magic</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_magic():Number {
+ // Gjs wrapper for regress_test_boxed_d_get_magic()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.new.page
new file mode 100644
index 00000000..cfd50c56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.new.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxedD</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_new</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>a_string</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>a_int</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedD.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new(a_string:String, a_int:Number):Regress.TestBoxedD {
+ // Gjs wrapper for regress_test_boxed_d_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>a_string</code></title>
+
+</item>
+<item>
+<title><code>a_int</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page
new file mode 100644
index 00000000..995e80dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestBoxedD.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedD</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page
new file mode 100644
index 00000000..bed84d50
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page
new file mode 100644
index 00000000..7d3f7b83
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackArray"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page
new file mode 100644
index 00000000..0b8fca1d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackFull.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackFull"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackFull</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page
new file mode 100644
index 00000000..804382f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackGError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackGError"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackGError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page
new file mode 100644
index 00000000..06ebb706
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackHashtable.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackHashtable"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackHashtable</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page
new file mode 100644
index 00000000..28b21ea4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackOwnedGError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackOwnedGError"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackOwnedGError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page
new file mode 100644
index 00000000..286c830a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestCallbackUserData.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackUserData"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackUserData</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page
new file mode 100644
index 00000000..589059d5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestDEFError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestDEFError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestDEFError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestDEFError.CODE0</code></title>
+
+</item>
+<item>
+<title><code>TestDEFError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestDEFError.CODE2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
new file mode 100644
index 00000000..814b474b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnum"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnum</title>
+
+
+
+ <p>By purpose, not all members have documentation</p>
+
+
+
+
+<terms>
+<item>
+<title><code>TestEnum.VALUE1</code></title>
+<p>value 1</p>
+</item>
+<item>
+<title><code>TestEnum.VALUE2</code></title>
+<p>value 2</p>
+</item>
+<item>
+<title><code>TestEnum.VALUE3</code></title>
+
+</item>
+<item>
+<title><code>TestEnum.VALUE4</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page
new file mode 100644
index 00000000..b4dfb296
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.param.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnum.param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_test_enum_param</api:name>
+ <api:arg>
+ <api:type>Regress.TestEnum</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>param</title>
+
+<synopsis><code mime="text/x-gjs">
+function param(e:Regress.TestEnum):String {
+ // Gjs wrapper for regress_test_enum_param()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page
new file mode 100644
index 00000000..5c0c5594
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumNoGEnum.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnumNoGEnum"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnumNoGEnum</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestEnumNoGEnum.EVALUE1</code></title>
+
+</item>
+<item>
+<title><code>TestEnumNoGEnum.EVALUE2</code></title>
+
+</item>
+<item>
+<title><code>TestEnumNoGEnum.EVALUE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page
new file mode 100644
index 00000000..df3cfa1e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnumUnsigned.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnumUnsigned"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnumUnsigned</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestEnumUnsigned.VALUE1</code></title>
+
+</item>
+<item>
+<title><code>TestEnumUnsigned.VALUE2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page
new file mode 100644
index 00000000..d6a6ebb2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestError.CODE2</code></title>
+
+</item>
+<item>
+<title><code>TestError.CODE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page
new file mode 100644
index 00000000..f849bfe4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>quark</title>
+
+<synopsis><code mime="text/x-gjs">
+function quark():GLib.Quark {
+ // Gjs wrapper for regress_test_error_quark()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page
new file mode 100644
index 00000000..d5bfeeb4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFlags.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFlags"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFlags</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.new.page
new file mode 100644
index 00000000..94c80cfa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFloating.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFloating" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestFloating</api:type>
+ </api:returns>
+ <api:name>regress_test_floating_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestFloating.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.TestFloating {
+ // Gjs wrapper for regress_test_floating_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>A new floating <link xref="Regress.TestFloating"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page
new file mode 100644
index 00000000..07ef3f21
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFloating.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFloating"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFloating</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_floating = new Regress.TestFloating();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>GObject.InitiallyUnowned</code>
+ <item>
+ <code>Regress.TestFloating</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.page
new file mode 100644
index 00000000..a8cb35a0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObject</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_fundamental_object = new Regress.TestFundamentalObject();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestFundamentalObject</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.ref.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.ref.page
new file mode 100644
index 00000000..b1c37efb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.ref.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject.ref"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestFundamentalObject</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_object_ref</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestFundamentalObject.prototype.ref</title>
+
+<synopsis><code mime="text/x-gjs">
+function ref():Regress.TestFundamentalObject {
+ // Gjs wrapper for regress_test_fundamental_object_ref()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>A new <link xref="Regress.TestFundamentalObject"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.unref.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.unref.page
new file mode 100644
index 00000000..758a30d7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObject.unref.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject.unref"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_object_unref</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestFundamentalObject.prototype.unref</title>
+
+<synopsis><code mime="text/x-gjs">
+function unref():void {
+ // Gjs wrapper for regress_test_fundamental_object_unref()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page
new file mode 100644
index 00000000..73a33285
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectCopyFunction.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectCopyFunction"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObjectCopyFunction</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page
new file mode 100644
index 00000000..df0e8fba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalObjectFinalizeFunction.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectFinalizeFunction"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObjectFinalizeFunction</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.new.page
new file mode 100644
index 00000000..c6a31f90
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.new.page
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObject.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalSubObject"
+ group="constructor"
+ type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestFundamentalSubObject</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_sub_object_new</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestFundamentalSubObject.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new(data:String):Regress.TestFundamentalSubObject {
+ // Gjs wrapper for regress_test_fundamental_sub_object_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.page
new file mode 100644
index 00000000..619eb308
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestFundamentalSubObject.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalSubObject</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_fundamental_sub_object = new Regress.TestFundamentalSubObject();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestFundamentalObject</code>
+ <item>
+ <code>Regress.TestFundamentalSubObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page
new file mode 100644
index 00000000..176211b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.do_foo"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_do_foo</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.prototype.do_foo</title>
+
+<synopsis><code mime="text/x-gjs">
+function do_foo(x:Number):void {
+ // Gjs wrapper for regress_test_inherit_drawable_do_foo()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
new file mode 100644
index 00000000..038b73f9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.do_foo_maybe_throw"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_do_foo_maybe_throw</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.prototype.do_foo_maybe_throw</title>
+
+<synopsis><code mime="text/x-gjs">
+function do_foo_maybe_throw(x:Number):void {
+ // Gjs wrapper for regress_test_inherit_drawable_do_foo_maybe_throw()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page
new file mode 100644
index 00000000..9dd2cbaa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_origin.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.get_origin"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_get_origin</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.prototype.get_origin</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_origin():void {
+ // Gjs wrapper for regress_test_inherit_drawable_get_origin()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page
new file mode 100644
index 00000000..669ab1ce
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.get_size.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.get_size"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_get_size</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.prototype.get_size</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_size():void {
+ // Gjs wrapper for regress_test_inherit_drawable_get_size()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page
new file mode 100644
index 00000000..02fa0649
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritDrawable.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestInheritDrawable</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_inherit_drawable = new Regress.TestInheritDrawable();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestInheritDrawable</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page
new file mode 100644
index 00000000..0df0396b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInheritPixmapObjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritPixmapObjectClass"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestInheritPixmapObjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page
new file mode 100644
index 00000000..4f398908
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestInterface.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestInterface</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_interface = new Regress.TestInterface();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page
new file mode 100644
index 00000000..c2d87a47
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-all.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-all"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">all</title>
+
+ </info>
+ <title>Regress.TestObj::all</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, ):void;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page
new file mode 100644
index 00000000..3febd772
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-allow_none_vfunc.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-allow_none_vfunc"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj::allow_none_vfunc</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_allow_none_vfunc(two:Regress.TestObj):void {
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>two</code></title>
+<p>Another object</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page
new file mode 100644
index 00000000..f1f1b520
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-bare.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-bare"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">bare</title>
+
+ </info>
+ <title>Regress.TestObj:bare</title>
+
+<synopsis><code mime="text/x-python">
+"bare" GObject.Object : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page
new file mode 100644
index 00000000..a392a771
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-boxed.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-boxed"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">boxed</title>
+
+ </info>
+ <title>Regress.TestObj:boxed</title>
+
+<synopsis><code mime="text/x-python">
+"boxed" Regress.TestBoxed : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page
new file mode 100644
index 00000000..8e5e2bfe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-cleanup.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-cleanup"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">cleanup</title>
+
+ </info>
+ <title>Regress.TestObj::cleanup</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, ):void;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page
new file mode 100644
index 00000000..5e2df6bb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-double.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-double"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">double</title>
+
+ </info>
+ <title>Regress.TestObj:double</title>
+
+<synopsis><code mime="text/x-python">
+"double" Number : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page
new file mode 100644
index 00000000..d0294e9e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-first.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-first"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">first</title>
+
+ </info>
+ <title>Regress.TestObj::first</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, ):void;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page
new file mode 100644
index 00000000..0554ba82
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-float.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-float"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">float</title>
+
+ </info>
+ <title>Regress.TestObj:float</title>
+
+<synopsis><code mime="text/x-python">
+"float" Number : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page
new file mode 100644
index 00000000..6b222e4e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-gtype.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-gtype"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">gtype</title>
+
+ </info>
+ <title>Regress.TestObj:gtype</title>
+
+<synopsis><code mime="text/x-python">
+"gtype" GType : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page
new file mode 100644
index 00000000..1d3c3c22
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table-old.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-hash-table-old"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">hash-table-old</title>
+
+ </info>
+ <title>Regress.TestObj:hash-table-old</title>
+
+<synopsis><code mime="text/x-python">
+"hash-table-old" {String: gint8} : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page
new file mode 100644
index 00000000..f8d3441a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-hash-table.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-hash-table"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">hash-table</title>
+
+ </info>
+ <title>Regress.TestObj:hash-table</title>
+
+<synopsis><code mime="text/x-python">
+"hash-table" {String: gint8} : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page
new file mode 100644
index 00000000..0c3f4ccb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-int.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-int"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">int</title>
+
+ </info>
+ <title>Regress.TestObj:int</title>
+
+<synopsis><code mime="text/x-python">
+"int" Number : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page
new file mode 100644
index 00000000..9d8ea917
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list-old.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-list-old"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">list-old</title>
+
+ </info>
+ <title>Regress.TestObj:list-old</title>
+
+<synopsis><code mime="text/x-python">
+"list-old" [String] : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page
new file mode 100644
index 00000000..02638e9e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-list.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-list"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">list</title>
+
+ </info>
+ <title>Regress.TestObj:list</title>
+
+<synopsis><code mime="text/x-python">
+"list" [String] : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page
new file mode 100644
index 00000000..1d832171
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-matrix.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-matrix"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj::matrix</title>
+
+<synopsis><code mime="text/x-gjs">
+function vfunc_matrix(somestr:String):Number {
+}
+</code></synopsis>
+
+
+ <p>This method is virtual. Notably its name differs from the virtual
+slot name, which makes it useful for testing bindings handle this
+case.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>somestr</code></title>
+<p>Meaningless string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
new file mode 100644
index 00000000..c359b137
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-array-len-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-array-len-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-array-len-prop</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, arr:[Number], ):void;
+</code></synopsis>
+
+
+ <p>This test signal similar to GSettings::change-event</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arr</code></title>
+<p>numbers, or <code>null</code></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page
new file mode 100644
index 00000000..b1919f9b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-array-prop.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-array-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-array-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-array-prop</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, arr:[Number], ):void;
+</code></synopsis>
+
+
+ <p>This test signal is like TelepathyGlib's
+ TpChannel:: group-members-changed-detailed:</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arr</code></title>
+<p>numbers</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page
new file mode 100644
index 00000000..31b8ca38
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-foreign-struct.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-foreign-struct"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-foreign-struct</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-foreign-struct</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, cr:cairo.Context, ):void;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>cr</code></title>
+<p>A cairo context.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page
new file mode 100644
index 00000000..137a4130
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-hash-prop.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-hash-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-hash-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-hash-prop</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, hash:{String: GObject.Value}, ):void;
+</code></synopsis>
+
+
+ <p>This test signal is like TelepathyGlib's
+ TpAccount::status-changed</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>hash</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page
new file mode 100644
index 00000000..6c528c03
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-int64-prop.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-int64-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-int64-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-int64-prop</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, i:Number, ):Number;
+</code></synopsis>
+
+
+ <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+the introspection client langage.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page
new file mode 100644
index 00000000..f724bcbf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-intarray-ret.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-intarray-ret"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-intarray-ret</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-intarray-ret</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, i:Number, ):[Number];
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page
new file mode 100644
index 00000000..d7e15e05
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-obj.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-obj"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-obj</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-obj</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, obj:GObject.Object, ):void;
+</code></synopsis>
+
+
+ <p>Test transfer none GObject as a param (tests refcounting).
+Use with regress_test_obj_emit_sig_with_obj</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>obj</code></title>
+<p>A newly created RegressTestObj</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page
new file mode 100644
index 00000000..a63e2076
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-strv.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-strv"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-strv</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-strv</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, strs:[String], ):void;
+</code></synopsis>
+
+
+ <p>Test GStrv as a param.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>strs</code></title>
+<p>strings</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page
new file mode 100644
index 00000000..6fbf7a09
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-sig-with-uint64-prop.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-uint64-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-uint64-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-uint64-prop</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, i:Number, ):Number;
+</code></synopsis>
+
+
+ <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+the introspection client langage.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page
new file mode 100644
index 00000000..2e91097a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-string.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-string"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">string</title>
+
+ </info>
+ <title>Regress.TestObj:string</title>
+
+<synopsis><code mime="text/x-python">
+"string" String : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page
new file mode 100644
index 00000000..b19711f1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test-with-static-scope-arg.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-test-with-static-scope-arg"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">test-with-static-scope-arg</title>
+
+ </info>
+ <title>Regress.TestObj::test-with-static-scope-arg</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, object:Regress.TestSimpleBoxedA, ):void;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>object</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page
new file mode 100644
index 00000000..9700cefd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-test.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-test"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">test</title>
+
+ </info>
+ <title>Regress.TestObj::test</title>
+
+<synopsis><code mime="text/x-python">
+function callback(test_obj, ):void;
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.constructor.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.constructor.page
new file mode 100644
index 00000000..4f2183d8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.constructor.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.constructor"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestObj</api:type>
+ </api:returns>
+ <api:name>regress_constructor</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.constructor</title>
+
+<synopsis><code mime="text/x-gjs">
+function constructor():Regress.TestObj {
+ // Gjs wrapper for regress_constructor()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page
new file mode 100644
index 00000000..0770d0d3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.do_matrix.page
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.do_matrix"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_do_matrix</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>somestr</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.do_matrix</title>
+
+<synopsis><code mime="text/x-gjs">
+function do_matrix(somestr:String):Number {
+ // Gjs wrapper for regress_test_obj_do_matrix()
+}
+</code></synopsis>
+
+
+ <p>This method is virtual. Notably its name differs from the virtual
+slot name, which makes it useful for testing bindings handle this
+case.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>somestr</code></title>
+<p>Meaningless string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
new file mode 100644
index 00000000..5e719483
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_foreign_struct"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_foreign_struct</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.emit_sig_with_foreign_struct</title>
+
+<synopsis><code mime="text/x-gjs">
+function emit_sig_with_foreign_struct():void {
+ // Gjs wrapper for regress_test_obj_emit_sig_with_foreign_struct()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page
new file mode 100644
index 00000000..1c46dfbb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_int64.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_int64"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_int64</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.emit_sig_with_int64</title>
+
+<synopsis><code mime="text/x-gjs">
+function emit_sig_with_int64():void {
+ // Gjs wrapper for regress_test_obj_emit_sig_with_int64()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page
new file mode 100644
index 00000000..ea33a826
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_obj.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_obj"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_obj</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.emit_sig_with_obj</title>
+
+<synopsis><code mime="text/x-gjs">
+function emit_sig_with_obj():void {
+ // Gjs wrapper for regress_test_obj_emit_sig_with_obj()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page
new file mode 100644
index 00000000..35c06780
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.emit_sig_with_uint64.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_uint64"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_uint64</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.emit_sig_with_uint64</title>
+
+<synopsis><code mime="text/x-gjs">
+function emit_sig_with_uint64():void {
+ // Gjs wrapper for regress_test_obj_emit_sig_with_uint64()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page
new file mode 100644
index 00000000..b3ff3bf7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.forced_method.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.forced_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_forced_method</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.forced_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function forced_method():void {
+ // Gjs wrapper for regress_forced_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page
new file mode 100644
index 00000000..9ee87686
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.instance_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_instance_method</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.instance_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function instance_method():Number {
+ // Gjs wrapper for regress_test_obj_instance_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page
new file mode 100644
index 00000000..fe260691
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.instance_method_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.instance_method_callback"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_instance_method_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.instance_method_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function instance_method_callback(callback:Regress.TestCallback):void {
+ // Gjs wrapper for regress_test_obj_instance_method_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new.page
new file mode 100644
index 00000000..024db932
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestObj</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_new</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new(obj:Regress.TestObj):Regress.TestObj {
+ // Gjs wrapper for regress_test_obj_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_callback.page
new file mode 100644
index 00000000..4eaa0365
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_callback.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.new_callback"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestObj</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_new_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.new_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function new_callback(callback:Regress.TestCallbackUserData):Regress.TestObj {
+ // Gjs wrapper for regress_test_obj_new_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_from_file.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_from_file.page
new file mode 100644
index 00000000..c54fa622
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.new_from_file.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.new_from_file"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestObj</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_new_from_file</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.new_from_file</title>
+
+<synopsis><code mime="text/x-gjs">
+function new_from_file(x:String):Regress.TestObj {
+ // Gjs wrapper for regress_test_obj_new_from_file()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page
new file mode 100644
index 00000000..dfc9ef04
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.null_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_null_out</api:name>
+ </api:function>
+
+ </info>
+ <title>null_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function null_out():void {
+ // Gjs wrapper for regress_test_obj_null_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
new file mode 100644
index 00000000..b8428942
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
@@ -0,0 +1,75 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_obj = new Regress.TestObj({
+ <link xref='Regress.TestObj-bare'>bare</link>: value,
+ <link xref='Regress.TestObj-boxed'>boxed</link>: value,
+ <link xref='Regress.TestObj-double'>double</link>: value,
+ <link xref='Regress.TestObj-float'>float</link>: value,
+ <link xref='Regress.TestObj-gtype'>gtype</link>: value,
+ <link xref='Regress.TestObj-hash-table'>hash_table</link>: value,
+ <link xref='Regress.TestObj-hash-table-old'>hash_table_old</link>: value,
+ <link xref='Regress.TestObj-int'>int</link>: value,
+ <link xref='Regress.TestObj-list'>list</link>: value,
+ <link xref='Regress.TestObj-list-old'>list_old</link>: value,
+ <link xref='Regress.TestObj-string'>string</link>: value,
+});
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestObj</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page
new file mode 100644
index 00000000..dca89e84
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.set_bare.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.set_bare"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_set_bare</api:name>
+ <api:arg>
+ <api:type>GObject.Object</api:type>
+ <api:name>bare</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.set_bare</title>
+
+<synopsis><code mime="text/x-gjs">
+function set_bare(bare:GObject.Object):void {
+ // Gjs wrapper for regress_test_obj_set_bare()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>bare</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page
new file mode 100644
index 00000000..aee3f2c6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_inout_param.page
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_inout_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_inout_param</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.skip_inout_param</title>
+
+<synopsis><code mime="text/x-gjs">
+function skip_inout_param(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+ // Gjs wrapper for regress_test_obj_skip_inout_param()
+}
+</code></synopsis>
+
+
+ <p>Check that the out value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page
new file mode 100644
index 00000000..75b7bb2c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_out_param.page
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_out_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_out_param</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.skip_out_param</title>
+
+<synopsis><code mime="text/x-gjs">
+function skip_out_param(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+ // Gjs wrapper for regress_test_obj_skip_out_param()
+}
+</code></synopsis>
+
+
+ <p>Check that the out value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page
new file mode 100644
index 00000000..cd2081f8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_param.page
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_param</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.skip_param</title>
+
+<synopsis><code mime="text/x-gjs">
+function skip_param(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+ // Gjs wrapper for regress_test_obj_skip_param()
+}
+</code></synopsis>
+
+
+ <p>Check that a parameter is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page
new file mode 100644
index 00000000..22ec5729
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val.page
@@ -0,0 +1,82 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_return_val"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_return_val</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.skip_return_val</title>
+
+<synopsis><code mime="text/x-gjs">
+function skip_return_val(a:Number, c:Number, inout_d:Number, num1:Number, num2:Number):Boolean {
+ // Gjs wrapper for regress_test_obj_skip_return_val()
+}
+</code></synopsis>
+
+
+ <p>Check that the return value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page
new file mode 100644
index 00000000..74701f7d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.skip_return_val_no_out.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_return_val_no_out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_return_val_no_out</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.skip_return_val_no_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function skip_return_val_no_out(a:Number):Boolean {
+ // Gjs wrapper for regress_test_obj_skip_return_val_no_out()
+}
+</code></synopsis>
+
+
+ <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
+raise an error.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p><code>true</code> if the call succeeds, <code>false</code> if @error is set.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page
new file mode 100644
index 00000000..d1f2e59b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_static_method</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>static_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function static_method(x:Number):Number {
+ // Gjs wrapper for regress_test_obj_static_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page
new file mode 100644
index 00000000..13e917eb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.static_method_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.static_method_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_static_method_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>static_method_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function static_method_callback(callback:Regress.TestCallback):void {
+ // Gjs wrapper for regress_test_obj_static_method_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page
new file mode 100644
index 00000000..78bf63ba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_0.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.torture_signature_0"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_torture_signature_0</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.torture_signature_0</title>
+
+<synopsis><code mime="text/x-gjs">
+function torture_signature_0(x:Number, foo:String, m:Number):void {
+ // Gjs wrapper for regress_test_obj_torture_signature_0()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page
new file mode 100644
index 00000000..553ddd20
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.torture_signature_1.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.torture_signature_1"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_torture_signature_1</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.prototype.torture_signature_1</title>
+
+<synopsis><code mime="text/x-gjs">
+function torture_signature_1(x:Number, foo:String, m:Number):Boolean {
+ // Gjs wrapper for regress_test_obj_torture_signature_1()
+}
+</code></synopsis>
+
+
+ <p>This function throws an error if m is odd.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page
new file mode 100644
index 00000000..858e58a8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestOtherError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestOtherError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestOtherError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestOtherError.CODE2</code></title>
+
+</item>
+<item>
+<title><code>TestOtherError.CODE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page
new file mode 100644
index 00000000..d75b6aa4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestOtherError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestOtherError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_unconventional_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>quark</title>
+
+<synopsis><code mime="text/x-gjs">
+function quark():GLib.Quark {
+ // Gjs wrapper for regress_test_unconventional_error_quark()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page
new file mode 100644
index 00000000..66b477d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateEnum.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateEnum"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestPrivateEnum</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page
new file mode 100644
index 00000000..7b1309da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestPrivateStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestPrivateStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
new file mode 100644
index 00000000..2c8b1abb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestReferenceEnum"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestReferenceEnum</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestReferenceEnum.0</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.1</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.2</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.3</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.4</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.5</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page
new file mode 100644
index 00000000..7f5dfde3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.const_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.const_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_const_return</api:name>
+ </api:function>
+
+ </info>
+ <title>const_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function const_return():Regress.TestSimpleBoxedA {
+ // Gjs wrapper for regress_test_simple_boxed_a_const_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page
new file mode 100644
index 00000000..6aa09744
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.copy.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_copy</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA.prototype.copy</title>
+
+<synopsis><code mime="text/x-gjs">
+function copy():Regress.TestSimpleBoxedA {
+ // Gjs wrapper for regress_test_simple_boxed_a_copy()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page
new file mode 100644
index 00000000..52e58775
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.equals.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.equals"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_equals</api:name>
+ <api:arg>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ <api:name>other_a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA.prototype.equals</title>
+
+<synopsis><code mime="text/x-gjs">
+function equals(other_a:Regress.TestSimpleBoxedA):Boolean {
+ // Gjs wrapper for regress_test_simple_boxed_a_equals()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>other_a</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page
new file mode 100644
index 00000000..9117ddb9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedA.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page
new file mode 100644
index 00000000..b1bd51aa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.copy.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestSimpleBoxedB</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_b_copy</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSimpleBoxedB.prototype.copy</title>
+
+<synopsis><code mime="text/x-gjs">
+function copy():Regress.TestSimpleBoxedB {
+ // Gjs wrapper for regress_test_simple_boxed_b_copy()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page
new file mode 100644
index 00000000..7ecc623e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleBoxedB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleBoxedB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page
new file mode 100644
index 00000000..f8157820
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSimpleCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page
new file mode 100644
index 00000000..ded4a799
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.clone.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA.clone"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_a_clone</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestStructA.prototype.clone</title>
+
+<synopsis><code mime="text/x-gjs">
+function clone():void {
+ // Gjs wrapper for regress_test_struct_a_clone()
+}
+</code></synopsis>
+
+
+ <p>Make a copy of a RegressTestStructA</p>
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page
new file mode 100644
index 00000000..a6a98173
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructA</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page
new file mode 100644
index 00000000..38406e68
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructA.parse.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA.parse"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructA" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_a_parse</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>string</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>parse</title>
+
+<synopsis><code mime="text/x-gjs">
+function parse(string:String):void {
+ // Gjs wrapper for regress_test_struct_a_parse()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>string</code></title>
+<p>ignored</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page
new file mode 100644
index 00000000..20278cd2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.clone.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB.clone"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_b_clone</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestStructB.prototype.clone</title>
+
+<synopsis><code mime="text/x-gjs">
+function clone():void {
+ // Gjs wrapper for regress_test_struct_b_clone()
+}
+</code></synopsis>
+
+
+ <p>Make a copy of a RegressTestStructB</p>
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page
new file mode 100644
index 00000000..21d86261
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page
new file mode 100644
index 00000000..6bd58122
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructC.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructC"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructC</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page
new file mode 100644
index 00000000..aa9f131c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructD.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructD</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page
new file mode 100644
index 00000000..b931c367
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructE</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page
new file mode 100644
index 00000000..3b81e621
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructE__some_union__union.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructE__some_union__union</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page
new file mode 100644
index 00000000..cfb434b4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructF.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructF</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page
new file mode 100644
index 00000000..f0edd05a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.frob.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray.frob"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructFixedArray" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_fixed_array_frob</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestStructFixedArray.prototype.frob</title>
+
+<synopsis><code mime="text/x-gjs">
+function frob():void {
+ // Gjs wrapper for regress_test_struct_fixed_array_frob()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page
new file mode 100644
index 00000000..db6e7893
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestStructFixedArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructFixedArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page
new file mode 100644
index 00000000..26fc7905
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.instance_method.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.instance_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_instance_method</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSubObj.prototype.instance_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function instance_method():Number {
+ // Gjs wrapper for regress_test_sub_obj_instance_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.new.page
new file mode 100644
index 00000000..31deab7f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestObj</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSubObj.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.TestObj {
+ // Gjs wrapper for regress_test_sub_obj_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page
new file mode 100644
index 00000000..7147da12
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestSubObj</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_sub_obj = new Regress.TestSubObj();
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestObj</code>
+ <item>
+ <code>Regress.TestSubObj</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page
new file mode 100644
index 00000000..a632f8f4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestSubObj.unset_bare.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.unset_bare"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_unset_bare</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSubObj.prototype.unset_bare</title>
+
+<synopsis><code mime="text/x-gjs">
+function unset_bare():void {
+ // Gjs wrapper for regress_test_sub_obj_unset_bare()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page
new file mode 100644
index 00000000..e0a7bc09
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestTypeGUInt64.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestTypeGUInt64"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestTypeGUInt64</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page
new file mode 100644
index 00000000..256dbb6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x-testbool.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x-testbool"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="property" type="guide"/>
+ <title type="link" role="topic">testbool</title>
+
+ </info>
+ <title>Regress.TestWi8021x:testbool</title>
+
+<synopsis><code mime="text/x-python">
+"testbool" Boolean : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page
new file mode 100644
index 00000000..e42b0d74
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.get_testbool.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.get_testbool"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_get_testbool</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestWi8021x.prototype.get_testbool</title>
+
+<synopsis><code mime="text/x-gjs">
+function get_testbool():Boolean {
+ // Gjs wrapper for regress_test_wi_802_1x_get_testbool()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.new.page
new file mode 100644
index 00000000..b8b162cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.new.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.new"
+ type="topic"
+ style="constructor"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="constructor" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestWi8021x</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestWi8021x.new</title>
+
+<synopsis><code mime="text/x-gjs">
+function new():Regress.TestWi8021x {
+ // Gjs wrapper for regress_test_wi_802_1x_new()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page
new file mode 100644
index 00000000..d69548f3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.page
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestWi8021x</title>
+
+ <synopsis><code>
+const Regress = imports.gi.Regress;
+
+let test_wi8021x = new Regress.TestWi8021x({
+ <link xref='Regress.TestWi8021x-testbool'>testbool</link>: value,
+});
+ </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestWi8021x</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page
new file mode 100644
index 00000000..e052ed5d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.set_testbool.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.set_testbool"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_set_testbool</api:name>
+ <api:arg>
+ <api:type>Boolean</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestWi8021x.prototype.set_testbool</title>
+
+<synopsis><code mime="text/x-gjs">
+function set_testbool(v:Boolean):void {
+ // Gjs wrapper for regress_test_wi_802_1x_set_testbool()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>v</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page
new file mode 100644
index 00000000..ccfe04c6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestWi8021x.static_method.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_static_method</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>static_method</title>
+
+<synopsis><code mime="text/x-gjs">
+function static_method(x:Number):Number {
+ // Gjs wrapper for regress_test_wi_802_1x_static_method()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page
new file mode 100644
index 00000000..de2b93b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.aliased_caller_alloc.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.aliased_caller_alloc"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_aliased_caller_alloc</api:name>
+ </api:function>
+
+ </info>
+ <title>aliased_caller_alloc</title>
+
+<synopsis><code mime="text/x-gjs">
+function aliased_caller_alloc():void {
+ // Gjs wrapper for regress_aliased_caller_alloc()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page
new file mode 100644
index 00000000..8f00a104
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_attribute_func.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_attribute_func"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_annotation_attribute_func</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_attribute_func</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_attribute_func(object:Regress.AnnotationObject, data:String):Number {
+ // Gjs wrapper for regress_annotation_attribute_func()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>A <link xref="Regress.AnnotationObject"/>.</p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>Some data.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>The return value.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page
new file mode 100644
index 00000000..c3e96530
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_custom_destroy.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_custom_destroy"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_custom_destroy</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_custom_destroy</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_custom_destroy(callback:Regress.AnnotationCallback):void {
+ // Gjs wrapper for regress_annotation_custom_destroy()
+}
+</code></synopsis>
+
+
+ <p>Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+<p>Destroy notification</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page
new file mode 100644
index 00000000..39f6c148
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_get_source_file.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_get_source_file"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>filename</api:type>
+ </api:returns>
+ <api:name>regress_annotation_get_source_file</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_get_source_file</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_get_source_file():filename {
+ // Gjs wrapper for regress_annotation_get_source_file()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>Source file</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page
new file mode 100644
index 00000000..c75d9c27
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_init.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_init"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_init</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>argv</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_init</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_init(argv:[String]):void {
+ // Gjs wrapper for regress_annotation_init()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>argv</code></title>
+<p>The arguments.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page
new file mode 100644
index 00000000..1997a4db
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_invalid_regress_annotation.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_invalid_regress_annotation"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_invalid_regress_annotation</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_invalid_regress_annotation</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_invalid_regress_annotation(foo:Number):void {
+ // Gjs wrapper for regress_annotation_invalid_regress_annotation()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+<p>some text (e.g. example) or else</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page
new file mode 100644
index 00000000..9bfb1680
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_ptr_array.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_ptr_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_ptr_array</api:name>
+ <api:arg>
+ <api:type>[GObject.Value]</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_ptr_array</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_ptr_array(array:[GObject.Value]):void {
+ // Gjs wrapper for regress_annotation_ptr_array()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+<p>the array</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page
new file mode 100644
index 00000000..3f63c9a5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_array.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_return_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_return_array</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_return_array</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_return_array():[String] {
+ // Gjs wrapper for regress_annotation_return_array()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>The return value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page
new file mode 100644
index 00000000..86419455
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_return_filename.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_return_filename"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>filename</api:type>
+ </api:returns>
+ <api:name>regress_annotation_return_filename</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_return_filename</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_return_filename():filename {
+ // Gjs wrapper for regress_annotation_return_filename()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>An annotated filename</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page
new file mode 100644
index 00000000..a5977b87
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_set_source_file.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_set_source_file"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_set_source_file</api:name>
+ <api:arg>
+ <api:type>filename</api:type>
+ <api:name>fname</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_set_source_file</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_set_source_file(fname:filename):void {
+ // Gjs wrapper for regress_annotation_set_source_file()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>fname</code></title>
+<p>Source file</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page
new file mode 100644
index 00000000..675e00da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_space_after_comment_bug631690.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_space_after_comment_bug631690"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_space_after_comment_bug631690</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_space_after_comment_bug631690</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_space_after_comment_bug631690():void {
+ // Gjs wrapper for regress_annotation_space_after_comment_bug631690()
+}
+</code></synopsis>
+
+
+ <p>Explicitly test having a space after the ** here.</p>
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page
new file mode 100644
index 00000000..347eb6d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_array_length.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_array_length"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_array_length</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>properties</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_string_array_length</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_string_array_length(properties:[String]):void {
+ // Gjs wrapper for regress_annotation_string_array_length()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>properties</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page
new file mode 100644
index 00000000..741447ea
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_zero_terminated"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_zero_terminated</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_string_zero_terminated</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_string_zero_terminated():[String] {
+ // Gjs wrapper for regress_annotation_string_zero_terminated()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>The return value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page
new file mode 100644
index 00000000..cd4d8bef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_string_zero_terminated_out.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_zero_terminated_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_zero_terminated_out</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>annotation_string_zero_terminated_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_string_zero_terminated_out(out:[String]):void {
+ // Gjs wrapper for regress_annotation_string_zero_terminated_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page
new file mode 100644
index 00000000..edade5bb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_test_parsing_bug630862.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_test_parsing_bug630862"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_test_parsing_bug630862</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_test_parsing_bug630862</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_test_parsing_bug630862():GObject.Object {
+ // Gjs wrapper for regress_annotation_test_parsing_bug630862()
+}
+</code></synopsis>
+
+
+ <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>An object, note the colon:in here</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page
new file mode 100644
index 00000000..a4fceafb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_transfer_floating.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_transfer_floating"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_transfer_floating</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_transfer_floating</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_transfer_floating():GObject.Object {
+ // Gjs wrapper for regress_annotation_transfer_floating()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>A floating object</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page
new file mode 100644
index 00000000..f1d57003
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.annotation_versioned.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_versioned"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_annotation_versioned</api:name>
+ </api:function>
+
+ </info>
+ <title>annotation_versioned</title>
+
+<synopsis><code mime="text/x-gjs">
+function annotation_versioned():void {
+ // Gjs wrapper for regress_annotation_versioned()
+}
+</code></synopsis>
+
+
+
+
+
+ <p>Since 0.6</p>
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page
new file mode 100644
index 00000000..3aade3ca
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.atest_error_quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.atest_error_quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_atest_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>atest_error_quark</title>
+
+<synopsis><code mime="text/x-gjs">
+function atest_error_quark():GLib.Quark {
+ // Gjs wrapper for regress_atest_error_quark()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page
new file mode 100644
index 00000000..980a9302
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_async_ready_callback.page
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_async_ready_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_async_ready_callback</api:name>
+ <api:arg>
+ <api:type>Gio.Cancellable</api:type>
+ <api:name>cancellable</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Gio.AsyncReadyCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_async_ready_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_async_ready_callback(cancellable:Gio.Cancellable, callback:Gio.AsyncReadyCallback):void {
+ // Gjs wrapper for regress_foo_async_ready_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>cancellable</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page
new file mode 100644
index 00000000..d5cff2a4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_destroy_notify_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_destroy_notify_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_destroy_notify_callback</api:name>
+ <api:arg>
+ <api:type>Regress.FooCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_destroy_notify_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_destroy_notify_callback(callback:Regress.FooCallback):void {
+ // Gjs wrapper for regress_foo_destroy_notify_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page
new file mode 100644
index 00000000..20eb206c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_init.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_init"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_foo_init</api:name>
+ </api:function>
+
+ </info>
+ <title>foo_init</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_init():Number {
+ // Gjs wrapper for regress_foo_init()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page
new file mode 100644
index 00000000..10876aa8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_method_external_references.page
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_method_external_references"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_method_external_references</api:name>
+ <api:arg>
+ <api:type>Utility.Object</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Utility.EnumType</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Utility.FlagType</api:type>
+ <api:name>f</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Utility.Struct</api:type>
+ <api:name>s</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_method_external_references</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_method_external_references(object:Utility.Object, e:Utility.EnumType, f:Utility.FlagType, s:Utility.Struct):void {
+ // Gjs wrapper for regress_foo_method_external_references()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>f</code></title>
+
+</item>
+<item>
+<title><code>s</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page
new file mode 100644
index 00000000..31f881b7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_not_a_constructor_new.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_not_a_constructor_new"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooObject</api:type>
+ </api:returns>
+ <api:name>regress_foo_not_a_constructor_new</api:name>
+ </api:function>
+
+ </info>
+ <title>foo_not_a_constructor_new</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_not_a_constructor_new():Regress.FooObject {
+ // Gjs wrapper for regress_foo_not_a_constructor_new()
+}
+</code></synopsis>
+
+
+ <p>This should be scanned as a top-level function, and shouldn't cause
+a "Can't find matching type for constructor" warning.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page
new file mode 100644
index 00000000..989084bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_array.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_array</api:name>
+ </api:function>
+
+ </info>
+ <title>foo_test_array</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_array():[String] {
+ // Gjs wrapper for regress_foo_test_array()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page
new file mode 100644
index 00000000..4f095620
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_param.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_char_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_char_param</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_test_const_char_param</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_const_char_param(param:String):void {
+ // Gjs wrapper for regress_foo_test_const_char_param()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page
new file mode 100644
index 00000000..3ff92653
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_char_retval.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_char_retval"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_char_retval</api:name>
+ </api:function>
+
+ </info>
+ <title>foo_test_const_char_retval</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_const_char_retval():String {
+ // Gjs wrapper for regress_foo_test_const_char_retval()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page
new file mode 100644
index 00000000..da103fbf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_param.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_struct_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_struct_param</api:name>
+ <api:arg>
+ <api:type>Regress.FooStruct</api:type>
+ <api:name>param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_test_const_struct_param</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_const_struct_param(param:Regress.FooStruct):void {
+ // Gjs wrapper for regress_foo_test_const_struct_param()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page
new file mode 100644
index 00000000..9c7539c3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_const_struct_retval.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_struct_retval"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooStruct</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_struct_retval</api:name>
+ </api:function>
+
+ </info>
+ <title>foo_test_const_struct_retval</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_const_struct_retval():Regress.FooStruct {
+ // Gjs wrapper for regress_foo_test_const_struct_retval()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page
new file mode 100644
index 00000000..fe3b85ac
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_string_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_string_array</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_test_string_array</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_string_array(array:[String]):void {
+ // Gjs wrapper for regress_foo_test_string_array()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page
new file mode 100644
index 00000000..8b5c9018
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_string_array_with_g.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_string_array_with_g"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_string_array_with_g</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_test_string_array_with_g</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_string_array_with_g(array:[String]):void {
+ // Gjs wrapper for regress_foo_test_string_array_with_g()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page
new file mode 100644
index 00000000..c35d3e99
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_qualifier.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_unsigned_qualifier"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_unsigned_qualifier</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>unsigned_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_test_unsigned_qualifier</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_unsigned_qualifier(unsigned_param:Number):void {
+ // Gjs wrapper for regress_foo_test_unsigned_qualifier()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>unsigned_param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page
new file mode 100644
index 00000000..9f68b516
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.foo_test_unsigned_type.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_unsigned_type"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_unsigned_type</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>unsigned_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>foo_test_unsigned_type</title>
+
+<synopsis><code mime="text/x-gjs">
+function foo_test_unsigned_type(unsigned_param:Number):void {
+ // Gjs wrapper for regress_foo_test_unsigned_type()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>unsigned_param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page
new file mode 100644
index 00000000..446001a0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.func_obj_null_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.func_obj_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_func_obj_null_in</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>func_obj_null_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function func_obj_null_in(obj:Regress.TestObj):void {
+ // Gjs wrapper for regress_func_obj_null_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page
new file mode 100644
index 00000000..bafa5417
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.global_get_flags_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.global_get_flags_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_global_get_flags_out</api:name>
+ </api:function>
+
+ </info>
+ <title>global_get_flags_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function global_get_flags_out():void {
+ // Gjs wrapper for regress_global_get_flags_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page
new file mode 100644
index 00000000..d4f673d8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.has_parameter_named_attrs.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.has_parameter_named_attrs"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_has_parameter_named_attrs</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[guint32]</api:type>
+ <api:name>attributes</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>has_parameter_named_attrs</title>
+
+<synopsis><code mime="text/x-gjs">
+function has_parameter_named_attrs(foo:Number, attributes:[guint32]):void {
+ // Gjs wrapper for regress_has_parameter_named_attrs()
+}
+</code></synopsis>
+
+
+ <p>This test case mirrors GnomeKeyringPasswordSchema from
+libgnome-keyring.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+<p>some int</p>
+</item>
+<item>
+<title><code>attributes</code></title>
+<p>list of attributes</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page
new file mode 100644
index 00000000..aa2baa6c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.introspectable_via_alias.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.introspectable_via_alias"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_introspectable_via_alias</api:name>
+ <api:arg>
+ <api:type>Regress.PtrArrayAlias</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>introspectable_via_alias</title>
+
+<synopsis><code mime="text/x-gjs">
+function introspectable_via_alias(data:Regress.PtrArrayAlias):void {
+ // Gjs wrapper for regress_introspectable_via_alias()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page
new file mode 100644
index 00000000..9b300e17
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.set_abort_on_error.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.set_abort_on_error"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_set_abort_on_error</api:name>
+ <api:arg>
+ <api:type>Boolean</api:type>
+ <api:name>abort_on_error</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>set_abort_on_error</title>
+
+<synopsis><code mime="text/x-gjs">
+function set_abort_on_error(abort_on_error:Boolean):void {
+ // Gjs wrapper for regress_set_abort_on_error()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>abort_on_error</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page
new file mode 100644
index 00000000..112cd23f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_callback.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_array_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackArray</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_callback(callback:Regress.TestCallbackArray):Number {
+ // Gjs wrapper for regress_test_array_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page
new file mode 100644
index 00000000..51026b59
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_out_objects.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_out_objects"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_out_objects</api:name>
+ </api:function>
+
+ </info>
+ <title>test_array_fixed_out_objects</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_fixed_out_objects():void {
+ // Gjs wrapper for regress_test_array_fixed_out_objects()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page
new file mode 100644
index 00000000..14a6e66e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_in</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_fixed_size_int_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_fixed_size_int_in(ints:[Number]):Number {
+ // Gjs wrapper for regress_test_array_fixed_size_int_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>a list of 5 integers</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the sum of the items in <code>ints</code></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page
new file mode 100644
index 00000000..ce62153d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_array_fixed_size_int_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_fixed_size_int_out():void {
+ // Gjs wrapper for regress_test_array_fixed_size_int_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page
new file mode 100644
index 00000000..1e2c6786
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_fixed_size_int_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[Number]</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_array_fixed_size_int_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_fixed_size_int_return():[Number] {
+ // Gjs wrapper for regress_test_array_fixed_size_int_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>a list of 5 integers ranging from 0 to 4</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page
new file mode 100644
index 00000000..e4b957e7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint16_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint16_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint16_in</api:name>
+ <api:arg>
+ <api:type>[gint16]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_gint16_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_gint16_in(ints:[gint16]):Number {
+ // Gjs wrapper for regress_test_array_gint16_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page
new file mode 100644
index 00000000..171ad11e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint32_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint32_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint32</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint32_in</api:name>
+ <api:arg>
+ <api:type>[gint32]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_gint32_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_gint32_in(ints:[gint32]):gint32 {
+ // Gjs wrapper for regress_test_array_gint32_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page
new file mode 100644
index 00000000..a8b51a6b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint64_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint64_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint64_in</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_gint64_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_gint64_in(ints:[Number]):Number {
+ // Gjs wrapper for regress_test_array_gint64_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page
new file mode 100644
index 00000000..16ddc7c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gint8_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint8_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint8_in</api:name>
+ <api:arg>
+ <api:type>[gint8]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_gint8_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_gint8_in(ints:[gint8]):Number {
+ // Gjs wrapper for regress_test_array_gint8_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page
new file mode 100644
index 00000000..61e1d0a4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_gtype_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gtype_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gtype_in</api:name>
+ <api:arg>
+ <api:type>[GType]</api:type>
+ <api:name>types</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_gtype_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_gtype_in(types:[GType]):String {
+ // Gjs wrapper for regress_test_array_gtype_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>types</code></title>
+<p>List of types</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>string representation of provided types</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page
new file mode 100644
index 00000000..5f580ad7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_full_out.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_full_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[Number]</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_full_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_array_int_full_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_int_full_out():[Number] {
+ // Gjs wrapper for regress_test_array_int_full_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>a new array of integers.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page
new file mode 100644
index 00000000..3d41dca7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_in</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_int_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_int_in(ints:[Number]):Number {
+ // Gjs wrapper for regress_test_array_int_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page
new file mode 100644
index 00000000..b4094cd8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_inout.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_inout"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_inout</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_int_inout</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_int_inout(ints:[Number]):void {
+ // Gjs wrapper for regress_test_array_int_inout()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page
new file mode 100644
index 00000000..ac105214
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_none_out.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_none_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[Number]</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_none_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_array_int_none_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_int_none_out():[Number] {
+ // Gjs wrapper for regress_test_array_int_none_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>a static array of integers.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page
new file mode 100644
index 00000000..33b27a00
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_null_in</api:name>
+ <api:arg>
+ <api:type>[Number]</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_array_int_null_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_int_null_in(arr:[Number]):void {
+ // Gjs wrapper for regress_test_array_int_null_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page
new file mode 100644
index 00000000..1e1a3640
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_null_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_null_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_array_int_null_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_int_null_out():void {
+ // Gjs wrapper for regress_test_array_int_null_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page
new file mode 100644
index 00000000..78953ec6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_array_int_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_array_int_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_array_int_out():void {
+ // Gjs wrapper for regress_test_array_int_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page
new file mode 100644
index 00000000..89d737c7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_async_ready_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_async_ready_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_async_ready_callback</api:name>
+ <api:arg>
+ <api:type>Gio.AsyncReadyCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_async_ready_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_async_ready_callback(callback:Gio.AsyncReadyCallback):void {
+ // Gjs wrapper for regress_test_async_ready_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page
new file mode 100644
index 00000000..e165db21
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean</api:name>
+ <api:arg>
+ <api:type>Boolean</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_boolean</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_boolean(in:Boolean):Boolean {
+ // Gjs wrapper for regress_test_boolean()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page
new file mode 100644
index 00000000..21e169c0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_false.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean_false"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean_false</api:name>
+ <api:arg>
+ <api:type>Boolean</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_boolean_false</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_boolean_false(in:Boolean):Boolean {
+ // Gjs wrapper for regress_test_boolean_false()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page
new file mode 100644
index 00000000..e525a2f8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_boolean_true.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean_true"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean_true</api:name>
+ <api:arg>
+ <api:type>Boolean</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_boolean_true</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_boolean_true(in:Boolean):Boolean {
+ // Gjs wrapper for regress_test_boolean_true()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page
new file mode 100644
index 00000000..1c222c6c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_full_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_context_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo.Context</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_context_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_cairo_context_full_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_cairo_context_full_return():cairo.Context {
+ // Gjs wrapper for regress_test_cairo_context_full_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page
new file mode 100644
index 00000000..f710ac0a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_context_none_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_context_none_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_context_none_in</api:name>
+ <api:arg>
+ <api:type>cairo.Context</api:type>
+ <api:name>context</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_cairo_context_none_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_cairo_context_none_in(context:cairo.Context):void {
+ // Gjs wrapper for regress_test_cairo_context_none_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>context</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page
new file mode 100644
index 00000000..dcec607e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_full_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_full_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_cairo_surface_full_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_cairo_surface_full_out():void {
+ // Gjs wrapper for regress_test_cairo_surface_full_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page
new file mode 100644
index 00000000..f1b0f96c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_full_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo.Surface</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_cairo_surface_full_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_cairo_surface_full_return():cairo.Surface {
+ // Gjs wrapper for regress_test_cairo_surface_full_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page
new file mode 100644
index 00000000..783576a0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_none_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_none_in</api:name>
+ <api:arg>
+ <api:type>cairo.Surface</api:type>
+ <api:name>surface</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_cairo_surface_none_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_cairo_surface_none_in(surface:cairo.Surface):void {
+ // Gjs wrapper for regress_test_cairo_surface_none_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>surface</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page
new file mode 100644
index 00000000..72e602ef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_cairo_surface_none_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_none_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo.Surface</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_none_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_cairo_surface_none_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_cairo_surface_none_return():cairo.Surface {
+ // Gjs wrapper for regress_test_cairo_surface_none_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page
new file mode 100644
index 00000000..869dd98c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_callback(callback:Regress.TestCallback):Number {
+ // Gjs wrapper for regress_test_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page
new file mode 100644
index 00000000..7b9ef5b6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_async.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_async"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_async</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_callback_async</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_callback_async(callback:Regress.TestCallbackUserData):void {
+ // Gjs wrapper for regress_test_callback_async()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page
new file mode 100644
index 00000000..d147c974
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_destroy_notify"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_destroy_notify</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_callback_destroy_notify</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_callback_destroy_notify(callback:Regress.TestCallbackUserData):Number {
+ // Gjs wrapper for regress_test_callback_destroy_notify()
+}
+</code></synopsis>
+
+
+ <p>Notified - callback persists until a DestroyNotify delegate
+is invoked.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page
new file mode 100644
index 00000000..7fa31a30
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_destroy_notify_no_user_data.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_destroy_notify_no_user_data"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_destroy_notify_no_user_data</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_callback_destroy_notify_no_user_data</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_callback_destroy_notify_no_user_data(callback:Regress.TestCallbackUserData):Number {
+ // Gjs wrapper for regress_test_callback_destroy_notify_no_user_data()
+}
+</code></synopsis>
+
+
+ <p>Adds a scope notified callback with no user data. This can invoke an error
+condition in bindings which needs to be tested.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page
new file mode 100644
index 00000000..66dec18b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_async.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_thaw_async"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_thaw_async</api:name>
+ </api:function>
+
+ </info>
+ <title>test_callback_thaw_async</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_callback_thaw_async():Number {
+ // Gjs wrapper for regress_test_callback_thaw_async()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page
new file mode 100644
index 00000000..9a8b57e1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_thaw_notifications.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_thaw_notifications"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_thaw_notifications</api:name>
+ </api:function>
+
+ </info>
+ <title>test_callback_thaw_notifications</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_callback_thaw_notifications():Number {
+ // Gjs wrapper for regress_test_callback_thaw_notifications()
+}
+</code></synopsis>
+
+
+ <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
+adding up their return values, and removes them, invoking the
+corresponding destroy notfications.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>Sum of the return values of the invoked callbacks.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page
new file mode 100644
index 00000000..dd9f5977
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_callback_user_data.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_user_data"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_user_data</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_callback_user_data</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_callback_user_data(callback:Regress.TestCallbackUserData):Number {
+ // Gjs wrapper for regress_test_callback_user_data()
+}
+</code></synopsis>
+
+
+ <p>Call - callback parameter persists for the duration of the method
+call and can be released on return.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page
new file mode 100644
index 00000000..a9545447
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_closure</api:name>
+ <api:arg>
+ <api:type>GObject.Closure</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_closure</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_closure(closure:GObject.Closure):Number {
+ // Gjs wrapper for regress_test_closure()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page
new file mode 100644
index 00000000..3c37f7ac
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_one_arg.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure_one_arg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_closure_one_arg</api:name>
+ <api:arg>
+ <api:type>GObject.Closure</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>arg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_closure_one_arg</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_closure_one_arg(closure:GObject.Closure, arg:Number):Number {
+ // Gjs wrapper for regress_test_closure_one_arg()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+
+</item>
+<item>
+<title><code>arg</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page
new file mode 100644
index 00000000..2bdbfe6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_closure_variant.page
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure_variant"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_closure_variant</api:name>
+ <api:arg>
+ <api:type>GObject.Closure</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GLib.Variant</api:type>
+ <api:name>arg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_closure_variant</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_closure_variant(closure:GObject.Closure, arg:GLib.Variant):GLib.Variant {
+ // Gjs wrapper for regress_test_closure_variant()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+<p>GClosure which takes one GVariant and returns a GVariant</p>
+</item>
+<item>
+<title><code>arg</code></title>
+<p>a GVariant passed as argument to <code>closure</code></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the return value of <code>closure</code></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page
new file mode 100644
index 00000000..acb379e7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_date_in_gvalue.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_date_in_gvalue"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Value</api:type>
+ </api:returns>
+ <api:name>regress_test_date_in_gvalue</api:name>
+ </api:function>
+
+ </info>
+ <title>test_date_in_gvalue</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_date_in_gvalue():GObject.Value {
+ // Gjs wrapper for regress_test_date_in_gvalue()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page
new file mode 100644
index 00000000..5a82a3f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_def_error_quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_def_error_quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_def_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>test_def_error_quark</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_def_error_quark():GLib.Quark {
+ // Gjs wrapper for regress_test_def_error_quark()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page
new file mode 100644
index 00000000..0ed75f62
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_double.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_double"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_double</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_double</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_double(in:Number):Number {
+ // Gjs wrapper for regress_test_double()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page
new file mode 100644
index 00000000..b26b613e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_filename_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_filename_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[filename]</api:type>
+ </api:returns>
+ <api:name>regress_test_filename_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_filename_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_filename_return():[filename] {
+ // Gjs wrapper for regress_test_filename_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>list of strings</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page
new file mode 100644
index 00000000..30f2ef76
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_float.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_float"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_float</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_float</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_float(in:Number):Number {
+ // Gjs wrapper for regress_test_float()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page
new file mode 100644
index 00000000..a4196285
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_garray_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_garray_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_garray_container_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_garray_container_return():[String] {
+ // Gjs wrapper for regress_test_garray_container_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page
new file mode 100644
index 00000000..86b1b78b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_garray_full_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_garray_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_garray_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_garray_full_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_garray_full_return():[String] {
+ // Gjs wrapper for regress_test_garray_full_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page
new file mode 100644
index 00000000..31ab83c2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gerror_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gerror_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_gerror_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gerror_callback(callback:Regress.TestCallbackGError):void {
+ // Gjs wrapper for regress_test_gerror_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page
new file mode 100644
index 00000000..b002deb8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: String}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_container_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_container_return():{String: String} {
+ // Gjs wrapper for regress_test_ghash_container_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page
new file mode 100644
index 00000000..1c1a0a91
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: String}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_everything_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_everything_return():{String: String} {
+ // Gjs wrapper for regress_test_ghash_everything_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page
new file mode 100644
index 00000000..b12b8f8b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_gvalue_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_gvalue_in</api:name>
+ <api:arg>
+ <api:type>{String: GObject.Value}</api:type>
+ <api:name>hash</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_ghash_gvalue_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_gvalue_in(hash:{String: GObject.Value}):void {
+ // Gjs wrapper for regress_test_ghash_gvalue_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>hash</code></title>
+<p>the hash table returned by
+<link xref="Regress.test_ghash_gvalue_return"/>.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page
new file mode 100644
index 00000000..08748ea5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_gvalue_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_gvalue_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: GObject.Value}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_gvalue_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_gvalue_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_gvalue_return():{String: GObject.Value} {
+ // Gjs wrapper for regress_test_ghash_gvalue_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page
new file mode 100644
index 00000000..4dece432
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nested_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: {String: String}}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nested_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_nested_everything_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_nested_everything_return():{String: {String: String}} {
+ // Gjs wrapper for regress_test_ghash_nested_everything_return()
+}
+</code></synopsis>
+
+
+ <p>Specify nested parameterized types directly with the (type ) annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page
new file mode 100644
index 00000000..8aa4da37
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nested_everything_return2.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nested_everything_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: {String: String}}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nested_everything_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_nested_everything_return2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_nested_everything_return2():{String: {String: String}} {
+ // Gjs wrapper for regress_test_ghash_nested_everything_return2()
+}
+</code></synopsis>
+
+
+ <p>Another way of specifying nested parameterized types: using the
+element-type annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page
new file mode 100644
index 00000000..62990fce
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_in</api:name>
+ <api:arg>
+ <api:type>{String: String}</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_ghash_nothing_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_in(in:{String: String}):void {
+ // Gjs wrapper for regress_test_ghash_nothing_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page
new file mode 100644
index 00000000..72d774d8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_in2.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_in2</api:name>
+ <api:arg>
+ <api:type>{String: String}</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_ghash_nothing_in2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_in2(in:{String: String}):void {
+ // Gjs wrapper for regress_test_ghash_nothing_in2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page
new file mode 100644
index 00000000..e3729a57
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: String}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_nothing_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_return():{String: String} {
+ // Gjs wrapper for regress_test_ghash_nothing_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page
new file mode 100644
index 00000000..7777ab42
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_nothing_return2.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: String}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_nothing_return2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_nothing_return2():{String: String} {
+ // Gjs wrapper for regress_test_ghash_nothing_return2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page
new file mode 100644
index 00000000..413a75bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_in</api:name>
+ <api:arg>
+ <api:type>{String: String}</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_ghash_null_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_null_in(in:{String: String}):void {
+ // Gjs wrapper for regress_test_ghash_null_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page
new file mode 100644
index 00000000..2c272530
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_null_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_null_out():void {
+ // Gjs wrapper for regress_test_ghash_null_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page
new file mode 100644
index 00000000..df6d6860
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ghash_null_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{String: String}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_ghash_null_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ghash_null_return():{String: String} {
+ // Gjs wrapper for regress_test_ghash_null_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page
new file mode 100644
index 00000000..c3ac7cb1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_glist_container_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_container_return():[String] {
+ // Gjs wrapper for regress_test_glist_container_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page
new file mode 100644
index 00000000..fb31f77e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_glist_everything_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_everything_return():[String] {
+ // Gjs wrapper for regress_test_glist_everything_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page
new file mode 100644
index 00000000..3c85d190
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_in</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_glist_nothing_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_nothing_in(in:[String]):void {
+ // Gjs wrapper for regress_test_glist_nothing_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page
new file mode 100644
index 00000000..f160d126
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_in2.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_in2</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_glist_nothing_in2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_nothing_in2(in:[String]):void {
+ // Gjs wrapper for regress_test_glist_nothing_in2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page
new file mode 100644
index 00000000..e741d906
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_glist_nothing_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_nothing_return():[String] {
+ // Gjs wrapper for regress_test_glist_nothing_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page
new file mode 100644
index 00000000..0fccdbbf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_nothing_return2.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>test_glist_nothing_return2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_nothing_return2():[String] {
+ // Gjs wrapper for regress_test_glist_nothing_return2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page
new file mode 100644
index 00000000..dfedc288
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_null_in</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_glist_null_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_null_in(in:[String]):void {
+ // Gjs wrapper for regress_test_glist_null_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page
new file mode 100644
index 00000000..a1c7c684
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_glist_null_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_null_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_glist_null_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_glist_null_out():void {
+ // Gjs wrapper for regress_test_glist_null_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page
new file mode 100644
index 00000000..5133d114
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gslist_container_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_container_return():[String] {
+ // Gjs wrapper for regress_test_gslist_container_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page
new file mode 100644
index 00000000..f82b1ce6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gslist_everything_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_everything_return():[String] {
+ // Gjs wrapper for regress_test_gslist_everything_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page
new file mode 100644
index 00000000..34096195
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_in</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_gslist_nothing_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_in(in:[String]):void {
+ // Gjs wrapper for regress_test_gslist_nothing_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page
new file mode 100644
index 00000000..05e0b569
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_in2.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_in2</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_gslist_nothing_in2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_in2(in:[String]):void {
+ // Gjs wrapper for regress_test_gslist_nothing_in2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page
new file mode 100644
index 00000000..03597fb4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gslist_nothing_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_return():[String] {
+ // Gjs wrapper for regress_test_gslist_nothing_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page
new file mode 100644
index 00000000..0331f922
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_nothing_return2.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gslist_nothing_return2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_nothing_return2():[String] {
+ // Gjs wrapper for regress_test_gslist_nothing_return2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page
new file mode 100644
index 00000000..34168c85
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_null_in</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_gslist_null_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_null_in(in:[String]):void {
+ // Gjs wrapper for regress_test_gslist_null_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page
new file mode 100644
index 00000000..4c9f3ca2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gslist_null_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_null_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gslist_null_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gslist_null_out():void {
+ // Gjs wrapper for regress_test_gslist_null_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page
new file mode 100644
index 00000000..824689a2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gtype.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gtype"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GType</api:type>
+ </api:returns>
+ <api:name>regress_test_gtype</api:name>
+ <api:arg>
+ <api:type>GType</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_gtype</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gtype(in:GType):GType {
+ // Gjs wrapper for regress_test_gtype()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page
new file mode 100644
index 00000000..1eedc344
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_as.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_as"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_as</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gvariant_as</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gvariant_as():GLib.Variant {
+ // Gjs wrapper for regress_test_gvariant_as()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page
new file mode 100644
index 00000000..a5709df4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_asv.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_asv"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_asv</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gvariant_asv</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gvariant_asv():GLib.Variant {
+ // Gjs wrapper for regress_test_gvariant_asv()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page
new file mode 100644
index 00000000..e1e7dc0d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_i.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_i"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_i</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gvariant_i</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gvariant_i():GLib.Variant {
+ // Gjs wrapper for regress_test_gvariant_i()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page
new file mode 100644
index 00000000..139e0c61
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_s.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_s"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_s</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gvariant_s</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gvariant_s():GLib.Variant {
+ // Gjs wrapper for regress_test_gvariant_s()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page
new file mode 100644
index 00000000..cec12de7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_gvariant_v.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_v"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_v</api:name>
+ </api:function>
+
+ </info>
+ <title>test_gvariant_v</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_gvariant_v():GLib.Variant {
+ // Gjs wrapper for regress_test_gvariant_v()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>New variant</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page
new file mode 100644
index 00000000..a49c65c1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_hash_table_callback.page
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<page id="Regress.test_hash_table_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_hash_table_callback</api:name>
+ <api:arg>
+ <api:type>{String: Number}</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestCallbackHashtable</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_hash_table_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_hash_table_callback(data:{String: Number}, callback:Regress.TestCallbackHashtable):void {
+ // Gjs wrapper for regress_test_hash_table_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+<p>GHashTable that gets passed to callback</p>
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page
new file mode 100644
index 00000000..6193dd8a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_int</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_int</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_int(in:Number):Number {
+ // Gjs wrapper for regress_test_int()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page
new file mode 100644
index 00000000..d8efb0b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int16.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int16"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint16</api:type>
+ </api:returns>
+ <api:name>regress_test_int16</api:name>
+ <api:arg>
+ <api:type>gint16</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_int16</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_int16(in:gint16):gint16 {
+ // Gjs wrapper for regress_test_int16()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page
new file mode 100644
index 00000000..8015b377
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int32.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int32"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint32</api:type>
+ </api:returns>
+ <api:name>regress_test_int32</api:name>
+ <api:arg>
+ <api:type>gint32</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_int32</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_int32(in:gint32):gint32 {
+ // Gjs wrapper for regress_test_int32()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page
new file mode 100644
index 00000000..24a69e96
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int64.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int64"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_int64</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_int64</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_int64(in:Number):Number {
+ // Gjs wrapper for regress_test_int64()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page
new file mode 100644
index 00000000..ab573a0d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int8.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint8</api:type>
+ </api:returns>
+ <api:name>regress_test_int8</api:name>
+ <api:arg>
+ <api:type>gint8</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_int8</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_int8(in:gint8):gint8 {
+ // Gjs wrapper for regress_test_int8()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page
new file mode 100644
index 00000000..020f9e22
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_out_utf8.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int_out_utf8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_int_out_utf8</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_int_out_utf8</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_int_out_utf8(in:String):void {
+ // Gjs wrapper for regress_test_int_out_utf8()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page
new file mode 100644
index 00000000..cb84a3c9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_int_value_arg.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int_value_arg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_int_value_arg</api:name>
+ <api:arg>
+ <api:type>GObject.Value</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_int_value_arg</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_int_value_arg(v:GObject.Value):Number {
+ // Gjs wrapper for regress_test_int_value_arg()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>v</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page
new file mode 100644
index 00000000..12bc1aec
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_long.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_long"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_long</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_long</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_long(in:Number):Number {
+ // Gjs wrapper for regress_test_long()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page
new file mode 100644
index 00000000..ea0646f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_callback.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multi_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_multi_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_multi_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_multi_callback(callback:Regress.TestCallback):Number {
+ // Gjs wrapper for regress_test_multi_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page
new file mode 100644
index 00000000..378ace73
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multi_double_args.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multi_double_args"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_multi_double_args</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_multi_double_args</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_multi_double_args(in:Number):void {
+ // Gjs wrapper for regress_test_multi_double_args()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page
new file mode 100644
index 00000000..38a75e75
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_multiline_doc_comments.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multiline_doc_comments"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_multiline_doc_comments</api:name>
+ </api:function>
+
+ </info>
+ <title>test_multiline_doc_comments</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_multiline_doc_comments():void {
+ // Gjs wrapper for regress_test_multiline_doc_comments()
+}
+</code></synopsis>
+
+
+ <p>This is a function.</p><p>It has multiple lines in the documentation.</p><p>The sky is blue.</p><p>You will give me your credit card number.</p>
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page
new file mode 100644
index 00000000..54bda89f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_nested_parameter.page
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<page id="Regress.test_nested_parameter"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_nested_parameter</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_nested_parameter</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_nested_parameter(a:Number):void {
+ // Gjs wrapper for regress_test_nested_parameter()
+}
+</code></synopsis>
+
+
+ <p>&lt;informaltable&gt;
+ &lt;tgroup cols="3"&gt;
+ &lt;thead&gt;
+ &lt;row&gt;
+ &lt;entry&gt;Syntax&lt;/entry&gt;
+ &lt;entry&gt;Explanation&lt;/entry&gt;
+ &lt;entry&gt;Examples&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;/thead&gt;
+ &lt;tbody&gt;
+ &lt;row&gt;
+ &lt;entry&gt;rgb(@r, @g, @b)&lt;/entry&gt;
+ &lt;entry&gt;An opaque color; @r, @g, @b can be either integers between
+ 0 and 255 or percentages&lt;/entry&gt;
+ &lt;entry&gt;&lt;literallayout&gt;rgb(128, 10, 54)
+rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;row&gt;
+ &lt;entry&gt;rgba(@r, @g, @b, <code>a</code>)&lt;/entry&gt;
+ &lt;entry&gt;A translucent color; @r, @g, @b are as in the previous row,
+ <code>a</code> is a floating point number between 0 and 1&lt;/entry&gt;
+ &lt;entry&gt;&lt;literallayout&gt;rgba(255, 255, 0, 0.5)&lt;/literallayout&gt;&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;/tbody&gt;
+ &lt;/tgroup&gt;
+&lt;/informaltable&gt;</p><p>What we're testing here is that the scanner ignores the <code>a</code> nested inside XML.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>An integer</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page
new file mode 100644
index 00000000..5af4d58c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_null_gerror_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_null_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_null_gerror_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_null_gerror_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_null_gerror_callback(callback:Regress.TestCallbackGError):void {
+ // Gjs wrapper for regress_test_null_gerror_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page
new file mode 100644
index 00000000..206ac215
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_owned_gerror_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_owned_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_owned_gerror_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackOwnedGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_owned_gerror_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_owned_gerror_callback(callback:Regress.TestCallbackOwnedGError):void {
+ // Gjs wrapper for regress_test_owned_gerror_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page
new file mode 100644
index 00000000..59381ae1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_short.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_short"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gshort</api:type>
+ </api:returns>
+ <api:name>regress_test_short</api:name>
+ <api:arg>
+ <api:type>gshort</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_short</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_short(in:gshort):gshort {
+ // Gjs wrapper for regress_test_short()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page
new file mode 100644
index 00000000..9d8198f7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_simple_callback.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_simple_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestSimpleCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_simple_callback</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_simple_callback(callback:Regress.TestSimpleCallback):void {
+ // Gjs wrapper for regress_test_simple_callback()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page
new file mode 100644
index 00000000..bc6896d3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_size.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_size"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gsize</api:type>
+ </api:returns>
+ <api:name>regress_test_size</api:name>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_size</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_size(in:gsize):gsize {
+ // Gjs wrapper for regress_test_size()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page
new file mode 100644
index 00000000..ccc011da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ssize.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ssize"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gssize</api:type>
+ </api:returns>
+ <api:name>regress_test_ssize</api:name>
+ <api:arg>
+ <api:type>gssize</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_ssize</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ssize(in:gssize):gssize {
+ // Gjs wrapper for regress_test_ssize()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page
new file mode 100644
index 00000000..7659a72a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_in</api:name>
+ <api:arg>
+ <api:type>[String]</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_strv_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_strv_in(arr:[String]):Boolean {
+ // Gjs wrapper for regress_test_strv_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page
new file mode 100644
index 00000000..20617c09
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_in_gvalue.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_in_gvalue"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Value</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_in_gvalue</api:name>
+ </api:function>
+
+ </info>
+ <title>test_strv_in_gvalue</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_strv_in_gvalue():GObject.Value {
+ // Gjs wrapper for regress_test_strv_in_gvalue()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page
new file mode 100644
index 00000000..477a46fa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_strv_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_strv_out():[String] {
+ // Gjs wrapper for regress_test_strv_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page
new file mode 100644
index 00000000..d393946c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_c.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out_c"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out_c</api:name>
+ </api:function>
+
+ </info>
+ <title>test_strv_out_c</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_strv_out_c():[String] {
+ // Gjs wrapper for regress_test_strv_out_c()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page
new file mode 100644
index 00000000..f9bec391
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_out_container.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out_container"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[String]</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out_container</api:name>
+ </api:function>
+
+ </info>
+ <title>test_strv_out_container</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_strv_out_container():[String] {
+ // Gjs wrapper for regress_test_strv_out_container()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page
new file mode 100644
index 00000000..01bcba42
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_strv_outarg.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_outarg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_outarg</api:name>
+ </api:function>
+
+ </info>
+ <title>test_strv_outarg</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_strv_outarg():void {
+ // Gjs wrapper for regress_test_strv_outarg()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page
new file mode 100644
index 00000000..65ccab57
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_timet.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_timet"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_timet</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_timet</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_timet(in:Number):Number {
+ // Gjs wrapper for regress_test_timet()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page
new file mode 100644
index 00000000..16965833
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_0.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_0"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_0</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_torture_signature_0</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_torture_signature_0(x:Number, foo:String, m:Number):void {
+ // Gjs wrapper for regress_test_torture_signature_0()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page
new file mode 100644
index 00000000..a10b0ab5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_1.page
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_1"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Boolean</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_1</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_torture_signature_1</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_torture_signature_1(x:Number, foo:String, m:Number):Boolean {
+ // Gjs wrapper for regress_test_torture_signature_1()
+}
+</code></synopsis>
+
+
+ <p>This function throws an error if m is odd.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page
new file mode 100644
index 00000000..3a3eb39a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_torture_signature_2.page
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_2</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_torture_signature_2</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_torture_signature_2(x:Number, callback:Regress.TestCallbackUserData, foo:String, m:Number):void {
+ // Gjs wrapper for regress_test_torture_signature_2()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page
new file mode 100644
index 00000000..ac1653a1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_uint</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_uint</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_uint(in:Number):Number {
+ // Gjs wrapper for regress_test_uint()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page
new file mode 100644
index 00000000..93faff4d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint16.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint16"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint16</api:type>
+ </api:returns>
+ <api:name>regress_test_uint16</api:name>
+ <api:arg>
+ <api:type>guint16</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_uint16</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_uint16(in:guint16):guint16 {
+ // Gjs wrapper for regress_test_uint16()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page
new file mode 100644
index 00000000..ebab4d6f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint32.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint32"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint32</api:type>
+ </api:returns>
+ <api:name>regress_test_uint32</api:name>
+ <api:arg>
+ <api:type>guint32</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_uint32</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_uint32(in:guint32):guint32 {
+ // Gjs wrapper for regress_test_uint32()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page
new file mode 100644
index 00000000..942d786f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint64.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint64"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_uint64</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_uint64</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_uint64(in:Number):Number {
+ // Gjs wrapper for regress_test_uint64()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page
new file mode 100644
index 00000000..f39dcc12
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_uint8.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint8</api:type>
+ </api:returns>
+ <api:name>regress_test_uint8</api:name>
+ <api:arg>
+ <api:type>guint8</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_uint8</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_uint8(in:guint8):guint8 {
+ // Gjs wrapper for regress_test_uint8()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page
new file mode 100644
index 00000000..76f33101
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ulong.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ulong"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Number</api:type>
+ </api:returns>
+ <api:name>regress_test_ulong</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_ulong</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ulong(in:Number):Number {
+ // Gjs wrapper for regress_test_ulong()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page
new file mode 100644
index 00000000..25465b37
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unichar.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_unichar"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_test_unichar</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_unichar</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_unichar(in:String):String {
+ // Gjs wrapper for regress_test_unichar()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page
new file mode 100644
index 00000000..8b7348e8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_unsigned_enum_param.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_unsigned_enum_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_test_unsigned_enum_param</api:name>
+ <api:arg>
+ <api:type>Regress.TestEnumUnsigned</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_unsigned_enum_param</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_unsigned_enum_param(e:Regress.TestEnumUnsigned):String {
+ // Gjs wrapper for regress_test_unsigned_enum_param()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page
new file mode 100644
index 00000000..74ada4ba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_ushort.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ushort"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gushort</api:type>
+ </api:returns>
+ <api:name>regress_test_ushort</api:name>
+ <api:arg>
+ <api:type>gushort</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_ushort</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_ushort(in:gushort):gushort {
+ // Gjs wrapper for regress_test_ushort()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page
new file mode 100644
index 00000000..63fedb9f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_const_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_const_in</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_utf8_const_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_const_in(in:String):void {
+ // Gjs wrapper for regress_test_utf8_const_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page
new file mode 100644
index 00000000..a63dc22c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_const_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_const_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_const_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_utf8_const_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_const_return():String {
+ // Gjs wrapper for regress_test_utf8_const_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>UTF-8 string</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page
new file mode 100644
index 00000000..1f282c2f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_inout.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_inout"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_inout</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>inout</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_utf8_inout</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_inout(inout:String):void {
+ // Gjs wrapper for regress_test_utf8_inout()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>inout</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page
new file mode 100644
index 00000000..2fec9e8c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_nonconst_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_nonconst_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_nonconst_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_utf8_nonconst_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_nonconst_return():String {
+ // Gjs wrapper for regress_test_utf8_nonconst_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>UTF-8 string</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page
new file mode 100644
index 00000000..14f3a550
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_in.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_null_in</api:name>
+ <api:arg>
+ <api:type>String</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_utf8_null_in</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_null_in(in:String):void {
+ // Gjs wrapper for regress_test_utf8_null_in()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page
new file mode 100644
index 00000000..66632ffd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_null_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_null_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_utf8_null_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_null_out():void {
+ // Gjs wrapper for regress_test_utf8_null_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page
new file mode 100644
index 00000000..b1a40622
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_utf8_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_out():void {
+ // Gjs wrapper for regress_test_utf8_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page
new file mode 100644
index 00000000..e8a097ea
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_nonconst_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out_nonconst_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>String</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out_nonconst_return</api:name>
+ </api:function>
+
+ </info>
+ <title>test_utf8_out_nonconst_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_out_nonconst_return():String {
+ // Gjs wrapper for regress_test_utf8_out_nonconst_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+<p>a copy of "first"</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page
new file mode 100644
index 00000000..07107ed8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_utf8_out_out.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out_out</api:name>
+ </api:function>
+
+ </info>
+ <title>test_utf8_out_out</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_utf8_out_out():void {
+ // Gjs wrapper for regress_test_utf8_out_out()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page
new file mode 100644
index 00000000..59f03b78
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_value_return.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.test_value_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Value</api:type>
+ </api:returns>
+ <api:name>regress_test_value_return</api:name>
+ <api:arg>
+ <api:type>Number</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>test_value_return</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_value_return(i:Number):GObject.Value {
+ // Gjs wrapper for regress_test_value_return()
+}
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+<p>an int</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the int wrapped in a GValue.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page
new file mode 100644
index 00000000..eb6ce0f2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.test_versioning.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.test_versioning"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>void</api:type>
+ </api:returns>
+ <api:name>regress_test_versioning</api:name>
+ </api:function>
+
+ </info>
+ <title>test_versioning</title>
+
+<synopsis><code mime="text/x-gjs">
+function test_versioning():void {
+ // Gjs wrapper for regress_test_versioning()
+}
+</code></synopsis>
+
+
+
+
+
+ <p>Since 1.32.1</p>
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/index.page b/tests/scanner/Regress-1.0-Gjs-expected/index.page
new file mode 100644
index 00000000..a5426d89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/index.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="index"
+ type="guide"
+ style="namespace"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+
+ </info>
+ <title>Index</title>
+
+
+
+
+
+
+
+
+
+ <links type="topic" ui:expanded="true" groups="class" style="linklist">
+ <title>Classes</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page
new file mode 100644
index 00000000..9ac6820d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.ATestError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.ATestError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.ATestError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ATestError.CODE0</code></title>
+
+</item>
+<item>
+<title><code>ATestError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>ATestError.CODE2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page
new file mode 100644
index 00000000..9490e4a3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AliasedTestBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AliasedTestBoxed"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AliasedTestBoxed</title>
+
+
+
+ <p>Typedef TestBoxed to test caller-allocates correctness</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page
new file mode 100644
index 00000000..6dc17b32
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.None.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnAnonymousUnion.None"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnAnonymousUnion.None</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page
new file mode 100644
index 00000000..2556feda
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnAnonymousUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnAnonymousUnion"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnAnonymousUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page
new file mode 100644
index 00000000..4e19ef92
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationBitfield.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationBitfield"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationBitfield</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page
new file mode 100644
index 00000000..9a652d80
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationCallback</title>
+
+
+
+ <p>This is a callback.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page
new file mode 100644
index 00000000..53234545
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationFields.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationFields"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationFields</title>
+
+
+
+ <p>This is a struct for testing field documentation and annotations</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page
new file mode 100644
index 00000000..db77a117
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationForeachFunc.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationForeachFunc"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationForeachFunc</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page
new file mode 100644
index 00000000..79844c66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationListCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationListCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationListCallback</title>
+
+
+
+ <p>This is a callback taking a list.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page
new file mode 100644
index 00000000..17c80292
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationNotifyFunc.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationNotifyFunc"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationNotifyFunc</title>
+
+
+
+ <p>This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page
new file mode 100644
index 00000000..9ed31bc3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-attribute-signal.page
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-attribute-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">attribute-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::attribute-signal</title>
+
+<synopsis><code mime="text/x-python">
+def callback(annotation_object, arg1, arg2, user_param1, ...)
+</code></synopsis>
+
+
+ <p>This signal tests a signal with attributes.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arg1</code></title>
+<p>a value</p>
+</item>
+<item>
+<title><code>arg2</code></title>
+<p>another value</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+<p>the return value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
new file mode 100644
index 00000000..29eedcc1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-doc-empty-arg-parsing"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">doc-empty-arg-parsing</title>
+
+ </info>
+ <title>Regress.AnnotationObject::doc-empty-arg-parsing</title>
+
+<synopsis><code mime="text/x-python">
+def callback(annotation_object, arg1, user_param1, ...)
+</code></synopsis>
+
+
+ <p>This signal tests an empty document argument (<code>arg1</code>)</p>
+
+
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arg1</code></title>
+
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page
new file mode 100644
index 00000000..d9d8b55a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-function-property.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-function-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">function-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:function-property</title>
+
+<synopsis><code mime="text/x-python">
+"function-property" Regress.AnnotationCallback : Read / Write / Construct
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page
new file mode 100644
index 00000000..fdfa65f7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-list-signal.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-list-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">list-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::list-signal</title>
+
+<synopsis><code mime="text/x-python">
+def callback(annotation_object, list, user_param1, ...)
+</code></synopsis>
+
+
+ <p>This is a signal which takes a list of strings, but it's not
+known by GObject as it's only marked as G_TYPE_POINTER</p>
+
+
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>list</code></title>
+<p>a list of strings</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page
new file mode 100644
index 00000000..a3cb0456
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-property.page
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-string-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">string-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:string-property</title>
+
+<synopsis><code mime="text/x-python">
+"string-property" unicode : Read / Write / Construct
+</code></synopsis>
+
+
+ <p>This is a property which is a string</p>
+
+
+ <p>Since 1.0</p>
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page
new file mode 100644
index 00000000..06e79aa3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-string-signal.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-string-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="signal" type="guide"/>
+ <title type="link" role="topic">string-signal</title>
+
+ </info>
+ <title>Regress.AnnotationObject::string-signal</title>
+
+<synopsis><code mime="text/x-python">
+def callback(annotation_object, string, user_param1, ...)
+</code></synopsis>
+
+
+ <p>This is a signal which has a broken signal handler,
+it says it's pointer but it's actually a string.</p>
+
+
+ <p>Since 1.0</p>
+
+
+<terms>
+<item>
+<title><code>annotation_object</code></title>
+<p>instance of <link xref="Regress.AnnotationObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>string</code></title>
+<p>a string</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page
new file mode 100644
index 00000000..c417d1ee
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject-tab-property.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject-tab-property"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="property" type="guide"/>
+ <title type="link" role="topic">tab-property</title>
+
+ </info>
+ <title>Regress.AnnotationObject:tab-property</title>
+
+<synopsis><code mime="text/x-python">
+"tab-property" unicode : Read / Write / Construct
+</code></synopsis>
+
+
+ <p>This is a property annotation intentionally indented with a mix
+of tabs and strings to test the tab handling capabilities of the scanner.</p>
+
+
+ <p>Since 1.2</p>
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page
new file mode 100644
index 00000000..a04abd75
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.allow_none.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.allow_none"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_allow_none</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>somearg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.allow_none</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, unicode)
+@returns(GObject.Object)
+def allow_none(self, somearg):
+ # Python wrapper for regress_annotation_object_allow_none()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>somearg</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page
new file mode 100644
index 00000000..bebf7737
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleeowns.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.calleeowns"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_calleeowns</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject.Object</api:type>
+ <api:name>toown</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.calleeowns</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, GObject.Object)
+@returns(int)
+def calleeowns(self, toown):
+ # Python wrapper for regress_annotation_object_calleeowns()
+</code></synopsis>
+
+
+ <p>This is a test for out arguments; GObject defaults to transfer</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>toown</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page
new file mode 100644
index 00000000..ef9361fd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.calleesowns.page
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.calleesowns"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_calleesowns</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject.Object</api:type>
+ <api:name>toown1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject.Object</api:type>
+ <api:name>toown2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.calleesowns</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, GObject.Object, GObject.Object)
+@returns(int)
+def calleesowns(self, toown1, toown2):
+ # Python wrapper for regress_annotation_object_calleesowns()
+</code></synopsis>
+
+
+ <p>This is a test for out arguments, one transferred, other not</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>toown1</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>toown2</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page
new file mode 100644
index 00000000..4f58e6fb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.compute_sum</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, [int])
+@returns(none)
+def compute_sum(self, nums):
+ # Python wrapper for regress_annotation_object_compute_sum()
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of numbers</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page
new file mode 100644
index 00000000..33463c4f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum_n"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum_n</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.compute_sum_n</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, [int], int)
+@returns(none)
+def compute_sum_n(self, nums, n_nums):
+ # Python wrapper for regress_annotation_object_compute_sum_n()
+</code></synopsis>
+
+
+ <p>Test taking an array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of
+ numbers that are zero-terminated</p>
+</item>
+<item>
+<title><code>n_nums</code></title>
+<p>Length of number array</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page
new file mode 100644
index 00000000..b3beb695
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.compute_sum_nz"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_compute_sum_nz</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>nums</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_nums</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.compute_sum_nz</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, [int], int)
+@returns(none)
+def compute_sum_nz(self, nums, n_nums):
+ # Python wrapper for regress_annotation_object_compute_sum_nz()
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>nums</code></title>
+<p>Sequence of numbers that
+are zero-terminated</p>
+</item>
+<item>
+<title><code>n_nums</code></title>
+<p>Length of number array</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page
new file mode 100644
index 00000000..6498ac29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.create_object.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.create_object"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_create_object</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.create_object</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns(GObject.Object)
+def create_object(self):
+ # Python wrapper for regress_annotation_object_create_object()
+</code></synopsis>
+
+
+ <p>Test returning a caller-owned object</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page
new file mode 100644
index 00000000..fac9f167
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.do_not_use.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.do_not_use"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_do_not_use</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.do_not_use</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns(GObject.Object)
+def do_not_use(self):
+ # Python wrapper for regress_annotation_object_do_not_use()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page
new file mode 100644
index 00000000..7e032668
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.extra_annos.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.extra_annos"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_extra_annos</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.extra_annos</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns(none)
+def extra_annos(self):
+ # Python wrapper for regress_annotation_object_extra_annos()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page
new file mode 100644
index 00000000..1010a017
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.foreach.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.foreach"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_foreach</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.AnnotationForeachFunc</api:type>
+ <api:name>func</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.foreach</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, Regress.AnnotationForeachFunc, gpointer)
+@returns(none)
+def foreach(self, func, user_data):
+ # Python wrapper for regress_annotation_object_foreach()
+</code></synopsis>
+
+
+ <p>Test taking a call-scoped callback</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>func</code></title>
+<p>Callback to invoke</p>
+</item>
+<item>
+<title><code>user_data</code></title>
+<p>Callback user data</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page
new file mode 100644
index 00000000..8d658f50
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_hash.page
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_hash"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: GObject.Object}</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_hash</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.get_hash</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns({unicode: GObject.Object})
+def get_hash(self):
+ # Python wrapper for regress_annotation_object_get_hash()
+</code></synopsis>
+
+
+ <p>This is a test for returning a hash table mapping strings to
+objects.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page
new file mode 100644
index 00000000..ef231f5c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_objects.page
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_objects"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[Regress.AnnotationObject]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_objects</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.get_objects</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns([Regress.AnnotationObject])
+def get_objects(self):
+ # Python wrapper for regress_annotation_object_get_objects()
+</code></synopsis>
+
+
+ <p>This is a test for returning a list of objects.
+The list itself should be freed, but not the internal objects,
+intentionally similar example to gtk_container_get_children</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page
new file mode 100644
index 00000000..13570b66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.get_strings.page
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.get_strings"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_get_strings</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.get_strings</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns([unicode])
+def get_strings(self):
+ # Python wrapper for regress_annotation_object_get_strings()
+</code></synopsis>
+
+
+ <p>This is a test for returning a list of strings, where
+each string needs to be freed.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page
new file mode 100644
index 00000000..ce1111fd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.hidden_self.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.hidden_self"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_hidden_self</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.hidden_self</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns(none)
+def hidden_self(self):
+ # Python wrapper for regress_annotation_object_hidden_self()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.AnnotationObject"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page
new file mode 100644
index 00000000..0e77f853
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.in.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.in"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_in</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, int)
+@returns(int)
+def in(self, inarg):
+ # Python wrapper for regress_annotation_object_in()
+</code></synopsis>
+
+
+ <p>This is a test for in arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page
new file mode 100644
index 00000000..6816eaf4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.inout</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, int)
+@returns(int)
+def inout(self, inoutarg):
+ # Python wrapper for regress_annotation_object_inout()
+</code></synopsis>
+
+
+ <p>This is a test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page
new file mode 100644
index 00000000..aef9deca
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout2.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout2"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout2</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.inout2</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, int)
+@returns(int)
+def inout2(self, inoutarg):
+ # Python wrapper for regress_annotation_object_inout2()
+</code></synopsis>
+
+
+ <p>This is a second test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page
new file mode 100644
index 00000000..4ba4bf67
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.inout3.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.inout3"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_inout3</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inoutarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.inout3</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, int)
+@returns(int)
+def inout3(self, inoutarg):
+ # Python wrapper for regress_annotation_object_inout3()
+</code></synopsis>
+
+
+ <p>This is a 3th test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>inoutarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page
new file mode 100644
index 00000000..b6badcfe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.method.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_method</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns(int)
+def method(self):
+ # Python wrapper for regress_annotation_object_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page
new file mode 100644
index 00000000..aa50a26e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.notrans.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.notrans"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_notrans</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.notrans</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject)
+@returns(GObject.Object)
+def notrans(self):
+ # Python wrapper for regress_annotation_object_notrans()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page
new file mode 100644
index 00000000..606b4a12
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.out.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_out</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>outarg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, int)
+@returns(int)
+def out(self, outarg):
+ # Python wrapper for regress_annotation_object_out()
+</code></synopsis>
+
+
+ <p>This is a test for out arguments</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>outarg</code></title>
+<p>This is an argument test</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page
new file mode 100644
index 00000000..006766fc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationObject</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+annotation_object = Regress.AnnotationObject(<link xref='Regress.AnnotationObject-function-property'>function_property</link>=value, <link xref='Regress.AnnotationObject-string-property'>string_property</link>=value, <link xref='Regress.AnnotationObject-tab-property'>tab_property</link>=value) </code></synopsis>
+
+
+ <p>This is an object used to test annotations.</p>
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.AnnotationObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page
new file mode 100644
index 00000000..760e0be7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.parse_args.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.parse_args"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_parse_args</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>argc</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>argv</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.parse_args</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, int, [unicode])
+@returns(none)
+def parse_args(self, argc, argv):
+ # Python wrapper for regress_annotation_object_parse_args()
+</code></synopsis>
+
+
+ <p>Test taking a zero-terminated array with length parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>argc</code></title>
+<p>Length of the argument vector</p>
+</item>
+<item>
+<title><code>argv</code></title>
+<p>Argument vector</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page
new file mode 100644
index 00000000..7cd52364
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[guint8]</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.set_data</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, [guint8], gsize)
+@returns(none)
+def set_data(self, data, length):
+ # Python wrapper for regress_annotation_object_set_data()
+</code></synopsis>
+
+
+ <p>Test taking a guchar * with a length.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>Length of the data</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page
new file mode 100644
index 00000000..cd47036a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data2.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data2"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data2</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[gint8]</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.set_data2</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, [gint8], gsize)
+@returns(none)
+def set_data2(self, data, length):
+ # Python wrapper for regress_annotation_object_set_data2()
+</code></synopsis>
+
+
+ <p>Test taking a gchar * with a length.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>Length of the data</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page
new file mode 100644
index 00000000..b9016e87
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.set_data3.page
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.set_data3"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_set_data3</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[guint8]</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.set_data3</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, [guint8], gsize)
+@returns(none)
+def set_data3(self, data, length):
+ # Python wrapper for regress_annotation_object_set_data3()
+</code></synopsis>
+
+
+ <p>Test taking a gchar * with a length, overriding the array element
+type.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>The data</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>Length of the data</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page
new file mode 100644
index 00000000..c1d085aa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.string_out.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.string_out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_string_out</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>str_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.string_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, unicode)
+@returns(bool)
+def string_out(self, str_out):
+ # Python wrapper for regress_annotation_object_string_out()
+</code></synopsis>
+
+
+ <p>Test returning a string as an out parameter</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>str_out</code></title>
+<p>string return value</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page
new file mode 100644
index 00000000..385fe89f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.use_buffer.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.use_buffer"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_use_buffer</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>guint8</api:type>
+ <api:name>bytes</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.use_buffer</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, guint8)
+@returns(none)
+def use_buffer(self, bytes):
+ # Python wrapper for regress_annotation_object_use_buffer()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="GObject.Object"/></p>
+</item>
+<item>
+<title><code>bytes</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page
new file mode 100644
index 00000000..66a53d54
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.watch_full.page
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.watch_full"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_watch_full</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.AnnotationForeachFunc</api:type>
+ <api:name>func</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GLib.DestroyNotify</api:type>
+ <api:name>destroy</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.watch_full</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, Regress.AnnotationForeachFunc, gpointer, GLib.DestroyNotify)
+@returns(none)
+def watch_full(self, func, user_data, destroy):
+ # Python wrapper for regress_annotation_object_watch_full()
+</code></synopsis>
+
+
+ <p>Test overriding via the "Rename To" annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.AnnotationObject"/></p>
+</item>
+<item>
+<title><code>func</code></title>
+<p>The callback</p>
+</item>
+<item>
+<title><code>user_data</code></title>
+<p>The callback data</p>
+</item>
+<item>
+<title><code>destroy</code></title>
+<p>Destroy notification</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page
new file mode 100644
index 00000000..bda3e9a0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationObject.with_voidp.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationObject.with_voidp"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.AnnotationObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_object_with_voidp</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.AnnotationObject.with_voidp</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, gpointer)
+@returns(none)
+def with_voidp(self, data):
+ # Python wrapper for regress_annotation_object_with_voidp()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+<p>Opaque pointer handle</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page
new file mode 100644
index 00000000..e2100429
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnnotationStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.AnnotationStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.AnnotationStruct</title>
+
+
+
+ <p>This is a test of an array of object in an field of a struct.</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page
new file mode 100644
index 00000000..09cd98fd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooASingle.page
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<page id="Regress.FooASingle"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooASingle</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooASingle.FOO_SOME_SINGLE_ENUM</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page
new file mode 100644
index 00000000..008a8f36
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooAddressType.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooAddressType"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooAddressType</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooAddressType.INVALID</code></title>
+
+</item>
+<item>
+<title><code>FooAddressType.IPV4</code></title>
+
+</item>
+<item>
+<title><code>FooAddressType.IPV6</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page
new file mode 100644
index 00000000..c7e03ace
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.add.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect.add"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBRect" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_brect_add</api:name>
+ <api:arg>
+ <api:type>Regress.FooBRect</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.FooBRect</api:type>
+ <api:name>b2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBRect.add</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooBRect, Regress.FooBRect)
+@returns(none)
+def add(self, b2):
+ # Python wrapper for regress_foo_brect_add()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>b2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page
new file mode 100644
index 00000000..fd1e9d6e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBRect.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBRect"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooBRect</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page
new file mode 100644
index 00000000..4052ec56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.get_contained_type.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion.get_contained_type"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBUnion" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_foo_bunion_get_contained_type</api:name>
+ <api:arg>
+ <api:type>Regress.FooBUnion</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBUnion.get_contained_type</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooBUnion)
+@returns(int)
+def get_contained_type(self):
+ # Python wrapper for regress_foo_bunion_get_contained_type()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page
new file mode 100644
index 00000000..8644d96e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBUnion"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooBUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page
new file mode 100644
index 00000000..95f06fbb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.method.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_boxed_method</api:name>
+ <api:arg>
+ <api:type>Regress.FooBoxed</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBoxed.method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooBoxed)
+@returns(none)
+def method(self):
+ # Python wrapper for regress_foo_boxed_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page
new file mode 100644
index 00000000..bca1f99a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBoxed"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooBoxed</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page
new file mode 100644
index 00000000..1a515428
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.page
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBuffer"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooBuffer</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+foo_buffer = Regress.FooBuffer() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ <item>
+ <code>Regress.FooBuffer</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page
new file mode 100644
index 00000000..e971b2d6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooBuffer.some_method.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.FooBuffer.some_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooBuffer" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_buffer_some_method</api:name>
+ <api:arg>
+ <api:type>Regress.FooBuffer</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooBuffer.some_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooBuffer)
+@returns(none)
+def some_method(self):
+ # Python wrapper for regress_foo_buffer_some_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page
new file mode 100644
index 00000000..52feda29
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page
new file mode 100644
index 00000000..fe1b6472
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.method.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.FooDBusData.method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooDBusData" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_dbus_data_method</api:name>
+ <api:arg>
+ <api:type>Regress.FooDBusData</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooDBusData.method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooDBusData)
+@returns(none)
+def method(self):
+ # Python wrapper for regress_foo_dbus_data_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page
new file mode 100644
index 00000000..b4eaeade
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooDBusData.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooDBusData"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooDBusData</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page
new file mode 100644
index 00000000..00169aaf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumFullname.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumFullname"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumFullname</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooEnumFullname.ONE</code></title>
+
+</item>
+<item>
+<title><code>FooEnumFullname.TWO</code></title>
+
+</item>
+<item>
+<title><code>FooEnumFullname.THREE</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page
new file mode 100644
index 00000000..d2b41e61
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumNoType.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumNoType"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumNoType</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooEnumNoType.UN</code></title>
+
+</item>
+<item>
+<title><code>FooEnumNoType.DEUX</code></title>
+
+</item>
+<item>
+<title><code>FooEnumNoType.TROIS</code></title>
+
+</item>
+<item>
+<title><code>FooEnumNoType.NEUF</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page
new file mode 100644
index 00000000..a802f265
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.method.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType.method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_foo_enum_type_method</api:name>
+ <api:arg>
+ <api:type>Regress.FooEnumType</api:type>
+ <api:name>regress_foo_enum</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooEnumType)
+@returns(int)
+def method(regress_foo_enum):
+ # Python wrapper for regress_foo_enum_type_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>regress_foo_enum</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page
new file mode 100644
index 00000000..c3ff89b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooEnumType</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooEnumType.ALPHA</code></title>
+
+</item>
+<item>
+<title><code>FooEnumType.BETA</code></title>
+
+</item>
+<item>
+<title><code>FooEnumType.DELTA</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page
new file mode 100644
index 00000000..149cc4fe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEnumType.returnv.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEnumType.returnv"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooEnumType</api:type>
+ </api:returns>
+ <api:name>regress_foo_enum_type_returnv</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.returnv</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(Regress.FooEnumType)
+def returnv(x):
+ # Python wrapper for regress_foo_enum_type_returnv()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page
new file mode 100644
index 00000000..8c0b6a23
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.FooError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooError.GOOD</code></title>
+
+</item>
+<item>
+<title><code>FooError.BAD</code></title>
+
+</item>
+<item>
+<title><code>FooError.UGLY</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page
new file mode 100644
index 00000000..81f81a7d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_foo_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.quark</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Quark)
+def quark():
+ # Python wrapper for regress_foo_error_quark()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page
new file mode 100644
index 00000000..ce368302
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEvent.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEvent"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooEvent</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page
new file mode 100644
index 00000000..562ec03c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventAny.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventAny"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooEventAny</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page
new file mode 100644
index 00000000..0000add5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooEventExpose.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooEventExpose"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooEventExpose</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page
new file mode 100644
index 00000000..53539d49
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsNoType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooFlagsNoType"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooFlagsNoType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page
new file mode 100644
index 00000000..2b4afeb5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooFlagsType.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooFlagsType"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooFlagsType</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page
new file mode 100644
index 00000000..1dbb5dc0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.copy.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooForeignStruct" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooForeignStruct</api:type>
+ </api:returns>
+ <api:name>regress_foo_foreign_struct_copy</api:name>
+ <api:arg>
+ <api:type>Regress.FooForeignStruct</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooForeignStruct.copy</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooForeignStruct)
+@returns(Regress.FooForeignStruct)
+def copy(self):
+ # Python wrapper for regress_foo_foreign_struct_copy()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page
new file mode 100644
index 00000000..312994a9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooForeignStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooForeignStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooForeignStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page
new file mode 100644
index 00000000..d0be1eb5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface-do_regress_foo.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface-do_regress_foo"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterface::do_regress_foo</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooInterface, int)
+@returns(none)
+def do_do_regress_foo(self, x):
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page
new file mode 100644
index 00000000..3b2f26d6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.do_regress_foo.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface.do_regress_foo"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_interface_do_regress_foo</api:name>
+ <api:arg>
+ <api:type>Regress.FooInterface</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooInterface.do_regress_foo</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooInterface, int)
+@returns(none)
+def do_regress_foo(self, x):
+ # Python wrapper for regress_foo_interface_do_regress_foo()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page
new file mode 100644
index 00000000..d2a482f7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooInterface</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+foo_interface = Regress.FooInterface() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.FooInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page
new file mode 100644
index 00000000..1c6c1660
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooInterface.static_method.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.FooInterface.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooInterface" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_interface_static_method</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooInterface.static_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(none)
+def static_method(x):
+ # Python wrapper for regress_foo_interface_static_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page
new file mode 100644
index 00000000..6cf532b8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-read_fn.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-read_fn"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject::read_fn</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, int, int)
+@returns(none)
+def do_read_fn(object, offset, length):
+</code></synopsis>
+
+
+ <p>Read some stuff.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>obj</p>
+</item>
+<item>
+<title><code>offset</code></title>
+<p>offset</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>length</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page
new file mode 100644
index 00000000..ee6c20c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-signal.page
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-signal"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="signal" type="guide"/>
+ <title type="link" role="topic">signal</title>
+
+ </info>
+ <title>Regress.FooObject::signal</title>
+
+<synopsis><code mime="text/x-python">
+def callback(foo_object, object, p0, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>foo_object</code></title>
+<p>instance of <link xref="Regress.FooObject"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>p0</code></title>
+
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page
new file mode 100644
index 00000000..9d61f3ab
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-string.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-string"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="property" type="guide"/>
+ <title type="link" role="topic">string</title>
+
+ </info>
+ <title>Regress.FooObject:string</title>
+
+<synopsis><code mime="text/x-python">
+"string" unicode : Read / Write / Construct
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page
new file mode 100644
index 00000000..01cf6dba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject-virtual_method.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject-virtual_method"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject::virtual_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, int)
+@returns(bool)
+def do_virtual_method(object, first_param):
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>first_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page
new file mode 100644
index 00000000..87645bcf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.a_global_method.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.a_global_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_a_global_method</api:name>
+ <api:arg>
+ <api:type>Utility.Object</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.a_global_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Utility.Object)
+@returns(none)
+def a_global_method(obj):
+ # Python wrapper for regress_foo_object_a_global_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page
new file mode 100644
index 00000000..23ba26b8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.append_new_stack_layer.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.append_new_stack_layer"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooOtherObject</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_append_new_stack_layer</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.append_new_stack_layer</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, int)
+@returns(Regress.FooOtherObject)
+def append_new_stack_layer(self, x):
+ # Python wrapper for regress_foo_object_append_new_stack_layer()
+</code></synopsis>
+
+
+ <p>This shouldn't be scanned as a constructor.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page
new file mode 100644
index 00000000..dcc20f6c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.dup_name.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.dup_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_dup_name</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.dup_name</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject)
+@returns(unicode)
+def dup_name(self):
+ # Python wrapper for regress_foo_object_dup_name()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page
new file mode 100644
index 00000000..0b32befd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.external_type.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.external_type"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Utility.Object</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_external_type</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.external_type</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject)
+@returns(Utility.Object)
+def external_type(self):
+ # Python wrapper for regress_foo_object_external_type()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.FooObject"/></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page
new file mode 100644
index 00000000..826efd85
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_default.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.get_default"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooSubobject</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_get_default</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.get_default</title>
+
+<synopsis><code mime="text/x-python">
+@returns(Regress.FooSubobject)
+def get_default():
+ # Python wrapper for regress_foo_object_get_default()
+</code></synopsis>
+
+
+ <p>This function is intended to match clutter_stage_get_default which
+uses a C sugar return type.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page
new file mode 100644
index 00000000..e66d4932
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.get_name.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.get_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_get_name</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.get_name</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject)
+@returns(unicode)
+def get_name(self):
+ # Python wrapper for regress_foo_object_get_name()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page
new file mode 100644
index 00000000..e171f820
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.handle_glyph.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.handle_glyph"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_handle_glyph</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Utility.Glyph</api:type>
+ <api:name>glyph</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.handle_glyph</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, Utility.Glyph)
+@returns(none)
+def handle_glyph(self, glyph):
+ # Python wrapper for regress_foo_object_handle_glyph()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>glyph</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page
new file mode 100644
index 00000000..1781562f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.is_it_time_yet.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.is_it_time_yet"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_is_it_time_yet</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>time</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.is_it_time_yet</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, int)
+@returns(none)
+def is_it_time_yet(self, time):
+ # Python wrapper for regress_foo_object_is_it_time_yet()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>time</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page
new file mode 100644
index 00000000..3265e6b5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooObject</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+foo_object = Regress.FooObject(<link xref='Regress.FooObject-hidden'>hidden</link>=value, <link xref='Regress.FooObject-string'>string</link>=value) </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page
new file mode 100644
index 00000000..88dee520
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.read.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.read"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_read</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>offset</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.read</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, int, int)
+@returns(none)
+def read(self, offset, length):
+ # Python wrapper for regress_foo_object_read()
+</code></synopsis>
+
+
+ <p>Read some stuff.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>obj</p>
+</item>
+<item>
+<title><code>offset</code></title>
+<p>offset</p>
+</item>
+<item>
+<title><code>length</code></title>
+<p>length</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page
new file mode 100644
index 00000000..c652a104
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.static_meth.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.static_meth"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_static_meth</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.static_meth</title>
+
+<synopsis><code mime="text/x-python">
+@returns(int)
+def static_meth():
+ # Python wrapper for regress_foo_object_static_meth()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page
new file mode 100644
index 00000000..efdc5c45
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.various.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.various"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_various</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GType</api:type>
+ <api:name>some_type</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.various</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, gpointer, GType)
+@returns(none)
+def various(self, data, some_type):
+ # Python wrapper for regress_foo_object_various()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>some_type</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page
new file mode 100644
index 00000000..f4920bed
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObject.virtual_method.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObject.virtual_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_foo_object_virtual_method</api:name>
+ <api:arg>
+ <api:type>Regress.FooObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>first_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooObject.virtual_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooObject, int)
+@returns(bool)
+def virtual_method(self, first_param):
+ # Python wrapper for regress_foo_object_virtual_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>first_param</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page
new file mode 100644
index 00000000..44a63ab1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooObjectCookie.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooObjectCookie"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooObjectCookie</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page
new file mode 100644
index 00000000..dadf5236
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooOtherObject.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.FooOtherObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooOtherObject</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+foo_other_object = Regress.FooOtherObject() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooOtherObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page
new file mode 100644
index 00000000..fe924f40
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.add.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle.add"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooRectangle" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_rectangle_add</api:name>
+ <api:arg>
+ <api:type>Regress.FooRectangle</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.FooRectangle</api:type>
+ <api:name>r2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooRectangle.add</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooRectangle, Regress.FooRectangle)
+@returns(none)
+def add(self, r2):
+ # Python wrapper for regress_foo_rectangle_add()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>add to this rect</p>
+</item>
+<item>
+<title><code>r2</code></title>
+<p>source rectangle</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page
new file mode 100644
index 00000000..0cfef622
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooRectangle.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooRectangle"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooRectangle</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page
new file mode 100644
index 00000000..8a08c9ae
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStackLayer.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStackLayer"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.FooStackLayer</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>FooStackLayer.DESKTOP</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.BOTTOM</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.NORMAL</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.TOP</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.DOCK</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.FULLSCREEN</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.FOCUSED_WINDOW</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.OVERRIDE_REDIRECT</code></title>
+
+</item>
+<item>
+<title><code>FooStackLayer.LAST</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page
new file mode 100644
index 00000000..84f5d192
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page
new file mode 100644
index 00000000..a42bb176
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy-event.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-destroy-event"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="signal" type="guide"/>
+ <title type="link" role="topic">destroy-event</title>
+
+ </info>
+ <title>Regress.FooSubInterface::destroy-event</title>
+
+<synopsis><code mime="text/x-python">
+def callback(foo_sub_interface, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>foo_sub_interface</code></title>
+<p>instance of <link xref="Regress.FooSubInterface"/> that is emitting the signal</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page
new file mode 100644
index 00000000..82dbc622
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-destroy_event.page
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-destroy_event"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::destroy_event</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooSubInterface)
+@returns(none)
+def do_destroy_event(self):
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page
new file mode 100644
index 00000000..a035189a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_bar.page
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-do_bar"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::do_bar</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooSubInterface)
+@returns(none)
+def do_do_bar(self):
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page
new file mode 100644
index 00000000..3b0404fa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface-do_baz.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface-do_baz"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface::do_baz</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooSubInterface, GObject.Callback, gpointer)
+@returns(none)
+def do_do_baz(self, callback, user_data):
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page
new file mode 100644
index 00000000..1ecac0d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_bar.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface.do_bar"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_sub_interface_do_bar</api:name>
+ <api:arg>
+ <api:type>Regress.FooSubInterface</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooSubInterface.do_bar</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooSubInterface)
+@returns(none)
+def do_bar(self):
+ # Python wrapper for regress_foo_sub_interface_do_bar()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page
new file mode 100644
index 00000000..071fb0d5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.do_baz.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface.do_baz"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.FooSubInterface" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_sub_interface_do_baz</api:name>
+ <api:arg>
+ <api:type>Regress.FooSubInterface</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject.Callback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.FooSubInterface.do_baz</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooSubInterface, GObject.Callback, gpointer)
+@returns(none)
+def do_baz(self, callback, user_data):
+ # Python wrapper for regress_foo_sub_interface_do_baz()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page
new file mode 100644
index 00000000..81593d32
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubInterface.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubInterface</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+foo_sub_interface = Regress.FooSubInterface() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.FooSubInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page
new file mode 100644
index 00000000..fc7b5ad1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooSubobject.page
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<page id="Regress.FooSubobject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.FooSubobject</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+foo_subobject = Regress.FooSubobject() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.FooObject</code>
+ <item>
+ <code>Regress.FooSubobject</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page
new file mode 100644
index 00000000..430dce7c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooThingWithArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooThingWithArray"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooThingWithArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page
new file mode 100644
index 00000000..9746f17e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUnion.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUnion"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooUnion</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page
new file mode 100644
index 00000000..2b94f691
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooUtilityStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooUtilityStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.FooUtilityStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page b/tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page
new file mode 100644
index 00000000..c389ef05
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.FooXEvent.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FooXEvent"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.FooXEvent</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page
new file mode 100644
index 00000000..44a946ee
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeGnomeKeyringPasswordSchema.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeGnomeKeyringPasswordSchema"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.LikeGnomeKeyringPasswordSchema</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page
new file mode 100644
index 00000000..fb4831f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeXklConfigItem"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.LikeXklConfigItem</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page
new file mode 100644
index 00000000..a6815c8b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.LikeXklConfigItem.set_name.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.LikeXklConfigItem.set_name"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.LikeXklConfigItem" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_like_xkl_config_item_set_name</api:name>
+ <api:arg>
+ <api:type>Regress.LikeXklConfigItem</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>name</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.LikeXklConfigItem.set_name</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.LikeXklConfigItem, unicode)
+@returns(none)
+def set_name(self, name):
+ # Python wrapper for regress_like_xkl_config_item_set_name()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>name</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page b/tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page
new file mode 100644
index 00000000..f66aee44
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.PtrArrayAlias.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.PtrArrayAlias"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.PtrArrayAlias</title>
+
+
+
+ <p>Typedef'd GPtrArray for some reason</p>
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page
new file mode 100644
index 00000000..f31b58ec
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestABCError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestABCError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestABCError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestABCError.CODE2</code></title>
+
+</item>
+<item>
+<title><code>TestABCError.CODE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page
new file mode 100644
index 00000000..8a8114df
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestABCError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestABCError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_abc_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.quark</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Quark)
+def quark():
+ # Python wrapper for regress_test_abc_error_quark()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page
new file mode 100644
index 00000000..6e69b52e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.copy.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxed</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_copy</api:name>
+ <api:arg>
+ <api:type>Regress.TestBoxed</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.copy</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestBoxed)
+@returns(Regress.TestBoxed)
+def copy(self):
+ # Python wrapper for regress_test_boxed_copy()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page
new file mode 100644
index 00000000..b4e88aaf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.equals.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed.equals"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxed" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_equals</api:name>
+ <api:arg>
+ <api:type>Regress.TestBoxed</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestBoxed</api:type>
+ <api:name>other</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxed.equals</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestBoxed, Regress.TestBoxed)
+@returns(bool)
+def equals(self, other):
+ # Python wrapper for regress_test_boxed_equals()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>other</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page
new file mode 100644
index 00000000..baa423f2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxed.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxed"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxed</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page
new file mode 100644
index 00000000..2629154a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.copy.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxedB</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_b_copy</api:name>
+ <api:arg>
+ <api:type>Regress.TestBoxedB</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedB.copy</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestBoxedB)
+@returns(Regress.TestBoxedB)
+def copy(self):
+ # Python wrapper for regress_test_boxed_b_copy()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page
new file mode 100644
index 00000000..0e39780b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedB"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page
new file mode 100644
index 00000000..18b77d9f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedC.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedC"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedC</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page
new file mode 100644
index 00000000..9910236c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.copy.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestBoxedD</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_copy</api:name>
+ <api:arg>
+ <api:type>Regress.TestBoxedD</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedD.copy</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestBoxedD)
+@returns(Regress.TestBoxedD)
+def copy(self):
+ # Python wrapper for regress_test_boxed_d_copy()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page
new file mode 100644
index 00000000..9750cc3f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.free.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.free"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_free</api:name>
+ <api:arg>
+ <api:type>Regress.TestBoxedD</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedD.free</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestBoxedD)
+@returns(none)
+def free(self):
+ # Python wrapper for regress_test_boxed_d_free()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page
new file mode 100644
index 00000000..f050eb66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.get_magic.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD.get_magic"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestBoxedD" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_boxed_d_get_magic</api:name>
+ <api:arg>
+ <api:type>Regress.TestBoxedD</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestBoxedD.get_magic</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestBoxedD)
+@returns(int)
+def get_magic(self):
+ # Python wrapper for regress_test_boxed_d_get_magic()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page
new file mode 100644
index 00000000..995e80dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestBoxedD.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestBoxedD"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestBoxedD</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page
new file mode 100644
index 00000000..bed84d50
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page
new file mode 100644
index 00000000..7d3f7b83
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackArray"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page
new file mode 100644
index 00000000..0b8fca1d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackFull.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackFull"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackFull</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page
new file mode 100644
index 00000000..804382f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackGError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackGError"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackGError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page
new file mode 100644
index 00000000..06ebb706
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackHashtable.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackHashtable"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackHashtable</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page
new file mode 100644
index 00000000..28b21ea4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackOwnedGError.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackOwnedGError"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackOwnedGError</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page
new file mode 100644
index 00000000..286c830a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestCallbackUserData.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestCallbackUserData"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestCallbackUserData</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page
new file mode 100644
index 00000000..589059d5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestDEFError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestDEFError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestDEFError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestDEFError.CODE0</code></title>
+
+</item>
+<item>
+<title><code>TestDEFError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestDEFError.CODE2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
new file mode 100644
index 00000000..814b474b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnum"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnum</title>
+
+
+
+ <p>By purpose, not all members have documentation</p>
+
+
+
+
+<terms>
+<item>
+<title><code>TestEnum.VALUE1</code></title>
+<p>value 1</p>
+</item>
+<item>
+<title><code>TestEnum.VALUE2</code></title>
+<p>value 2</p>
+</item>
+<item>
+<title><code>TestEnum.VALUE3</code></title>
+
+</item>
+<item>
+<title><code>TestEnum.VALUE4</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page
new file mode 100644
index 00000000..24684786
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.param.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnum.param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_test_enum_param</api:name>
+ <api:arg>
+ <api:type>Regress.TestEnum</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.param</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestEnum)
+@returns(unicode)
+def param(e):
+ # Python wrapper for regress_test_enum_param()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page
new file mode 100644
index 00000000..5c0c5594
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumNoGEnum.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnumNoGEnum"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnumNoGEnum</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestEnumNoGEnum.EVALUE1</code></title>
+
+</item>
+<item>
+<title><code>TestEnumNoGEnum.EVALUE2</code></title>
+
+</item>
+<item>
+<title><code>TestEnumNoGEnum.EVALUE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page
new file mode 100644
index 00000000..df3cfa1e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnumUnsigned.page
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEnumUnsigned"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestEnumUnsigned</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestEnumUnsigned.VALUE1</code></title>
+
+</item>
+<item>
+<title><code>TestEnumUnsigned.VALUE2</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page
new file mode 100644
index 00000000..d6a6ebb2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestError.CODE2</code></title>
+
+</item>
+<item>
+<title><code>TestError.CODE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page
new file mode 100644
index 00000000..07a91a37
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.quark</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Quark)
+def quark():
+ # Python wrapper for regress_test_error_quark()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page
new file mode 100644
index 00000000..d5bfeeb4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFlags.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFlags"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFlags</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page
new file mode 100644
index 00000000..a2b80e1d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFloating.page
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFloating"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFloating</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_floating = Regress.TestFloating() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>GObject.InitiallyUnowned</code>
+ <item>
+ <code>Regress.TestFloating</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page
new file mode 100644
index 00000000..7035407d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObject</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_fundamental_object = Regress.TestFundamentalObject() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestFundamentalObject</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page
new file mode 100644
index 00000000..ed3159d0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.ref.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject.ref"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestFundamentalObject</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_object_ref</api:name>
+ <api:arg>
+ <api:type>Regress.TestFundamentalObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestFundamentalObject.ref</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestFundamentalObject)
+@returns(Regress.TestFundamentalObject)
+def ref(self):
+ # Python wrapper for regress_test_fundamental_object_ref()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page
new file mode 100644
index 00000000..1ecf6c1e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObject.unref.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObject.unref"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestFundamentalObject" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_fundamental_object_unref</api:name>
+ <api:arg>
+ <api:type>Regress.TestFundamentalObject</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestFundamentalObject.unref</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestFundamentalObject)
+@returns(none)
+def unref(self):
+ # Python wrapper for regress_test_fundamental_object_unref()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page
new file mode 100644
index 00000000..73a33285
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectCopyFunction.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectCopyFunction"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObjectCopyFunction</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page
new file mode 100644
index 00000000..df0e8fba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalObjectFinalizeFunction.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalObjectFinalizeFunction"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalObjectFinalizeFunction</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page
new file mode 100644
index 00000000..6b1e810a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestFundamentalSubObject.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.TestFundamentalSubObject"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestFundamentalSubObject</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_fundamental_sub_object = Regress.TestFundamentalSubObject() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestFundamentalObject</code>
+ <item>
+ <code>Regress.TestFundamentalSubObject</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page
new file mode 100644
index 00000000..1cfcfdcb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.do_foo"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_do_foo</api:name>
+ <api:arg>
+ <api:type>Regress.TestInheritDrawable</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.do_foo</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestInheritDrawable, int)
+@returns(none)
+def do_foo(self, x):
+ # Python wrapper for regress_test_inherit_drawable_do_foo()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
new file mode 100644
index 00000000..e00b489c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.do_foo_maybe_throw"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_do_foo_maybe_throw</api:name>
+ <api:arg>
+ <api:type>Regress.TestInheritDrawable</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.do_foo_maybe_throw</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestInheritDrawable, int)
+@returns(none)
+def do_foo_maybe_throw(self, x):
+ # Python wrapper for regress_test_inherit_drawable_do_foo_maybe_throw()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page
new file mode 100644
index 00000000..357d0694
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_origin.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.get_origin"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_get_origin</api:name>
+ <api:arg>
+ <api:type>Regress.TestInheritDrawable</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.get_origin</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestInheritDrawable, int, int)
+@returns(none)
+def get_origin(self, x, y):
+ # Python wrapper for regress_test_inherit_drawable_get_origin()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page
new file mode 100644
index 00000000..3bbdfed1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.get_size.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable.get_size"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestInheritDrawable" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_inherit_drawable_get_size</api:name>
+ <api:arg>
+ <api:type>Regress.TestInheritDrawable</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>width</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>height</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestInheritDrawable.get_size</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestInheritDrawable, int, int)
+@returns(none)
+def get_size(self, width, height):
+ # Python wrapper for regress_test_inherit_drawable_get_size()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>width</code></title>
+
+</item>
+<item>
+<title><code>height</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page
new file mode 100644
index 00000000..1fdd2c89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritDrawable.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritDrawable"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestInheritDrawable</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_inherit_drawable = Regress.TestInheritDrawable() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestInheritDrawable</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page
new file mode 100644
index 00000000..0df0396b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInheritPixmapObjectClass.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInheritPixmapObjectClass"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestInheritPixmapObjectClass</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page
new file mode 100644
index 00000000..807e18ae
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestInterface.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.TestInterface"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestInterface</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_interface = Regress.TestInterface() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>Regress.TestInterface</code>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page
new file mode 100644
index 00000000..f8fb4a1c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-all.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-all"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">all</title>
+
+ </info>
+ <title>Regress.TestObj::all</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page
new file mode 100644
index 00000000..7a3b9c91
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-allow_none_vfunc.page
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-allow_none_vfunc"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj::allow_none_vfunc</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, Regress.TestObj)
+@returns(none)
+def do_allow_none_vfunc(obj, two):
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+<p>Another object</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page
new file mode 100644
index 00000000..f1f1b520
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-bare.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-bare"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">bare</title>
+
+ </info>
+ <title>Regress.TestObj:bare</title>
+
+<synopsis><code mime="text/x-python">
+"bare" GObject.Object : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page
new file mode 100644
index 00000000..a392a771
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-boxed.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-boxed"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">boxed</title>
+
+ </info>
+ <title>Regress.TestObj:boxed</title>
+
+<synopsis><code mime="text/x-python">
+"boxed" Regress.TestBoxed : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page
new file mode 100644
index 00000000..f35c0314
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-cleanup.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-cleanup"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">cleanup</title>
+
+ </info>
+ <title>Regress.TestObj::cleanup</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page
new file mode 100644
index 00000000..70fd579b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-double.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-double"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">double</title>
+
+ </info>
+ <title>Regress.TestObj:double</title>
+
+<synopsis><code mime="text/x-python">
+"double" float : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page
new file mode 100644
index 00000000..b5bcd2c0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-first.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-first"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">first</title>
+
+ </info>
+ <title>Regress.TestObj::first</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page
new file mode 100644
index 00000000..87be50fe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-float.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-float"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">float</title>
+
+ </info>
+ <title>Regress.TestObj:float</title>
+
+<synopsis><code mime="text/x-python">
+"float" float : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page
new file mode 100644
index 00000000..6b222e4e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-gtype.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-gtype"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">gtype</title>
+
+ </info>
+ <title>Regress.TestObj:gtype</title>
+
+<synopsis><code mime="text/x-python">
+"gtype" GType : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page
new file mode 100644
index 00000000..c796f365
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table-old.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-hash-table-old"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">hash-table-old</title>
+
+ </info>
+ <title>Regress.TestObj:hash-table-old</title>
+
+<synopsis><code mime="text/x-python">
+"hash-table-old" {unicode: gint8} : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page
new file mode 100644
index 00000000..c5d426cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-hash-table.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-hash-table"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">hash-table</title>
+
+ </info>
+ <title>Regress.TestObj:hash-table</title>
+
+<synopsis><code mime="text/x-python">
+"hash-table" {unicode: gint8} : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page
new file mode 100644
index 00000000..db7a89e1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-int.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-int"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">int</title>
+
+ </info>
+ <title>Regress.TestObj:int</title>
+
+<synopsis><code mime="text/x-python">
+"int" int : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page
new file mode 100644
index 00000000..95367ec2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list-old.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-list-old"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">list-old</title>
+
+ </info>
+ <title>Regress.TestObj:list-old</title>
+
+<synopsis><code mime="text/x-python">
+"list-old" [unicode] : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page
new file mode 100644
index 00000000..aca148d8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-list.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-list"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">list</title>
+
+ </info>
+ <title>Regress.TestObj:list</title>
+
+<synopsis><code mime="text/x-python">
+"list" [unicode] : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page
new file mode 100644
index 00000000..742e6da4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-matrix.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-matrix"
+ type="topic"
+ style="vfunc"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="vfunc" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj::matrix</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, unicode)
+@returns(int)
+def do_matrix(obj, somestr):
+</code></synopsis>
+
+
+ <p>This method is virtual. Notably its name differs from the virtual
+slot name, which makes it useful for testing bindings handle this
+case.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>somestr</code></title>
+<p>Meaningless string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
new file mode 100644
index 00000000..a228de1f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-len-prop.page
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-array-len-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-array-len-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-array-len-prop</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, arr, len, user_param1, ...)
+</code></synopsis>
+
+
+ <p>This test signal similar to GSettings::change-event</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arr</code></title>
+<p>numbers, or <code>None</code></p>
+</item>
+<item>
+<title><code>len</code></title>
+<p>length of <code>arr</code>, or 0</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page
new file mode 100644
index 00000000..eb1b99ff
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-array-prop.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-array-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-array-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-array-prop</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, arr, user_param1, ...)
+</code></synopsis>
+
+
+ <p>This test signal is like TelepathyGlib's
+ TpChannel:: group-members-changed-detailed:</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>arr</code></title>
+<p>numbers</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page
new file mode 100644
index 00000000..36a30d7e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-foreign-struct.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-foreign-struct"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-foreign-struct</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-foreign-struct</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, cr, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>cr</code></title>
+<p>A cairo context.</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page
new file mode 100644
index 00000000..2048ad2c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-hash-prop.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-hash-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-hash-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-hash-prop</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, hash, user_param1, ...)
+</code></synopsis>
+
+
+ <p>This test signal is like TelepathyGlib's
+ TpAccount::status-changed</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>hash</code></title>
+
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page
new file mode 100644
index 00000000..a782484b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-int64-prop.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-int64-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-int64-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-int64-prop</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, i, user_param1, ...)
+</code></synopsis>
+
+
+ <p>You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+the introspection client langage.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page
new file mode 100644
index 00000000..d070f179
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-intarray-ret.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-intarray-ret"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-intarray-ret</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-intarray-ret</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, i, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page
new file mode 100644
index 00000000..d4814a83
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-obj.page
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-obj"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-obj</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-obj</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, obj, user_param1, ...)
+</code></synopsis>
+
+
+ <p>Test transfer none GObject as a param (tests refcounting).
+Use with regress_test_obj_emit_sig_with_obj</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>obj</code></title>
+<p>A newly created RegressTestObj</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page
new file mode 100644
index 00000000..a7037a49
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-strv.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-strv"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-strv</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-strv</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, strs, user_param1, ...)
+</code></synopsis>
+
+
+ <p>Test GStrv as a param.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>strs</code></title>
+<p>strings</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page
new file mode 100644
index 00000000..c89d1d16
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-sig-with-uint64-prop.page
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-sig-with-uint64-prop"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">sig-with-uint64-prop</title>
+
+ </info>
+ <title>Regress.TestObj::sig-with-uint64-prop</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, i, user_param1, ...)
+</code></synopsis>
+
+
+ <p>You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+the introspection client langage.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>i</code></title>
+<p>an integer</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page
new file mode 100644
index 00000000..fa499937
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-string.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-string"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">string</title>
+
+ </info>
+ <title>Regress.TestObj:string</title>
+
+<synopsis><code mime="text/x-python">
+"string" unicode : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page
new file mode 100644
index 00000000..736814c7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test-with-static-scope-arg.page
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-test-with-static-scope-arg"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">test-with-static-scope-arg</title>
+
+ </info>
+ <title>Regress.TestObj::test-with-static-scope-arg</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, object, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<item>
+<title><code>object</code></title>
+
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page
new file mode 100644
index 00000000..e09f531e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-test.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-test"
+ type="topic"
+ style="signal"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="signal" type="guide"/>
+ <title type="link" role="topic">test</title>
+
+ </info>
+ <title>Regress.TestObj::test</title>
+
+<synopsis><code mime="text/x-python">
+def callback(test_obj, user_param1, ...)
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>test_obj</code></title>
+<p>instance of <link xref="Regress.TestObj"/> that is emitting the signal</p>
+</item>
+<title><code>user_param1</code></title>
+<p>first user parameter (if any) specified with the connect() method</p>
+<item>
+<title><code>...</code></title>
+<p>additional user parameters (if any)</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page
new file mode 100644
index 00000000..07eaa505
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.do_matrix.page
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.do_matrix"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_do_matrix</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>somestr</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.do_matrix</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, unicode)
+@returns(int)
+def do_matrix(self, somestr):
+ # Python wrapper for regress_test_obj_do_matrix()
+</code></synopsis>
+
+
+ <p>This method is virtual. Notably its name differs from the virtual
+slot name, which makes it useful for testing bindings handle this
+case.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>somestr</code></title>
+<p>Meaningless string</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
new file mode 100644
index 00000000..065d7456
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_foreign_struct"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_foreign_struct</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.emit_sig_with_foreign_struct</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def emit_sig_with_foreign_struct(self):
+ # Python wrapper for regress_test_obj_emit_sig_with_foreign_struct()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page
new file mode 100644
index 00000000..fb0679af
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_int64.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_int64"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_int64</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.emit_sig_with_int64</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def emit_sig_with_int64(self):
+ # Python wrapper for regress_test_obj_emit_sig_with_int64()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page
new file mode 100644
index 00000000..25154985
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_obj.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_obj"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_obj</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.emit_sig_with_obj</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def emit_sig_with_obj(self):
+ # Python wrapper for regress_test_obj_emit_sig_with_obj()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page
new file mode 100644
index 00000000..34fbfe39
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.emit_sig_with_uint64.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.emit_sig_with_uint64"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_emit_sig_with_uint64</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.emit_sig_with_uint64</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def emit_sig_with_uint64(self):
+ # Python wrapper for regress_test_obj_emit_sig_with_uint64()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page
new file mode 100644
index 00000000..e4770525
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.forced_method.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.forced_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_forced_method</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.forced_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def forced_method(self):
+ # Python wrapper for regress_forced_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page
new file mode 100644
index 00000000..58c58e31
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.instance_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_instance_method</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.instance_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(int)
+def instance_method(self):
+ # Python wrapper for regress_test_obj_instance_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page
new file mode 100644
index 00000000..d491fa61
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.instance_method_callback.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.instance_method_callback"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_instance_method_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.instance_method_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, Regress.TestCallback)
+@returns(none)
+def instance_method_callback(self, callback):
+ # Python wrapper for regress_test_obj_instance_method_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page
new file mode 100644
index 00000000..a1c06605
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.null_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_null_out</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.null_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def null_out(obj):
+ # Python wrapper for regress_test_obj_null_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
new file mode 100644
index 00000000..1ded23c7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestObj</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value, <link xref='Regress.TestObj-boxed'>boxed</link>=value, <link xref='Regress.TestObj-double'>double</link>=value, <link xref='Regress.TestObj-float'>float</link>=value, <link xref='Regress.TestObj-gtype'>gtype</link>=value, <link xref='Regress.TestObj-hash-table'>hash_table</link>=value, <link xref='Regress.TestObj-hash-table-old'>hash_table_old</link>=value, <link xref='Regress.TestObj-int'>int</link>=value, <link xref='Regress.TestObj-list'>list</link>=value, <link xref='Regress.TestObj-list-old'>list_old</link>=value, <link xref='Regress.TestObj-string'>string</link>=value) </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestObj</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page
new file mode 100644
index 00000000..63acc894
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.set_bare.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.set_bare"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_set_bare</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GObject.Object</api:type>
+ <api:name>bare</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.set_bare</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, GObject.Object)
+@returns(none)
+def set_bare(self, bare):
+ # Python wrapper for regress_test_obj_set_bare()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>bare</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page
new file mode 100644
index 00000000..3d32ba0b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_inout_param.page
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_inout_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_inout_param</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.skip_inout_param</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, int, int, float, int, int, int, int)
+@returns(bool)
+def skip_inout_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
+ # Python wrapper for regress_test_obj_skip_inout_param()
+</code></synopsis>
+
+
+ <p>Check that the out value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.TestObj"/>.</p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page
new file mode 100644
index 00000000..58c5268b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_out_param.page
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_out_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_out_param</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.skip_out_param</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, int, int, float, int, int, int, int)
+@returns(bool)
+def skip_out_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
+ # Python wrapper for regress_test_obj_skip_out_param()
+</code></synopsis>
+
+
+ <p>Check that the out value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.TestObj"/>.</p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page
new file mode 100644
index 00000000..c02f3b95
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_param.page
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_param"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_param</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.skip_param</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, int, int, float, int, int, int, int)
+@returns(bool)
+def skip_param(self, a, out_b, c, inout_d, out_sum, num1, num2):
+ # Python wrapper for regress_test_obj_skip_param()
+</code></synopsis>
+
+
+ <p>Check that a parameter is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.TestObj"/>.</p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page
new file mode 100644
index 00000000..2aadb427
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val.page
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_return_val"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_return_val</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_b</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>c</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>inout_d</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>out_sum</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num1</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>num2</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.skip_return_val</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, int, int, float, int, int, int, int)
+@returns(bool)
+def skip_return_val(self, a, out_b, c, inout_d, out_sum, num1, num2):
+ # Python wrapper for regress_test_obj_skip_return_val()
+</code></synopsis>
+
+
+ <p>Check that the return value is skipped</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>out_b</code></title>
+<p>A return value.</p>
+</item>
+<item>
+<title><code>c</code></title>
+<p>Other parameter.</p>
+</item>
+<item>
+<title><code>inout_d</code></title>
+<p>Will be incremented.</p>
+</item>
+<item>
+<title><code>out_sum</code></title>
+<p>Return value.</p>
+</item>
+<item>
+<title><code>num1</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>num2</code></title>
+<p>Number.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page
new file mode 100644
index 00000000..f0c50f5f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.skip_return_val_no_out.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.skip_return_val_no_out"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_skip_return_val_no_out</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.skip_return_val_no_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, int)
+@returns(bool)
+def skip_return_val_no_out(self, a):
+ # Python wrapper for regress_test_obj_skip_return_val_no_out()
+</code></synopsis>
+
+
+ <p>Check that the return value is skipped. Succeed if a is nonzero, otherwise
+raise an error.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>a <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>a</code></title>
+<p>Parameter.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page
new file mode 100644
index 00000000..67510263
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>float</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_static_method</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.static_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(float)
+def static_method(x):
+ # Python wrapper for regress_test_obj_static_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page
new file mode 100644
index 00000000..4d97f31f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.static_method_callback.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.static_method_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_static_method_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.static_method_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallback)
+@returns(none)
+def static_method_callback(callback):
+ # Python wrapper for regress_test_obj_static_method_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page
new file mode 100644
index 00000000..4cc806d4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_0.page
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.torture_signature_0"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_torture_signature_0</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.torture_signature_0</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, int, float, int, unicode, int, int)
+@returns(none)
+def torture_signature_0(self, x, y, z, foo, q, m):
+ # Python wrapper for regress_test_obj_torture_signature_0()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page
new file mode 100644
index 00000000..7ccc1327
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.torture_signature_1.page
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj.torture_signature_1"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_obj_torture_signature_1</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestObj.torture_signature_1</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj, int, float, int, unicode, int, int)
+@returns(bool)
+def torture_signature_1(self, x, y, z, foo, q, m):
+ # Python wrapper for regress_test_obj_torture_signature_1()
+</code></synopsis>
+
+
+ <p>This function throws an error if m is odd.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page
new file mode 100644
index 00000000..858e58a8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.TestOtherError"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestOtherError</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestOtherError.CODE1</code></title>
+
+</item>
+<item>
+<title><code>TestOtherError.CODE2</code></title>
+
+</item>
+<item>
+<title><code>TestOtherError.CODE3</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page
new file mode 100644
index 00000000..341e774e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestOtherError.quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestOtherError.quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_unconventional_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.quark</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Quark)
+def quark():
+ # Python wrapper for regress_test_unconventional_error_quark()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page
new file mode 100644
index 00000000..66b477d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateEnum.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateEnum"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestPrivateEnum</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page
new file mode 100644
index 00000000..7b1309da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestPrivateStruct.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestPrivateStruct"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestPrivateStruct</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
new file mode 100644
index 00000000..2c8b1abb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestReferenceEnum"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="enum" type="guide"/>
+
+ </info>
+ <title>Regress.TestReferenceEnum</title>
+
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>TestReferenceEnum.0</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.1</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.2</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.3</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.4</code></title>
+
+</item>
+<item>
+<title><code>TestReferenceEnum.5</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page
new file mode 100644
index 00000000..499a0475
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.const_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.const_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_const_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA.const_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns(Regress.TestSimpleBoxedA)
+def const_return():
+ # Python wrapper for regress_test_simple_boxed_a_const_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page
new file mode 100644
index 00000000..5e3fc24d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.copy.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_copy</api:name>
+ <api:arg>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA.copy</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestSimpleBoxedA)
+@returns(Regress.TestSimpleBoxedA)
+def copy(self):
+ # Python wrapper for regress_test_simple_boxed_a_copy()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page
new file mode 100644
index 00000000..a9ae5b2f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.equals.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA.equals"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_a_equals</api:name>
+ <api:arg>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestSimpleBoxedA</api:type>
+ <api:name>other_a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA.equals</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestSimpleBoxedA, Regress.TestSimpleBoxedA)
+@returns(bool)
+def equals(self, other_a):
+ # Python wrapper for regress_test_simple_boxed_a_equals()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>other_a</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page
new file mode 100644
index 00000000..9117ddb9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedA.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedA"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleBoxedA</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page
new file mode 100644
index 00000000..999c8500
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.copy.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB.copy"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSimpleBoxedB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.TestSimpleBoxedB</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_boxed_b_copy</api:name>
+ <api:arg>
+ <api:type>Regress.TestSimpleBoxedB</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSimpleBoxedB.copy</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestSimpleBoxedB)
+@returns(Regress.TestSimpleBoxedB)
+def copy(self):
+ # Python wrapper for regress_test_simple_boxed_b_copy()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page
new file mode 100644
index 00000000..7ecc623e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleBoxedB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleBoxedB"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleBoxedB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page
new file mode 100644
index 00000000..f8157820
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSimpleCallback.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSimpleCallback"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestSimpleCallback</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page
new file mode 100644
index 00000000..cb2ea92f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.clone.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA.clone"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructA" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_a_clone</api:name>
+ <api:arg>
+ <api:type>Regress.TestStructA</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestStructA</api:type>
+ <api:name>a_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestStructA.clone</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestStructA, Regress.TestStructA)
+@returns(none)
+def clone(self, a_out):
+ # Python wrapper for regress_test_struct_a_clone()
+</code></synopsis>
+
+
+ <p>Make a copy of a RegressTestStructA</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>the structure</p>
+</item>
+<item>
+<title><code>a_out</code></title>
+<p>the cloned structure</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page
new file mode 100644
index 00000000..a6a98173
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructA</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page
new file mode 100644
index 00000000..bfd3189d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructA.parse.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructA.parse"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructA" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_a_parse</api:name>
+ <api:arg>
+ <api:type>Regress.TestStructA</api:type>
+ <api:name>a_out</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>string</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestStructA.parse</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestStructA, unicode)
+@returns(none)
+def parse(a_out, string):
+ # Python wrapper for regress_test_struct_a_parse()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>a_out</code></title>
+<p>the structure that is to be filled</p>
+</item>
+<item>
+<title><code>string</code></title>
+<p>ignored</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page
new file mode 100644
index 00000000..ea78efdb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.clone.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB.clone"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructB" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_b_clone</api:name>
+ <api:arg>
+ <api:type>Regress.TestStructB</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestStructB</api:type>
+ <api:name>b_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestStructB.clone</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestStructB, Regress.TestStructB)
+@returns(none)
+def clone(self, b_out):
+ # Python wrapper for regress_test_struct_b_clone()
+</code></synopsis>
+
+
+ <p>Make a copy of a RegressTestStructB</p>
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+<p>the structure</p>
+</item>
+<item>
+<title><code>b_out</code></title>
+<p>the cloned structure</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page
new file mode 100644
index 00000000..21d86261
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructB.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructB"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructB</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page
new file mode 100644
index 00000000..6bd58122
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructC.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructC"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructC</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page
new file mode 100644
index 00000000..aa9f131c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructD.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructD"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructD</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page
new file mode 100644
index 00000000..b931c367
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructE</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page
new file mode 100644
index 00000000..3b81e621
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructE__some_union__union.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructE__some_union__union"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructE__some_union__union</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page
new file mode 100644
index 00000000..cfb434b4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructF.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructF"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructF</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page
new file mode 100644
index 00000000..8f9e2888
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.frob.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray.frob"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestStructFixedArray" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_struct_fixed_array_frob</api:name>
+ <api:arg>
+ <api:type>Regress.TestStructFixedArray</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestStructFixedArray.frob</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestStructFixedArray)
+@returns(none)
+def frob(self):
+ # Python wrapper for regress_test_struct_fixed_array_frob()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page
new file mode 100644
index 00000000..db6e7893
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestStructFixedArray.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestStructFixedArray"
+ type="guide"
+ style="record"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="record" type="guide"/>
+
+ </info>
+ <title>Regress.TestStructFixedArray</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page
new file mode 100644
index 00000000..9806d282
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.instance_method.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.instance_method"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_instance_method</api:name>
+ <api:arg>
+ <api:type>Regress.TestSubObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSubObj.instance_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestSubObj)
+@returns(int)
+def instance_method(self):
+ # Python wrapper for regress_test_sub_obj_instance_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page
new file mode 100644
index 00000000..b1dc19b1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.page
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestSubObj</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_sub_obj = Regress.TestSubObj() </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestObj</code>
+ <item>
+ <code>Regress.TestSubObj</code>
+ </item>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page
new file mode 100644
index 00000000..2b548390
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestSubObj.unset_bare.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.TestSubObj.unset_bare"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestSubObj" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_sub_obj_unset_bare</api:name>
+ <api:arg>
+ <api:type>Regress.TestSubObj</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestSubObj.unset_bare</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestSubObj)
+@returns(none)
+def unset_bare(self):
+ # Python wrapper for regress_test_sub_obj_unset_bare()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page
new file mode 100644
index 00000000..e0a7bc09
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestTypeGUInt64.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.TestTypeGUInt64"
+ type="topic"
+ style="default"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="default" type="guide"/>
+
+ </info>
+ <title>Regress.TestTypeGUInt64</title>
+
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page
new file mode 100644
index 00000000..00c168bc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x-testbool.page
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x-testbool"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="property" type="guide"/>
+ <title type="link" role="topic">testbool</title>
+
+ </info>
+ <title>Regress.TestWi8021x:testbool</title>
+
+<synopsis><code mime="text/x-python">
+"testbool" bool : Read / Write
+</code></synopsis>
+
+
+
+
+
+
+
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page
new file mode 100644
index 00000000..cd83b9da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.get_testbool.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.get_testbool"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_get_testbool</api:name>
+ <api:arg>
+ <api:type>Regress.TestWi8021x</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestWi8021x.get_testbool</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestWi8021x)
+@returns(bool)
+def get_testbool(self):
+ # Python wrapper for regress_test_wi_802_1x_get_testbool()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page
new file mode 100644
index 00000000..aef03874
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.page
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x"
+ type="guide"
+ style="class"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="class" type="guide"/>
+
+ </info>
+ <title>Regress.TestWi8021x</title>
+
+ <synopsis><code>
+from gi.repository import Regress
+
+test_wi8021x = Regress.TestWi8021x(<link xref='Regress.TestWi8021x-testbool'>testbool</link>=value) </code></synopsis>
+
+
+
+
+
+
+
+ <synopsis>
+ <title>Hierarchy</title>
+ <tree>
+ <item>
+ <code>GObject.Object</code>
+ <item>
+ <code>Regress.TestWi8021x</code>
+ </item>
+ </item>
+ </tree>
+ </synopsis>
+
+
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="method" style="linklist">
+ <title>Methods</title>
+ </links>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/python"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="property" style="linklist">
+ <title>Properties</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="signal" style="linklist">
+ <title>Signals</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="vfunc" style="linklist">
+ <title>Virtual functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page
new file mode 100644
index 00000000..59dbbd94
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.set_testbool.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.set_testbool"
+ type="topic"
+ style="method"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="method" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_set_testbool</api:name>
+ <api:arg>
+ <api:type>Regress.TestWi8021x</api:type>
+ <api:name>self</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>bool</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestWi8021x.set_testbool</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestWi8021x, bool)
+@returns(none)
+def set_testbool(self, v):
+ # Python wrapper for regress_test_wi_802_1x_set_testbool()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>self</code></title>
+
+</item>
+<item>
+<title><code>v</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page
new file mode 100644
index 00000000..d2d83e36
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestWi8021x.static_method.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.TestWi8021x.static_method"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="Regress.TestWi8021x" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_wi_802_1x_static_method</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Regress.TestWi8021x.static_method</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def static_method(x):
+ # Python wrapper for regress_test_wi_802_1x_static_method()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page b/tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page
new file mode 100644
index 00000000..e210a976
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.aliased_caller_alloc.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.aliased_caller_alloc"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_aliased_caller_alloc</api:name>
+ <api:arg>
+ <api:type>Regress.AliasedTestBoxed</api:type>
+ <api:name>boxed</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.aliased_caller_alloc</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AliasedTestBoxed)
+@returns(none)
+def aliased_caller_alloc(boxed):
+ # Python wrapper for regress_aliased_caller_alloc()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>boxed</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page
new file mode 100644
index 00000000..edee18bf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_attribute_func.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_attribute_func"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_annotation_attribute_func</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationObject</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_attribute_func</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationObject, unicode)
+@returns(int)
+def annotation_attribute_func(object, data):
+ # Python wrapper for regress_annotation_attribute_func()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+<p>A <link xref="Regress.AnnotationObject"/>.</p>
+</item>
+<item>
+<title><code>data</code></title>
+<p>Some data.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page
new file mode 100644
index 00000000..860107f1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_custom_destroy.page
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_custom_destroy"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_custom_destroy</api:name>
+ <api:arg>
+ <api:type>Regress.AnnotationCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.AnnotationNotifyFunc</api:type>
+ <api:name>destroy</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_custom_destroy</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.AnnotationCallback, Regress.AnnotationNotifyFunc, gpointer)
+@returns(none)
+def annotation_custom_destroy(callback, destroy, data):
+ # Python wrapper for regress_annotation_custom_destroy()
+</code></synopsis>
+
+
+ <p>Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+<p>Destroy notification</p>
+</item>
+<item>
+<title><code>destroy</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page
new file mode 100644
index 00000000..51a2ce47
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_get_source_file.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_get_source_file"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>filename</api:type>
+ </api:returns>
+ <api:name>regress_annotation_get_source_file</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_get_source_file</title>
+
+<synopsis><code mime="text/x-python">
+@returns(filename)
+def annotation_get_source_file():
+ # Python wrapper for regress_annotation_get_source_file()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page
new file mode 100644
index 00000000..16c7ebd8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_init.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_init"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_init</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>argc</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>argv</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_init</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [unicode])
+@returns(none)
+def annotation_init(argc, argv):
+ # Python wrapper for regress_annotation_init()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>argc</code></title>
+<p>The number of args.</p>
+</item>
+<item>
+<title><code>argv</code></title>
+<p>The arguments.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page
new file mode 100644
index 00000000..58701043
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_invalid_regress_annotation.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_invalid_regress_annotation"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_invalid_regress_annotation</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_invalid_regress_annotation</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(none)
+def annotation_invalid_regress_annotation(foo):
+ # Python wrapper for regress_annotation_invalid_regress_annotation()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+<p>some text (e.g. example) or else</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page
new file mode 100644
index 00000000..62cfbf7b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_ptr_array.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_ptr_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_ptr_array</api:name>
+ <api:arg>
+ <api:type>[GObject.Value]</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_ptr_array</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([GObject.Value])
+@returns(none)
+def annotation_ptr_array(array):
+ # Python wrapper for regress_annotation_ptr_array()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+<p>the array</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page
new file mode 100644
index 00000000..fa1908d1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_array.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_return_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_return_array</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_return_array</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns([unicode])
+def annotation_return_array(length):
+ # Python wrapper for regress_annotation_return_array()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>length</code></title>
+<p>Number of return values</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page
new file mode 100644
index 00000000..4cbc4dbe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_return_filename.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_return_filename"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>filename</api:type>
+ </api:returns>
+ <api:name>regress_annotation_return_filename</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_return_filename</title>
+
+<synopsis><code mime="text/x-python">
+@returns(filename)
+def annotation_return_filename():
+ # Python wrapper for regress_annotation_return_filename()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page
new file mode 100644
index 00000000..6eb6e853
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_set_source_file.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_set_source_file"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_set_source_file</api:name>
+ <api:arg>
+ <api:type>filename</api:type>
+ <api:name>fname</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_set_source_file</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(filename)
+@returns(none)
+def annotation_set_source_file(fname):
+ # Python wrapper for regress_annotation_set_source_file()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>fname</code></title>
+<p>Source file</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page
new file mode 100644
index 00000000..00154848
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_space_after_comment_bug631690.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_space_after_comment_bug631690"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_space_after_comment_bug631690</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_space_after_comment_bug631690</title>
+
+<synopsis><code mime="text/x-python">
+@returns(none)
+def annotation_space_after_comment_bug631690():
+ # Python wrapper for regress_annotation_space_after_comment_bug631690()
+</code></synopsis>
+
+
+ <p>Explicitly test having a space after the ** here.</p>
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page
new file mode 100644
index 00000000..c7d24096
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_array_length.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_array_length"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_array_length</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_properties</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>properties</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_string_array_length</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [unicode])
+@returns(none)
+def annotation_string_array_length(n_properties, properties):
+ # Python wrapper for regress_annotation_string_array_length()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_properties</code></title>
+
+</item>
+<item>
+<title><code>properties</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page
new file mode 100644
index 00000000..765658c0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_zero_terminated"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_zero_terminated</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_string_zero_terminated</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def annotation_string_zero_terminated():
+ # Python wrapper for regress_annotation_string_zero_terminated()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page
new file mode 100644
index 00000000..1a9e2a42
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_string_zero_terminated_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_string_zero_terminated_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_string_zero_terminated_out</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_string_zero_terminated_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def annotation_string_zero_terminated_out(out):
+ # Python wrapper for regress_annotation_string_zero_terminated_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page
new file mode 100644
index 00000000..868c2d84
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_test_parsing_bug630862.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_test_parsing_bug630862"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_test_parsing_bug630862</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_test_parsing_bug630862</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GObject.Object)
+def annotation_test_parsing_bug630862():
+ # Python wrapper for regress_annotation_test_parsing_bug630862()
+</code></synopsis>
+
+
+ <p>See https://bugzilla.gnome.org/show_bug.cgi?id=630862</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page
new file mode 100644
index 00000000..223d1a2b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_transfer_floating.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_transfer_floating"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Object</api:type>
+ </api:returns>
+ <api:name>regress_annotation_transfer_floating</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_transfer_floating</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GObject.Object)
+def annotation_transfer_floating():
+ # Python wrapper for regress_annotation_transfer_floating()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page
new file mode 100644
index 00000000..51d53cd8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.annotation_versioned.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.annotation_versioned"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_annotation_versioned</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.annotation_versioned</title>
+
+<synopsis><code mime="text/x-python">
+@returns(none)
+def annotation_versioned():
+ # Python wrapper for regress_annotation_versioned()
+</code></synopsis>
+
+
+
+
+
+ <p>Since 0.6</p>
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page b/tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page
new file mode 100644
index 00000000..9adb4a8b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.atest_error_quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.atest_error_quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_atest_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.atest_error_quark</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Quark)
+def atest_error_quark():
+ # Python wrapper for regress_atest_error_quark()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page
new file mode 100644
index 00000000..b2c0a69a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_async_ready_callback.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_async_ready_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_async_ready_callback</api:name>
+ <api:arg>
+ <api:type>Gio.Cancellable</api:type>
+ <api:name>cancellable</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Gio.AsyncReadyCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_async_ready_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Gio.Cancellable, Gio.AsyncReadyCallback, gpointer)
+@returns(none)
+def foo_async_ready_callback(cancellable, callback, user_data):
+ # Python wrapper for regress_foo_async_ready_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>cancellable</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page
new file mode 100644
index 00000000..873beb20
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_destroy_notify_callback.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_destroy_notify_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_destroy_notify_callback</api:name>
+ <api:arg>
+ <api:type>Regress.FooCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GLib.DestroyNotify</api:type>
+ <api:name>destroy</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_destroy_notify_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooCallback, gpointer, GLib.DestroyNotify)
+@returns(none)
+def foo_destroy_notify_callback(callback, data, destroy):
+ # Python wrapper for regress_foo_destroy_notify_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>data</code></title>
+
+</item>
+<item>
+<title><code>destroy</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page
new file mode 100644
index 00000000..6b62ac46
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_init.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_init"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_foo_init</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.foo_init</title>
+
+<synopsis><code mime="text/x-python">
+@returns(int)
+def foo_init():
+ # Python wrapper for regress_foo_init()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page
new file mode 100644
index 00000000..4be81792
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_method_external_references.page
@@ -0,0 +1,71 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_method_external_references"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_method_external_references</api:name>
+ <api:arg>
+ <api:type>Utility.Object</api:type>
+ <api:name>object</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Utility.EnumType</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Utility.FlagType</api:type>
+ <api:name>f</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Utility.Struct</api:type>
+ <api:name>s</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_method_external_references</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Utility.Object, Utility.EnumType, Utility.FlagType, Utility.Struct)
+@returns(none)
+def foo_method_external_references(object, e, f, s):
+ # Python wrapper for regress_foo_method_external_references()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>object</code></title>
+
+</item>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>f</code></title>
+
+</item>
+<item>
+<title><code>s</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page
new file mode 100644
index 00000000..0f9ba11a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_not_a_constructor_new.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_not_a_constructor_new"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooObject</api:type>
+ </api:returns>
+ <api:name>regress_foo_not_a_constructor_new</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.foo_not_a_constructor_new</title>
+
+<synopsis><code mime="text/x-python">
+@returns(Regress.FooObject)
+def foo_not_a_constructor_new():
+ # Python wrapper for regress_foo_not_a_constructor_new()
+</code></synopsis>
+
+
+ <p>This should be scanned as a top-level function, and shouldn't cause
+a "Can't find matching type for constructor" warning.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page
new file mode 100644
index 00000000..d8cdbf50
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_array.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_array</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_array</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def foo_test_array():
+ # Python wrapper for regress_foo_test_array()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page
new file mode 100644
index 00000000..fa7bc2e8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_param.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_char_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_char_param</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_const_char_param</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(none)
+def foo_test_const_char_param(param):
+ # Python wrapper for regress_foo_test_const_char_param()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page
new file mode 100644
index 00000000..34ae3f9c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_char_retval.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_char_retval"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_char_retval</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_const_char_retval</title>
+
+<synopsis><code mime="text/x-python">
+@returns(unicode)
+def foo_test_const_char_retval():
+ # Python wrapper for regress_foo_test_const_char_retval()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page
new file mode 100644
index 00000000..f32ff39e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_param.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_struct_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_struct_param</api:name>
+ <api:arg>
+ <api:type>Regress.FooStruct</api:type>
+ <api:name>param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_const_struct_param</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.FooStruct)
+@returns(none)
+def foo_test_const_struct_param(param):
+ # Python wrapper for regress_foo_test_const_struct_param()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page
new file mode 100644
index 00000000..24337f06
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_const_struct_retval.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_const_struct_retval"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>Regress.FooStruct</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_const_struct_retval</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_const_struct_retval</title>
+
+<synopsis><code mime="text/x-python">
+@returns(Regress.FooStruct)
+def foo_test_const_struct_retval():
+ # Python wrapper for regress_foo_test_const_struct_retval()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page
new file mode 100644
index 00000000..8e242c5a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_string_array"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_string_array</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_string_array</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def foo_test_string_array(array):
+ # Python wrapper for regress_foo_test_string_array()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page
new file mode 100644
index 00000000..92752bf4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_string_array_with_g.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_string_array_with_g"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_string_array_with_g</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>array</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_string_array_with_g</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def foo_test_string_array_with_g(array):
+ # Python wrapper for regress_foo_test_string_array_with_g()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>array</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page
new file mode 100644
index 00000000..2006eaef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_qualifier.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_unsigned_qualifier"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_unsigned_qualifier</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>unsigned_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_unsigned_qualifier</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(none)
+def foo_test_unsigned_qualifier(unsigned_param):
+ # Python wrapper for regress_foo_test_unsigned_qualifier()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>unsigned_param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page
new file mode 100644
index 00000000..c32efe88
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.foo_test_unsigned_type.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.foo_test_unsigned_type"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_foo_test_unsigned_type</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>unsigned_param</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.foo_test_unsigned_type</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(none)
+def foo_test_unsigned_type(unsigned_param):
+ # Python wrapper for regress_foo_test_unsigned_type()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>unsigned_param</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page
new file mode 100644
index 00000000..1e737c0f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.func_obj_null_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.func_obj_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_func_obj_null_in</api:name>
+ <api:arg>
+ <api:type>Regress.TestObj</api:type>
+ <api:name>obj</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.func_obj_null_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestObj)
+@returns(none)
+def func_obj_null_in(obj):
+ # Python wrapper for regress_func_obj_null_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>obj</code></title>
+<p>A <link xref="Regress.TestObj"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page
new file mode 100644
index 00000000..825fe351
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.global_get_flags_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.global_get_flags_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_global_get_flags_out</api:name>
+ <api:arg>
+ <api:type>Regress.TestFlags</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.global_get_flags_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestFlags)
+@returns(none)
+def global_get_flags_out(v):
+ # Python wrapper for regress_global_get_flags_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>v</code></title>
+<p>A flags value</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page b/tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page
new file mode 100644
index 00000000..51ae15f7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.has_parameter_named_attrs.page
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<page id="Regress.has_parameter_named_attrs"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_has_parameter_named_attrs</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[guint32]</api:type>
+ <api:name>attributes</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.has_parameter_named_attrs</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [guint32])
+@returns(none)
+def has_parameter_named_attrs(foo, attributes):
+ # Python wrapper for regress_has_parameter_named_attrs()
+</code></synopsis>
+
+
+ <p>This test case mirrors GnomeKeyringPasswordSchema from
+libgnome-keyring.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>foo</code></title>
+<p>some int</p>
+</item>
+<item>
+<title><code>attributes</code></title>
+<p>list of attributes</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page b/tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page
new file mode 100644
index 00000000..9fc5a47c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.introspectable_via_alias.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.introspectable_via_alias"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_introspectable_via_alias</api:name>
+ <api:arg>
+ <api:type>Regress.PtrArrayAlias</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.introspectable_via_alias</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.PtrArrayAlias)
+@returns(none)
+def introspectable_via_alias(data):
+ # Python wrapper for regress_introspectable_via_alias()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page b/tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page
new file mode 100644
index 00000000..ad81bff0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.set_abort_on_error.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.set_abort_on_error"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_set_abort_on_error</api:name>
+ <api:arg>
+ <api:type>bool</api:type>
+ <api:name>abort_on_error</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.set_abort_on_error</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(bool)
+@returns(none)
+def set_abort_on_error(abort_on_error):
+ # Python wrapper for regress_set_abort_on_error()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>abort_on_error</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page
new file mode 100644
index 00000000..536a02cd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_callback.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackArray</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackArray)
+@returns(int)
+def test_array_callback(callback):
+ # Python wrapper for regress_test_array_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page
new file mode 100644
index 00000000..26ddf0ca
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_out_objects.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_out_objects"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_out_objects</api:name>
+ <api:arg>
+ <api:type>[Regress.TestObj]</api:type>
+ <api:name>objs</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_fixed_out_objects</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([Regress.TestObj])
+@returns(none)
+def test_array_fixed_out_objects(objs):
+ # Python wrapper for regress_test_array_fixed_out_objects()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>objs</code></title>
+<p>An array of <link xref="Regress.TestObj"/></p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page
new file mode 100644
index 00000000..eb816b81
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_in.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_in</api:name>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_fixed_size_int_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([int])
+@returns(int)
+def test_array_fixed_size_int_in(ints):
+ # Python wrapper for regress_test_array_fixed_size_int_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>a list of 5 integers</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page
new file mode 100644
index 00000000..39db1de3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_out</api:name>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_fixed_size_int_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([int])
+@returns(none)
+def test_array_fixed_size_int_out(ints):
+ # Python wrapper for regress_test_array_fixed_size_int_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>ints</code></title>
+<p>a list of 5 integers ranging from 0 to 4</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page
new file mode 100644
index 00000000..30cfee8d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_fixed_size_int_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_fixed_size_int_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[int]</api:type>
+ </api:returns>
+ <api:name>regress_test_array_fixed_size_int_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_fixed_size_int_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([int])
+def test_array_fixed_size_int_return():
+ # Python wrapper for regress_test_array_fixed_size_int_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page
new file mode 100644
index 00000000..62c1c4c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint16_in.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint16_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint16_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[gint16]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_gint16_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [gint16])
+@returns(int)
+def test_array_gint16_in(n_ints, ints):
+ # Python wrapper for regress_test_array_gint16_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page
new file mode 100644
index 00000000..948b271b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint32_in.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint32_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint32</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint32_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[gint32]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_gint32_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [gint32])
+@returns(gint32)
+def test_array_gint32_in(n_ints, ints):
+ # Python wrapper for regress_test_array_gint32_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page
new file mode 100644
index 00000000..6756e0d0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint64_in.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint64_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint64_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_gint64_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [int])
+@returns(int)
+def test_array_gint64_in(n_ints, ints):
+ # Python wrapper for regress_test_array_gint64_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page
new file mode 100644
index 00000000..a7d70018
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gint8_in.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gint8_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gint8_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[gint8]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_gint8_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [gint8])
+@returns(int)
+def test_array_gint8_in(n_ints, ints):
+ # Python wrapper for regress_test_array_gint8_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page
new file mode 100644
index 00000000..e56b5223
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_gtype_in.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_gtype_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_test_array_gtype_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_types</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[GType]</api:type>
+ <api:name>types</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_gtype_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [GType])
+@returns(unicode)
+def test_array_gtype_in(n_types, types):
+ # Python wrapper for regress_test_array_gtype_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_types</code></title>
+
+</item>
+<item>
+<title><code>types</code></title>
+<p>List of types</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page
new file mode 100644
index 00000000..42cbb0f8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_full_out.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_full_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[int]</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_full_out</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_int_full_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns([int])
+def test_array_int_full_out(len):
+ # Python wrapper for regress_test_array_int_full_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>len</code></title>
+<p>length of the returned array.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page
new file mode 100644
index 00000000..8e706e8f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_in.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_in</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_int_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [int])
+@returns(int)
+def test_array_int_in(n_ints, ints):
+ # Python wrapper for regress_test_array_int_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+
+</item>
+<item>
+<title><code>ints</code></title>
+<p>List of ints</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page
new file mode 100644
index 00000000..b3f4448b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_inout.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_inout"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_inout</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_int_inout</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [int])
+@returns(none)
+def test_array_int_inout(n_ints, ints):
+ # Python wrapper for regress_test_array_int_inout()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+<p>the length of <code>ints</code></p>
+</item>
+<item>
+<title><code>ints</code></title>
+<p>a list of integers whose items will be increased by 1, except the first that will be dropped</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page
new file mode 100644
index 00000000..21e5bac0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_none_out.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_none_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[int]</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_none_out</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_int_none_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns([int])
+def test_array_int_none_out(len):
+ # Python wrapper for regress_test_array_int_none_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>len</code></title>
+<p>length of the returned array.</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page
new file mode 100644
index 00000000..9b3fc8b0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_in.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_null_in</api:name>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_int_null_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([int], int)
+@returns(none)
+def test_array_int_null_in(arr, len):
+ # Python wrapper for regress_test_array_int_null_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+<p>length</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page
new file mode 100644
index 00000000..5b83b30a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_null_out.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_null_out</api:name>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>len</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_int_null_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([int], int)
+@returns(none)
+def test_array_int_null_out(arr, len):
+ # Python wrapper for regress_test_array_int_null_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>len</code></title>
+<p>length</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page
new file mode 100644
index 00000000..b8f44411
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_array_int_out.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_array_int_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_array_int_out</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>n_ints</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>[int]</api:type>
+ <api:name>ints</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_array_int_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, [int])
+@returns(none)
+def test_array_int_out(n_ints, ints):
+ # Python wrapper for regress_test_array_int_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>n_ints</code></title>
+<p>the length of <code>ints</code></p>
+</item>
+<item>
+<title><code>ints</code></title>
+<p>a list of 5 integers, from 0 to 4 in consecutive order</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page
new file mode 100644
index 00000000..1dcf46cd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_async_ready_callback.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_async_ready_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_async_ready_callback</api:name>
+ <api:arg>
+ <api:type>Gio.AsyncReadyCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_async_ready_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Gio.AsyncReadyCallback)
+@returns(none)
+def test_async_ready_callback(callback):
+ # Python wrapper for regress_test_async_ready_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page
new file mode 100644
index 00000000..22d2ebfa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean</api:name>
+ <api:arg>
+ <api:type>bool</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_boolean</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(bool)
+@returns(bool)
+def test_boolean(in):
+ # Python wrapper for regress_test_boolean()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page
new file mode 100644
index 00000000..877f5820
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_false.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean_false"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean_false</api:name>
+ <api:arg>
+ <api:type>bool</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_boolean_false</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(bool)
+@returns(bool)
+def test_boolean_false(in):
+ # Python wrapper for regress_test_boolean_false()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page
new file mode 100644
index 00000000..3a1fc20a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_boolean_true.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_boolean_true"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_boolean_true</api:name>
+ <api:arg>
+ <api:type>bool</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_boolean_true</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(bool)
+@returns(bool)
+def test_boolean_true(in):
+ # Python wrapper for regress_test_boolean_true()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page
new file mode 100644
index 00000000..4bf83f02
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_full_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_context_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo.Context</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_context_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_cairo_context_full_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns(cairo.Context)
+def test_cairo_context_full_return():
+ # Python wrapper for regress_test_cairo_context_full_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page
new file mode 100644
index 00000000..a30b8d27
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_context_none_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_context_none_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_context_none_in</api:name>
+ <api:arg>
+ <api:type>cairo.Context</api:type>
+ <api:name>context</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_cairo_context_none_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(cairo.Context)
+@returns(none)
+def test_cairo_context_none_in(context):
+ # Python wrapper for regress_test_cairo_context_none_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>context</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page
new file mode 100644
index 00000000..cfda6fdf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_full_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_full_out</api:name>
+ <api:arg>
+ <api:type>cairo.Surface</api:type>
+ <api:name>surface</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_cairo_surface_full_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(cairo.Surface)
+@returns(none)
+def test_cairo_surface_full_out(surface):
+ # Python wrapper for regress_test_cairo_surface_full_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>surface</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page
new file mode 100644
index 00000000..5de20a93
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_full_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo.Surface</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_cairo_surface_full_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns(cairo.Surface)
+def test_cairo_surface_full_return():
+ # Python wrapper for regress_test_cairo_surface_full_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page
new file mode 100644
index 00000000..af1b9489
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_none_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_none_in</api:name>
+ <api:arg>
+ <api:type>cairo.Surface</api:type>
+ <api:name>surface</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_cairo_surface_none_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(cairo.Surface)
+@returns(none)
+def test_cairo_surface_none_in(surface):
+ # Python wrapper for regress_test_cairo_surface_none_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>surface</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page
new file mode 100644
index 00000000..98fa6eba
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_cairo_surface_none_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_cairo_surface_none_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>cairo.Surface</api:type>
+ </api:returns>
+ <api:name>regress_test_cairo_surface_none_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_cairo_surface_none_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns(cairo.Surface)
+def test_cairo_surface_none_return():
+ # Python wrapper for regress_test_cairo_surface_none_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page
new file mode 100644
index 00000000..3481fc13
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallback)
+@returns(int)
+def test_callback(callback):
+ # Python wrapper for regress_test_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page
new file mode 100644
index 00000000..21dc7ee7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_async.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_async"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_async</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_callback_async</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackUserData, gpointer)
+@returns(none)
+def test_callback_async(callback, user_data):
+ # Python wrapper for regress_test_callback_async()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page
new file mode 100644
index 00000000..86df7941
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify.page
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_destroy_notify"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_destroy_notify</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GLib.DestroyNotify</api:type>
+ <api:name>notify</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_callback_destroy_notify</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackUserData, gpointer, GLib.DestroyNotify)
+@returns(int)
+def test_callback_destroy_notify(callback, user_data, notify):
+ # Python wrapper for regress_test_callback_destroy_notify()
+</code></synopsis>
+
+
+ <p>Notified - callback persists until a DestroyNotify delegate
+is invoked.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>notify</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page
new file mode 100644
index 00000000..05883e8c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_destroy_notify_no_user_data.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_destroy_notify_no_user_data"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_destroy_notify_no_user_data</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GLib.DestroyNotify</api:type>
+ <api:name>notify</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_callback_destroy_notify_no_user_data</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackUserData, GLib.DestroyNotify)
+@returns(int)
+def test_callback_destroy_notify_no_user_data(callback, notify):
+ # Python wrapper for regress_test_callback_destroy_notify_no_user_data()
+</code></synopsis>
+
+
+ <p>Adds a scope notified callback with no user data. This can invoke an error
+condition in bindings which needs to be tested.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>notify</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page
new file mode 100644
index 00000000..d362cb86
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_async.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_thaw_async"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_thaw_async</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_callback_thaw_async</title>
+
+<synopsis><code mime="text/x-python">
+@returns(int)
+def test_callback_thaw_async():
+ # Python wrapper for regress_test_callback_thaw_async()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page
new file mode 100644
index 00000000..485e69b8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_thaw_notifications.page
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_thaw_notifications"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_thaw_notifications</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_callback_thaw_notifications</title>
+
+<synopsis><code mime="text/x-python">
+@returns(int)
+def test_callback_thaw_notifications():
+ # Python wrapper for regress_test_callback_thaw_notifications()
+</code></synopsis>
+
+
+ <p>Invokes all callbacks installed by #test_callback_destroy_notify(),
+adding up their return values, and removes them, invoking the
+corresponding destroy notfications.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page
new file mode 100644
index 00000000..8ec83767
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_callback_user_data.page
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<page id="Regress.test_callback_user_data"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_callback_user_data</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_callback_user_data</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackUserData, gpointer)
+@returns(int)
+def test_callback_user_data(callback, user_data):
+ # Python wrapper for regress_test_callback_user_data()
+</code></synopsis>
+
+
+ <p>Call - callback parameter persists for the duration of the method
+call and can be released on return.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page
new file mode 100644
index 00000000..d11a8a08
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_closure</api:name>
+ <api:arg>
+ <api:type>GObject.Closure</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_closure</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(GObject.Closure)
+@returns(int)
+def test_closure(closure):
+ # Python wrapper for regress_test_closure()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page
new file mode 100644
index 00000000..f8d91f13
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_one_arg.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure_one_arg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_closure_one_arg</api:name>
+ <api:arg>
+ <api:type>GObject.Closure</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>arg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_closure_one_arg</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(GObject.Closure, int)
+@returns(int)
+def test_closure_one_arg(closure, arg):
+ # Python wrapper for regress_test_closure_one_arg()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+
+</item>
+<item>
+<title><code>arg</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page
new file mode 100644
index 00000000..7d6a1ac3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_closure_variant.page
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<page id="Regress.test_closure_variant"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_closure_variant</api:name>
+ <api:arg>
+ <api:type>GObject.Closure</api:type>
+ <api:name>closure</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GLib.Variant</api:type>
+ <api:name>arg</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_closure_variant</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(GObject.Closure, GLib.Variant)
+@returns(GLib.Variant)
+def test_closure_variant(closure, arg):
+ # Python wrapper for regress_test_closure_variant()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>closure</code></title>
+<p>GClosure which takes one GVariant and returns a GVariant</p>
+</item>
+<item>
+<title><code>arg</code></title>
+<p>a GVariant passed as argument to <code>closure</code></p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page
new file mode 100644
index 00000000..04289860
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_date_in_gvalue.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_date_in_gvalue"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Value</api:type>
+ </api:returns>
+ <api:name>regress_test_date_in_gvalue</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_date_in_gvalue</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GObject.Value)
+def test_date_in_gvalue():
+ # Python wrapper for regress_test_date_in_gvalue()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page
new file mode 100644
index 00000000..95f40e3c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_def_error_quark.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_def_error_quark"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Quark</api:type>
+ </api:returns>
+ <api:name>regress_test_def_error_quark</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_def_error_quark</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Quark)
+def test_def_error_quark():
+ # Python wrapper for regress_test_def_error_quark()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page
new file mode 100644
index 00000000..9a2b7866
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_double.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_double"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>float</api:type>
+ </api:returns>
+ <api:name>regress_test_double</api:name>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_double</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(float)
+@returns(float)
+def test_double(in):
+ # Python wrapper for regress_test_double()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page
new file mode 100644
index 00000000..d267b55a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_filename_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_filename_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[filename]</api:type>
+ </api:returns>
+ <api:name>regress_test_filename_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_filename_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([filename])
+def test_filename_return():
+ # Python wrapper for regress_test_filename_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page
new file mode 100644
index 00000000..9d362f8d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_float.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_float"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>float</api:type>
+ </api:returns>
+ <api:name>regress_test_float</api:name>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_float</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(float)
+@returns(float)
+def test_float(in):
+ # Python wrapper for regress_test_float()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page
new file mode 100644
index 00000000..43990b2c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_garray_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_garray_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_garray_container_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_garray_container_return():
+ # Python wrapper for regress_test_garray_container_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page
new file mode 100644
index 00000000..f0bfb6d3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_garray_full_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_garray_full_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_garray_full_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_garray_full_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_garray_full_return():
+ # Python wrapper for regress_test_garray_full_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page
new file mode 100644
index 00000000..5630526c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gerror_callback.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_gerror_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_gerror_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackGError)
+@returns(none)
+def test_gerror_callback(callback):
+ # Python wrapper for regress_test_gerror_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page
new file mode 100644
index 00000000..ec91c452
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: unicode}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_container_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: unicode})
+def test_ghash_container_return():
+ # Python wrapper for regress_test_ghash_container_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page
new file mode 100644
index 00000000..5356c011
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: unicode}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_everything_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: unicode})
+def test_ghash_everything_return():
+ # Python wrapper for regress_test_ghash_everything_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page
new file mode 100644
index 00000000..8273602b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_in.page
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_gvalue_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_gvalue_in</api:name>
+ <api:arg>
+ <api:type>{unicode: GObject.Value}</api:type>
+ <api:name>hash</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_gvalue_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts({unicode: GObject.Value})
+@returns(none)
+def test_ghash_gvalue_in(hash):
+ # Python wrapper for regress_test_ghash_gvalue_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>hash</code></title>
+<p>the hash table returned by
+<link xref="Regress.test_ghash_gvalue_return"/>.</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page
new file mode 100644
index 00000000..6d6a257f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_gvalue_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_gvalue_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: GObject.Value}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_gvalue_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_gvalue_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: GObject.Value})
+def test_ghash_gvalue_return():
+ # Python wrapper for regress_test_ghash_gvalue_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page
new file mode 100644
index 00000000..6bc643fb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nested_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: {unicode: unicode}}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nested_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_nested_everything_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: {unicode: unicode}})
+def test_ghash_nested_everything_return():
+ # Python wrapper for regress_test_ghash_nested_everything_return()
+</code></synopsis>
+
+
+ <p>Specify nested parameterized types directly with the (type ) annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page
new file mode 100644
index 00000000..1cb34424
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nested_everything_return2.page
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nested_everything_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: {unicode: unicode}}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nested_everything_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_nested_everything_return2</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: {unicode: unicode}})
+def test_ghash_nested_everything_return2():
+ # Python wrapper for regress_test_ghash_nested_everything_return2()
+</code></synopsis>
+
+
+ <p>Another way of specifying nested parameterized types: using the
+element-type annotation.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page
new file mode 100644
index 00000000..b1d295cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_in</api:name>
+ <api:arg>
+ <api:type>{unicode: unicode}</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_nothing_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts({unicode: unicode})
+@returns(none)
+def test_ghash_nothing_in(in):
+ # Python wrapper for regress_test_ghash_nothing_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page
new file mode 100644
index 00000000..df58bb6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_in2.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_in2</api:name>
+ <api:arg>
+ <api:type>{unicode: unicode}</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_nothing_in2</title>
+
+<synopsis><code mime="text/x-python">
+@accepts({unicode: unicode})
+@returns(none)
+def test_ghash_nothing_in2(in):
+ # Python wrapper for regress_test_ghash_nothing_in2()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page
new file mode 100644
index 00000000..072fed9b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: unicode}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_nothing_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: unicode})
+def test_ghash_nothing_return():
+ # Python wrapper for regress_test_ghash_nothing_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page
new file mode 100644
index 00000000..161d3f62
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_nothing_return2.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: unicode}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_nothing_return2</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: unicode})
+def test_ghash_nothing_return2():
+ # Python wrapper for regress_test_ghash_nothing_return2()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page
new file mode 100644
index 00000000..ee3ed32e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_in</api:name>
+ <api:arg>
+ <api:type>{unicode: unicode}</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_null_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts({unicode: unicode})
+@returns(none)
+def test_ghash_null_in(in):
+ # Python wrapper for regress_test_ghash_null_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page
new file mode 100644
index 00000000..683efc41
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_out</api:name>
+ <api:arg>
+ <api:type>{unicode: unicode}</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_null_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts({unicode: unicode})
+@returns(none)
+def test_ghash_null_out(out):
+ # Python wrapper for regress_test_ghash_null_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page
new file mode 100644
index 00000000..ea516226
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ghash_null_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ghash_null_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>{unicode: unicode}</api:type>
+ </api:returns>
+ <api:name>regress_test_ghash_null_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_ghash_null_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns({unicode: unicode})
+def test_ghash_null_return():
+ # Python wrapper for regress_test_ghash_null_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page
new file mode 100644
index 00000000..9d098baa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_container_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_glist_container_return():
+ # Python wrapper for regress_test_glist_container_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page
new file mode 100644
index 00000000..6b2d3704
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_everything_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_glist_everything_return():
+ # Python wrapper for regress_test_glist_everything_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page
new file mode 100644
index 00000000..4873a198
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_in</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_nothing_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_glist_nothing_in(in):
+ # Python wrapper for regress_test_glist_nothing_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page
new file mode 100644
index 00000000..e28d3a89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_in2.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_in2</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_nothing_in2</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_glist_nothing_in2(in):
+ # Python wrapper for regress_test_glist_nothing_in2()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page
new file mode 100644
index 00000000..b4b12c81
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_nothing_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_glist_nothing_return():
+ # Python wrapper for regress_test_glist_nothing_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page
new file mode 100644
index 00000000..aab83e50
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_nothing_return2.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_nothing_return2</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_glist_nothing_return2():
+ # Python wrapper for regress_test_glist_nothing_return2()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page
new file mode 100644
index 00000000..ac3f3d62
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_null_in</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_null_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_glist_null_in(in):
+ # Python wrapper for regress_test_glist_null_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page
new file mode 100644
index 00000000..335d1b21
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_glist_null_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_glist_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_glist_null_out</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>out_list</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_glist_null_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_glist_null_out(out_list):
+ # Python wrapper for regress_test_glist_null_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out_list</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page
new file mode 100644
index 00000000..702c635c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_container_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_container_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_container_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_container_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_gslist_container_return():
+ # Python wrapper for regress_test_gslist_container_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page
new file mode 100644
index 00000000..95fd40c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_everything_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_everything_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_everything_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_everything_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_gslist_everything_return():
+ # Python wrapper for regress_test_gslist_everything_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page
new file mode 100644
index 00000000..534ac13e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_in</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_nothing_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_gslist_nothing_in(in):
+ # Python wrapper for regress_test_gslist_nothing_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page
new file mode 100644
index 00000000..a7e0635b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_in2.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_in2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_in2</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_nothing_in2</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_gslist_nothing_in2(in):
+ # Python wrapper for regress_test_gslist_nothing_in2()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page
new file mode 100644
index 00000000..ff7d7e56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_nothing_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_gslist_nothing_return():
+ # Python wrapper for regress_test_gslist_nothing_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page
new file mode 100644
index 00000000..cf0f67ab
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_nothing_return2.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_nothing_return2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_nothing_return2</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_nothing_return2</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_gslist_nothing_return2():
+ # Python wrapper for regress_test_gslist_nothing_return2()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page
new file mode 100644
index 00000000..b0174663
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_null_in</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_null_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_gslist_null_in(in):
+ # Python wrapper for regress_test_gslist_null_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page
new file mode 100644
index 00000000..24ef27f1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gslist_null_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gslist_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_gslist_null_out</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>out_list</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_gslist_null_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_gslist_null_out(out_list):
+ # Python wrapper for regress_test_gslist_null_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out_list</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page
new file mode 100644
index 00000000..38ffb442
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gtype.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gtype"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GType</api:type>
+ </api:returns>
+ <api:name>regress_test_gtype</api:name>
+ <api:arg>
+ <api:type>GType</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_gtype</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(GType)
+@returns(GType)
+def test_gtype(in):
+ # Python wrapper for regress_test_gtype()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page
new file mode 100644
index 00000000..f4c4cd80
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_as.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_as"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_as</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gvariant_as</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Variant)
+def test_gvariant_as():
+ # Python wrapper for regress_test_gvariant_as()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page
new file mode 100644
index 00000000..8357191f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_asv.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_asv"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_asv</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gvariant_asv</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Variant)
+def test_gvariant_asv():
+ # Python wrapper for regress_test_gvariant_asv()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page
new file mode 100644
index 00000000..c0db4608
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_i.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_i"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_i</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gvariant_i</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Variant)
+def test_gvariant_i():
+ # Python wrapper for regress_test_gvariant_i()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page
new file mode 100644
index 00000000..454fc8a9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_s.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_s"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_s</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gvariant_s</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Variant)
+def test_gvariant_s():
+ # Python wrapper for regress_test_gvariant_s()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page
new file mode 100644
index 00000000..e8a6c00f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_gvariant_v.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_gvariant_v"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GLib.Variant</api:type>
+ </api:returns>
+ <api:name>regress_test_gvariant_v</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_gvariant_v</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GLib.Variant)
+def test_gvariant_v():
+ # Python wrapper for regress_test_gvariant_v()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page
new file mode 100644
index 00000000..2f8ebcb6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_hash_table_callback.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_hash_table_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_hash_table_callback</api:name>
+ <api:arg>
+ <api:type>{unicode: int}</api:type>
+ <api:name>data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestCallbackHashtable</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_hash_table_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts({unicode: int}, Regress.TestCallbackHashtable)
+@returns(none)
+def test_hash_table_callback(data, callback):
+ # Python wrapper for regress_test_hash_table_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>data</code></title>
+<p>GHashTable that gets passed to callback</p>
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page
new file mode 100644
index 00000000..d0398835
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_int</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_int</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def test_int(in):
+ # Python wrapper for regress_test_int()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page
new file mode 100644
index 00000000..7e995172
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int16.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int16"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint16</api:type>
+ </api:returns>
+ <api:name>regress_test_int16</api:name>
+ <api:arg>
+ <api:type>gint16</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_int16</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(gint16)
+@returns(gint16)
+def test_int16(in):
+ # Python wrapper for regress_test_int16()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page
new file mode 100644
index 00000000..03e5c07c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int32.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int32"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint32</api:type>
+ </api:returns>
+ <api:name>regress_test_int32</api:name>
+ <api:arg>
+ <api:type>gint32</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_int32</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(gint32)
+@returns(gint32)
+def test_int32(in):
+ # Python wrapper for regress_test_int32()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page
new file mode 100644
index 00000000..645792cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int64.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int64"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_int64</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_int64</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def test_int64(in):
+ # Python wrapper for regress_test_int64()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page
new file mode 100644
index 00000000..c733d1bd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int8.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gint8</api:type>
+ </api:returns>
+ <api:name>regress_test_int8</api:name>
+ <api:arg>
+ <api:type>gint8</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_int8</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(gint8)
+@returns(gint8)
+def test_int8(in):
+ # Python wrapper for regress_test_int8()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page
new file mode 100644
index 00000000..f43f0bce
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_out_utf8.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int_out_utf8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_int_out_utf8</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>length</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_int_out_utf8</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, unicode)
+@returns(none)
+def test_int_out_utf8(length, in):
+ # Python wrapper for regress_test_int_out_utf8()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>length</code></title>
+
+</item>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page
new file mode 100644
index 00000000..d7210b5e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_int_value_arg.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_int_value_arg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_int_value_arg</api:name>
+ <api:arg>
+ <api:type>GObject.Value</api:type>
+ <api:name>v</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_int_value_arg</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(GObject.Value)
+@returns(int)
+def test_int_value_arg(v):
+ # Python wrapper for regress_test_int_value_arg()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>v</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page
new file mode 100644
index 00000000..147cae22
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_long.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_long"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_long</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_long</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def test_long(in):
+ # Python wrapper for regress_test_long()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page
new file mode 100644
index 00000000..c195b821
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_callback.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multi_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_multi_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_multi_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallback)
+@returns(int)
+def test_multi_callback(callback):
+ # Python wrapper for regress_test_multi_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page
new file mode 100644
index 00000000..7946d576
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multi_double_args.page
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multi_double_args"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_multi_double_args</api:name>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>one</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>two</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_multi_double_args</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(float, float, float)
+@returns(none)
+def test_multi_double_args(in, one, two):
+ # Python wrapper for regress_test_multi_double_args()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>one</code></title>
+
+</item>
+<item>
+<title><code>two</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page
new file mode 100644
index 00000000..25161388
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_multiline_doc_comments.page
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<page id="Regress.test_multiline_doc_comments"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_multiline_doc_comments</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_multiline_doc_comments</title>
+
+<synopsis><code mime="text/x-python">
+@returns(none)
+def test_multiline_doc_comments():
+ # Python wrapper for regress_test_multiline_doc_comments()
+</code></synopsis>
+
+
+ <p>This is a function.</p><p>It has multiple lines in the documentation.</p><p>The sky is blue.</p><p>You will give me your credit card number.</p>
+
+
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page
new file mode 100644
index 00000000..98c1fd3b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_nested_parameter.page
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<page id="Regress.test_nested_parameter"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_nested_parameter</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>a</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_nested_parameter</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(none)
+def test_nested_parameter(a):
+ # Python wrapper for regress_test_nested_parameter()
+</code></synopsis>
+
+
+ <p>&lt;informaltable&gt;
+ &lt;tgroup cols="3"&gt;
+ &lt;thead&gt;
+ &lt;row&gt;
+ &lt;entry&gt;Syntax&lt;/entry&gt;
+ &lt;entry&gt;Explanation&lt;/entry&gt;
+ &lt;entry&gt;Examples&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;/thead&gt;
+ &lt;tbody&gt;
+ &lt;row&gt;
+ &lt;entry&gt;rgb(@r, @g, @b)&lt;/entry&gt;
+ &lt;entry&gt;An opaque color; @r, @g, @b can be either integers between
+ 0 and 255 or percentages&lt;/entry&gt;
+ &lt;entry&gt;&lt;literallayout&gt;rgb(128, 10, 54)
+rgb(20%, 30%, 0%)&lt;/literallayout&gt;&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;row&gt;
+ &lt;entry&gt;rgba(@r, @g, @b, <code>a</code>)&lt;/entry&gt;
+ &lt;entry&gt;A translucent color; @r, @g, @b are as in the previous row,
+ <code>a</code> is a floating point number between 0 and 1&lt;/entry&gt;
+ &lt;entry&gt;&lt;literallayout&gt;rgba(255, 255, 0, 0.5)&lt;/literallayout&gt;&lt;/entry&gt;
+ &lt;/row&gt;
+ &lt;/tbody&gt;
+ &lt;/tgroup&gt;
+&lt;/informaltable&gt;</p><p>What we're testing here is that the scanner ignores the <code>a</code> nested inside XML.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>a</code></title>
+<p>An integer</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page
new file mode 100644
index 00000000..cdb1b928
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_null_gerror_callback.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_null_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_null_gerror_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_null_gerror_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackGError)
+@returns(none)
+def test_null_gerror_callback(callback):
+ # Python wrapper for regress_test_null_gerror_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page
new file mode 100644
index 00000000..f33b39ed
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_owned_gerror_callback.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_owned_gerror_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_owned_gerror_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestCallbackOwnedGError</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_owned_gerror_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestCallbackOwnedGError)
+@returns(none)
+def test_owned_gerror_callback(callback):
+ # Python wrapper for regress_test_owned_gerror_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page
new file mode 100644
index 00000000..e2f45632
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_short.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_short"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gshort</api:type>
+ </api:returns>
+ <api:name>regress_test_short</api:name>
+ <api:arg>
+ <api:type>gshort</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_short</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(gshort)
+@returns(gshort)
+def test_short(in):
+ # Python wrapper for regress_test_short()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page
new file mode 100644
index 00000000..a9fa29c0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_simple_callback.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_simple_callback"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_simple_callback</api:name>
+ <api:arg>
+ <api:type>Regress.TestSimpleCallback</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_simple_callback</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestSimpleCallback)
+@returns(none)
+def test_simple_callback(callback):
+ # Python wrapper for regress_test_simple_callback()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>callback</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page
new file mode 100644
index 00000000..7935c215
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_size.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_size"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gsize</api:type>
+ </api:returns>
+ <api:name>regress_test_size</api:name>
+ <api:arg>
+ <api:type>gsize</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_size</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(gsize)
+@returns(gsize)
+def test_size(in):
+ # Python wrapper for regress_test_size()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page
new file mode 100644
index 00000000..47fe2cd3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ssize.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ssize"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gssize</api:type>
+ </api:returns>
+ <api:name>regress_test_ssize</api:name>
+ <api:arg>
+ <api:type>gssize</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ssize</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(gssize)
+@returns(gssize)
+def test_ssize(in):
+ # Python wrapper for regress_test_ssize()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page
new file mode 100644
index 00000000..1121a7da
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_in</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>arr</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_strv_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(bool)
+def test_strv_in(arr):
+ # Python wrapper for regress_test_strv_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>arr</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page
new file mode 100644
index 00000000..fcffe1bb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_in_gvalue.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_in_gvalue"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Value</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_in_gvalue</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_strv_in_gvalue</title>
+
+<synopsis><code mime="text/x-python">
+@returns(GObject.Value)
+def test_strv_in_gvalue():
+ # Python wrapper for regress_test_strv_in_gvalue()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page
new file mode 100644
index 00000000..eea084cb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_strv_out</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_strv_out():
+ # Python wrapper for regress_test_strv_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page
new file mode 100644
index 00000000..c800fa0a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_c.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out_c"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out_c</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_strv_out_c</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_strv_out_c():
+ # Python wrapper for regress_test_strv_out_c()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page
new file mode 100644
index 00000000..69f6c56f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_out_container.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_out_container"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>[unicode]</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_out_container</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_strv_out_container</title>
+
+<synopsis><code mime="text/x-python">
+@returns([unicode])
+def test_strv_out_container():
+ # Python wrapper for regress_test_strv_out_container()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page
new file mode 100644
index 00000000..3624f8a9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_strv_outarg.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_strv_outarg"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_strv_outarg</api:name>
+ <api:arg>
+ <api:type>[unicode]</api:type>
+ <api:name>retp</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_strv_outarg</title>
+
+<synopsis><code mime="text/x-python">
+@accepts([unicode])
+@returns(none)
+def test_strv_outarg(retp):
+ # Python wrapper for regress_test_strv_outarg()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>retp</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page
new file mode 100644
index 00000000..51698280
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_timet.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_timet"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_timet</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_timet</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def test_timet(in):
+ # Python wrapper for regress_test_timet()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page
new file mode 100644
index 00000000..7875a817
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_0.page
@@ -0,0 +1,87 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_0"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_0</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_torture_signature_0</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, float, int, unicode, int, int)
+@returns(none)
+def test_torture_signature_0(x, y, z, foo, q, m):
+ # Python wrapper for regress_test_torture_signature_0()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page
new file mode 100644
index 00000000..6a499a56
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_1.page
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_1"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>bool</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_1</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_torture_signature_1</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, float, int, unicode, int, int)
+@returns(bool)
+def test_torture_signature_1(x, y, z, foo, q, m):
+ # Python wrapper for regress_test_torture_signature_1()
+</code></synopsis>
+
+
+ <p>This function throws an error if m is odd.</p>
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page
new file mode 100644
index 00000000..01f77785
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_torture_signature_2.page
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<page id="Regress.test_torture_signature_2"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_torture_signature_2</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>x</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>Regress.TestCallbackUserData</api:type>
+ <api:name>callback</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>gpointer</api:type>
+ <api:name>user_data</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>GLib.DestroyNotify</api:type>
+ <api:name>notify</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>float</api:type>
+ <api:name>y</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>z</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>foo</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>q</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>m</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_torture_signature_2</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int, Regress.TestCallbackUserData, gpointer, GLib.DestroyNotify, float, int, unicode, int, int)
+@returns(none)
+def test_torture_signature_2(x, callback, user_data, notify, y, z, foo, q, m):
+ # Python wrapper for regress_test_torture_signature_2()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>x</code></title>
+
+</item>
+<item>
+<title><code>callback</code></title>
+
+</item>
+<item>
+<title><code>user_data</code></title>
+
+</item>
+<item>
+<title><code>notify</code></title>
+
+</item>
+<item>
+<title><code>y</code></title>
+
+</item>
+<item>
+<title><code>z</code></title>
+
+</item>
+<item>
+<title><code>foo</code></title>
+
+</item>
+<item>
+<title><code>q</code></title>
+
+</item>
+<item>
+<title><code>m</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page
new file mode 100644
index 00000000..f6943c0a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_uint</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_uint</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def test_uint(in):
+ # Python wrapper for regress_test_uint()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page
new file mode 100644
index 00000000..5ace288d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint16.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint16"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint16</api:type>
+ </api:returns>
+ <api:name>regress_test_uint16</api:name>
+ <api:arg>
+ <api:type>guint16</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_uint16</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(guint16)
+@returns(guint16)
+def test_uint16(in):
+ # Python wrapper for regress_test_uint16()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page
new file mode 100644
index 00000000..084d6192
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint32.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint32"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint32</api:type>
+ </api:returns>
+ <api:name>regress_test_uint32</api:name>
+ <api:arg>
+ <api:type>guint32</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_uint32</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(guint32)
+@returns(guint32)
+def test_uint32(in):
+ # Python wrapper for regress_test_uint32()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page
new file mode 100644
index 00000000..b2234a3a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint64.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint64"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_uint64</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_uint64</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def test_uint64(in):
+ # Python wrapper for regress_test_uint64()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page
new file mode 100644
index 00000000..94e367b6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_uint8.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_uint8"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>guint8</api:type>
+ </api:returns>
+ <api:name>regress_test_uint8</api:name>
+ <api:arg>
+ <api:type>guint8</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_uint8</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(guint8)
+@returns(guint8)
+def test_uint8(in):
+ # Python wrapper for regress_test_uint8()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page
new file mode 100644
index 00000000..dc98e475
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ulong.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ulong"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>int</api:type>
+ </api:returns>
+ <api:name>regress_test_ulong</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ulong</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(int)
+def test_ulong(in):
+ # Python wrapper for regress_test_ulong()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page
new file mode 100644
index 00000000..abc373ea
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unichar.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_unichar"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_test_unichar</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_unichar</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(unicode)
+def test_unichar(in):
+ # Python wrapper for regress_test_unichar()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page
new file mode 100644
index 00000000..eb7ff64b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_unsigned_enum_param.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_unsigned_enum_param"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_test_unsigned_enum_param</api:name>
+ <api:arg>
+ <api:type>Regress.TestEnumUnsigned</api:type>
+ <api:name>e</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_unsigned_enum_param</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(Regress.TestEnumUnsigned)
+@returns(unicode)
+def test_unsigned_enum_param(e):
+ # Python wrapper for regress_test_unsigned_enum_param()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>e</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page
new file mode 100644
index 00000000..4bebadc3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_ushort.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_ushort"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>gushort</api:type>
+ </api:returns>
+ <api:name>regress_test_ushort</api:name>
+ <api:arg>
+ <api:type>gushort</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_ushort</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(gushort)
+@returns(gushort)
+def test_ushort(in):
+ # Python wrapper for regress_test_ushort()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page
new file mode 100644
index 00000000..4d4ff1af
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_const_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_const_in</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_const_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(none)
+def test_utf8_const_in(in):
+ # Python wrapper for regress_test_utf8_const_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page
new file mode 100644
index 00000000..7149eac9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_const_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_const_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_const_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_const_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns(unicode)
+def test_utf8_const_return():
+ # Python wrapper for regress_test_utf8_const_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page
new file mode 100644
index 00000000..28ecfc27
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_inout.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_inout"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_inout</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>inout</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_inout</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(none)
+def test_utf8_inout(inout):
+ # Python wrapper for regress_test_utf8_inout()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>inout</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page
new file mode 100644
index 00000000..1d1be7dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_nonconst_return.page
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_nonconst_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_nonconst_return</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_nonconst_return</title>
+
+<synopsis><code mime="text/x-python">
+@returns(unicode)
+def test_utf8_nonconst_return():
+ # Python wrapper for regress_test_utf8_nonconst_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page
new file mode 100644
index 00000000..8074cafd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_in.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_null_in"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_null_in</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>in</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_null_in</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(none)
+def test_utf8_null_in(in):
+ # Python wrapper for regress_test_utf8_null_in()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>in</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page
new file mode 100644
index 00000000..da98d744
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_null_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_null_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_null_out</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>char_out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_null_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(none)
+def test_utf8_null_out(char_out):
+ # Python wrapper for regress_test_utf8_null_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>char_out</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page
new file mode 100644
index 00000000..3aa56f02
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out.page
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(none)
+def test_utf8_out(out):
+ # Python wrapper for regress_test_utf8_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page
new file mode 100644
index 00000000..0b775cc3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_nonconst_return.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out_nonconst_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>unicode</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out_nonconst_return</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>out</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_out_nonconst_return</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode)
+@returns(unicode)
+def test_utf8_out_nonconst_return(out):
+ # Python wrapper for regress_test_utf8_out_nonconst_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out</code></title>
+<p>a copy of "second"</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page
new file mode 100644
index 00000000..5a6bc2e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_utf8_out_out.page
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<page id="Regress.test_utf8_out_out"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_utf8_out_out</api:name>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>out0</api:name>
+ </api:arg>
+ <api:arg>
+ <api:type>unicode</api:type>
+ <api:name>out1</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_utf8_out_out</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(unicode, unicode)
+@returns(none)
+def test_utf8_out_out(out0, out1):
+ # Python wrapper for regress_test_utf8_out_out()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>out0</code></title>
+<p>a copy of "first"</p>
+</item>
+<item>
+<title><code>out1</code></title>
+<p>a copy of "second"</p>
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page
new file mode 100644
index 00000000..ef9f97e3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_value_return.page
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<page id="Regress.test_value_return"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>GObject.Value</api:type>
+ </api:returns>
+ <api:name>regress_test_value_return</api:name>
+ <api:arg>
+ <api:type>int</api:type>
+ <api:name>i</api:name>
+ </api:arg>
+ </api:function>
+
+ </info>
+ <title>Index.test_value_return</title>
+
+<synopsis><code mime="text/x-python">
+@accepts(int)
+@returns(GObject.Value)
+def test_value_return(i):
+ # Python wrapper for regress_test_value_return()
+</code></synopsis>
+
+
+
+
+
+
+
+<terms>
+<item>
+<title><code>i</code></title>
+<p>an int</p>
+</item>
+<item>
+<title><code>Returns</code></title>
+{formatter.format(node, node.retval.doc)}
+</item>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page b/tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page
new file mode 100644
index 00000000..847a5c33
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.test_versioning.page
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<page id="Regress.test_versioning"
+ type="topic"
+ style="function"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+ <link xref="index" group="function" type="guide"/>
+ <api:function>
+ <api:returns>
+ <api:type>none</api:type>
+ </api:returns>
+ <api:name>regress_test_versioning</api:name>
+ </api:function>
+
+ </info>
+ <title>Index.test_versioning</title>
+
+<synopsis><code mime="text/x-python">
+@returns(none)
+def test_versioning():
+ # Python wrapper for regress_test_versioning()
+</code></synopsis>
+
+
+
+
+
+ <p>Since 1.32.1</p>
+
+
+<terms>
+</terms>
+
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/index.page b/tests/scanner/Regress-1.0-Python-expected/index.page
new file mode 100644
index 00000000..a5426d89
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/index.page
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<page id="index"
+ type="guide"
+ style="namespace"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+
+
+ </info>
+ <title>Index</title>
+
+
+
+
+
+
+
+
+
+ <links type="topic" ui:expanded="true" groups="class" style="linklist">
+ <title>Classes</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+ <links type="topic" ui:expanded="true" groups="#first #default #last" style="linklist">
+ <title>Other</title>
+ </links>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index a3e77db1..a5651134 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -6,9 +6,8 @@ and/or use gtk-doc annotations. -->
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GObject" version="2.0"/>
<include name="Gio" version="2.0"/>
+ <include name="Utility" version="1.0"/>
<include name="cairo" version="1.0"/>
<c:include name="regress.h"/>
<namespace name="Regress"
@@ -17,36 +16,1951 @@ and/or use gtk-doc annotations. -->
c:identifier-prefixes="Regress"
c:symbol-prefixes="regress">
<alias name="AliasedTestBoxed" c:type="RegressAliasedTestBoxed">
- <doc xml:whitespace="preserve">Typedef TestBoxed to test caller-allocates correctness</doc>
+ <doc xml:space="preserve">Typedef TestBoxed to test caller-allocates correctness</doc>
<type name="TestBoxed" c:type="RegressTestBoxed"/>
</alias>
+ <alias name="FooObjectCookie" c:type="RegressFooObjectCookie">
+ <type name="gpointer" c:type="gpointer"/>
+ </alias>
+ <alias name="FooXEvent" c:type="RegressFooXEvent">
+ <type name="gpointer" c:type="gpointer"/>
+ </alias>
<alias name="IntSet" c:type="RegressIntSet" introspectable="0">
- <doc xml:whitespace="preserve">Compatibility typedef, like telepathy-glib's TpIntSet</doc>
+ <doc xml:space="preserve">Compatibility typedef, like telepathy-glib's TpIntSet</doc>
<type name="Intset" c:type="RegressIntset"/>
</alias>
<alias name="PtrArrayAlias" c:type="RegressPtrArrayAlias">
- <doc xml:whitespace="preserve">Typedef'd GPtrArray for some reason</doc>
+ <doc xml:space="preserve">Typedef'd GPtrArray for some reason</doc>
<type name="GLib.PtrArray" c:type="GPtrArray"/>
</alias>
<alias name="TestTypeGUInt64" c:type="RegressTestTypeGUInt64">
<type name="guint64" c:type="guint64"/>
</alias>
<alias name="VaListAlias" c:type="RegressVaListAlias" introspectable="0">
- <doc xml:whitespace="preserve">Typedef'd va_list for additional reasons</doc>
+ <doc xml:space="preserve">Typedef'd va_list for additional reasons</doc>
<type name="va_list" c:type="va_list"/>
</alias>
+ <constant name="ANNOTATION_CALCULATED_DEFINE"
+ value="100"
+ c:type="REGRESS_ANNOTATION_CALCULATED_DEFINE">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ANNOTATION_CALCULATED_LARGE"
+ value="10000000000UL"
+ c:type="REGRESS_ANNOTATION_CALCULATED_LARGE"
+ version="1.4">
+ <doc xml:space="preserve">Constant to define a calculated large value</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="ANNOTATION_CALCULATED_LARGE_DIV"
+ value="1000000UL"
+ c:type="REGRESS_ANNOTATION_CALCULATED_LARGE_DIV">
+ <doc xml:space="preserve">Constant to define a calculated large value</doc>
+ <type name="gint" c:type="gint"/>
+ </constant>
<enumeration name="ATestError"
c:type="RegressATestError"
glib:error-domain="regress-atest-error">
- <member name="code0" value="0" c:identifier="REGRESS_ATEST_ERROR_CODE0"/>
- <member name="code1" value="1" c:identifier="REGRESS_ATEST_ERROR_CODE1"/>
- <member name="code2" value="2" c:identifier="REGRESS_ATEST_ERROR_CODE2"/>
+ <member name="code0" value="0" c:identifier="REGRESS_ATEST_ERROR_CODE0">
+ </member>
+ <member name="code1" value="1" c:identifier="REGRESS_ATEST_ERROR_CODE1">
+ </member>
+ <member name="code2" value="2" c:identifier="REGRESS_ATEST_ERROR_CODE2">
+ </member>
</enumeration>
+ <record name="AnAnonymousUnion" c:type="RegressAnAnonymousUnion">
+ <field name="x" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <union>
+ <field name="a" writable="1">
+ <array zero-terminated="0"
+ c:type="RegressLikeGnomeKeyringPasswordSchema"
+ fixed-size="2">
+ <type name="LikeGnomeKeyringPasswordSchema"
+ c:type="RegressLikeGnomeKeyringPasswordSchema*"/>
+ </array>
+ </field>
+ <field name="padding" writable="1">
+ <array zero-terminated="0" c:type="guint" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ </union>
+ </record>
+ <bitfield name="AnnotationBitfield" c:type="RegressAnnotationBitfield">
+ <member name="foo" value="1" c:identifier="ANN_FLAG_FOO">
+ </member>
+ <member name="bar" value="2" c:identifier="ANN_FLAG_BAR">
+ </member>
+ </bitfield>
+ <callback name="AnnotationCallback" c:type="RegressAnnotationCallback">
+ <doc xml:space="preserve">This is a callback.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">array of ints</doc>
+ <type name="gint" c:type="const gint*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+ <doc xml:space="preserve">array of ints</doc>
+ <type name="gint" c:type="const gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="AnnotationFields" c:type="RegressAnnotationFields">
+ <doc xml:space="preserve">This is a struct for testing field documentation and annotations</doc>
+ <field name="field1" writable="1">
+ <doc xml:space="preserve">Some documentation</doc>
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="arr" writable="1">
+ <doc xml:space="preserve">an array of length @len</doc>
+ <array length="2" zero-terminated="0" c:type="guchar*">
+ <type name="guint8" c:type="guchar"/>
+ </array>
+ </field>
+ <field name="len" writable="1">
+ <doc xml:space="preserve">the length of array</doc>
+ <type name="gulong" c:type="gulong"/>
+ </field>
+ </record>
+ <callback name="AnnotationForeachFunc"
+ c:type="RegressAnnotationForeachFunc">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="AnnotationListCallback"
+ c:type="RegressAnnotationListCallback">
+ <doc xml:space="preserve">This is a callback taking a list.</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve">list of strings</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="in" transfer-ownership="none">
+ <doc xml:space="preserve">list of strings</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="AnnotationNotifyFunc" c:type="RegressAnnotationNotifyFunc">
+ <doc xml:space="preserve">This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none" closure="0">
+ <doc xml:space="preserve">The user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="AnnotationObject"
+ c:symbol-prefix="annotation_object"
+ c:type="RegressAnnotationObject"
+ parent="GObject.Object"
+ glib:type-name="RegressAnnotationObject"
+ glib:get-type="regress_annotation_object_get_type"
+ glib:type-struct="AnnotationObjectClass">
+ <attribute name="org.example.Test" value="cows"/>
+ <doc xml:space="preserve">This is an object used to test annotations.</doc>
+ <method name="allow_none"
+ c:identifier="regress_annotation_object_allow_none">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%NULL always</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="somearg" transfer-ownership="none" allow-none="1">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="calleeowns"
+ c:identifier="regress_annotation_object_calleeowns">
+ <doc xml:space="preserve">This is a test for out arguments; GObject defaults to transfer</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="toown"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="calleesowns"
+ c:identifier="regress_annotation_object_calleesowns">
+ <doc xml:space="preserve">This is a test for out arguments, one transferred, other not</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="toown1"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="toown2"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compute_sum"
+ c:identifier="regress_annotation_object_compute_sum">
+ <doc xml:space="preserve">Test taking a zero-terminated array</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="nums" transfer-ownership="none">
+ <doc xml:space="preserve">Sequence of numbers</doc>
+ <array zero-terminated="0" c:type="int*">
+ <type name="gint" c:type="int"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compute_sum_n"
+ c:identifier="regress_annotation_object_compute_sum_n">
+ <doc xml:space="preserve">Test taking an array with length parameter</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="nums" transfer-ownership="none">
+ <doc xml:space="preserve">Sequence of
+ numbers that are zero-terminated</doc>
+ <array length="1" zero-terminated="0" c:type="int*">
+ <type name="gint" c:type="int"/>
+ </array>
+ </parameter>
+ <parameter name="n_nums" transfer-ownership="none">
+ <doc xml:space="preserve">Length of number array</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="compute_sum_nz"
+ c:identifier="regress_annotation_object_compute_sum_nz">
+ <doc xml:space="preserve">Test taking a zero-terminated array with length parameter</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="nums" transfer-ownership="none">
+ <doc xml:space="preserve">Sequence of numbers that
+are zero-terminated</doc>
+ <array length="1" zero-terminated="1" c:type="int*">
+ <type name="gint" c:type="int"/>
+ </array>
+ </parameter>
+ <parameter name="n_nums" transfer-ownership="none">
+ <doc xml:space="preserve">Length of number array</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_object"
+ c:identifier="regress_annotation_object_create_object">
+ <doc xml:space="preserve">Test returning a caller-owned object</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">The object</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="do_not_use"
+ c:identifier="regress_annotation_object_do_not_use"
+ deprecated="1"
+ deprecated-version="0.12">
+ <doc-deprecated xml:space="preserve">Use regress_annotation_object_create_object() instead.</doc-deprecated>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%NULL always</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="extra_annos"
+ c:identifier="regress_annotation_object_extra_annos">
+ <attribute name="org.foobar" value="testvalue"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="regress_annotation_object_foreach">
+ <doc xml:space="preserve">Test taking a call-scoped callback</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve">Callback to invoke</doc>
+ <type name="AnnotationForeachFunc"
+ c:type="RegressAnnotationForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:space="preserve">Callback user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_hash"
+ c:identifier="regress_annotation_object_get_hash">
+ <doc xml:space="preserve">This is a test for returning a hash table mapping strings to
+objects.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">hash table</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="GObject.Object"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_objects"
+ c:identifier="regress_annotation_object_get_objects">
+ <doc xml:space="preserve">This is a test for returning a list of objects.
+The list itself should be freed, but not the internal objects,
+intentionally similar example to gtk_container_get_children</doc>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve">list of objects</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="AnnotationObject"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_strings"
+ c:identifier="regress_annotation_object_get_strings">
+ <doc xml:space="preserve">This is a test for returning a list of strings, where
+each string needs to be freed.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">list of strings</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="hidden_self"
+ c:identifier="regress_annotation_object_hidden_self">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="gpointer"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="in" c:identifier="regress_annotation_object_in">
+ <doc xml:space="preserve">This is a test for in arguments</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="inarg" transfer-ownership="none">
+ <doc xml:space="preserve">This is an argument test</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="inout" c:identifier="regress_annotation_object_inout">
+ <doc xml:space="preserve">This is a test for out arguments</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="inoutarg"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">This is an argument test</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="inout2" c:identifier="regress_annotation_object_inout2">
+ <doc xml:space="preserve">This is a second test for out arguments</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="inoutarg"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">This is an argument test</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="inout3" c:identifier="regress_annotation_object_inout3">
+ <doc xml:space="preserve">This is a 3th test for out arguments</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="inoutarg"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ allow-none="1">
+ <doc xml:space="preserve">This is an argument test</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="method" c:identifier="regress_annotation_object_method">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="notrans" c:identifier="regress_annotation_object_notrans">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">An object, not referenced</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="out" c:identifier="regress_annotation_object_out">
+ <doc xml:space="preserve">This is a test for out arguments</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">an int</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="outarg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">This is an argument test</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_args"
+ c:identifier="regress_annotation_object_parse_args">
+ <doc xml:space="preserve">Test taking a zero-terminated array with length parameter</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="argc"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">Length of the argument vector</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">Argument vector</doc>
+ <array length="0" zero-terminated="1" c:type="char***">
+ <type name="utf8" c:type="char**"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_data"
+ c:identifier="regress_annotation_object_set_data">
+ <doc xml:space="preserve">Test taking a guchar * with a length.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">The data</doc>
+ <array length="1" zero-terminated="0" c:type="guchar*">
+ <type name="guint8" c:type="guchar"/>
+ </array>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve">Length of the data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_data2"
+ c:identifier="regress_annotation_object_set_data2">
+ <doc xml:space="preserve">Test taking a gchar * with a length.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">The data</doc>
+ <array length="1" zero-terminated="0" c:type="gchar*">
+ <type name="gint8"/>
+ </array>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve">Length of the data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_data3"
+ c:identifier="regress_annotation_object_set_data3">
+ <doc xml:space="preserve">Test taking a gchar * with a length, overriding the array element
+type.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">The data</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve">Length of the data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="string_out"
+ c:identifier="regress_annotation_object_string_out">
+ <doc xml:space="preserve">Test returning a string as an out parameter</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">some boolean</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="str_out"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">string return value</doc>
+ <type name="utf8" c:type="char**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="use_buffer"
+ c:identifier="regress_annotation_object_use_buffer">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #GObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="bytes" transfer-ownership="none">
+ <type name="guint8" c:type="guchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="watch"
+ c:identifier="regress_annotation_object_watch"
+ shadowed-by="watch_full"
+ introspectable="0">
+ <doc xml:space="preserve">This is here just for the sake of being overriden by its
+regress_annotation_object_watch_full().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:space="preserve">The callback</doc>
+ <type name="AnnotationForeachFunc"
+ c:type="RegressAnnotationForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:space="preserve">The callback data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="watch_full"
+ c:identifier="regress_annotation_object_watch_full"
+ shadows="watch">
+ <doc xml:space="preserve">Test overriding via the "Rename To" annotation.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressAnnotationObject</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve">The callback</doc>
+ <type name="AnnotationForeachFunc"
+ c:type="RegressAnnotationForeachFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:space="preserve">The callback data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve">Destroy notification</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="with_voidp"
+ c:identifier="regress_annotation_object_with_voidp">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve">Opaque pointer handle</doc>
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="function-property"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="AnnotationCallback" c:type="gpointer"/>
+ </property>
+ <property name="string-property"
+ version="1.0"
+ deprecated="1"
+ deprecated-version="1.2"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">This is a property which is a string</doc>
+ <doc-deprecated xml:space="preserve">Use better-string-property instead</doc-deprecated>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="tab-property"
+ version="1.2"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve">This is a property annotation intentionally indented with a mix
+of tabs and strings to test the tab handling capabilities of the scanner.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent_instance">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <glib:signal name="attribute-signal" when="last">
+ <doc xml:space="preserve">This signal tests a signal with attributes.</doc>
+ <return-value transfer-ownership="full">
+ <attribute name="some.annotation.foo3" value="val3"/>
+ <doc xml:space="preserve">the return value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="arg1" transfer-ownership="none">
+ <attribute name="some.annotation.foo1" value="val1"/>
+ <doc xml:space="preserve">a value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="arg2" transfer-ownership="none">
+ <attribute name="some.annotation.foo2" value="val2"/>
+ <doc xml:space="preserve">another value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="doc-empty-arg-parsing" when="last">
+ <doc xml:space="preserve">This signal tests an empty document argument (@arg1)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="arg1" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="list-signal" when="last">
+ <doc xml:space="preserve">This is a signal which takes a list of strings, but it's not
+known by GObject as it's only marked as G_TYPE_POINTER</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="container">
+ <doc xml:space="preserve">a list of strings</doc>
+ <type name="GLib.List" c:type="gpointer">
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="string-signal"
+ when="last"
+ version="1.0"
+ deprecated="1"
+ deprecated-version="1.2">
+ <doc xml:space="preserve">This is a signal which has a broken signal handler,
+it says it's pointer but it's actually a string.</doc>
+ <doc-deprecated xml:space="preserve">Use other-signal instead</doc-deprecated>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve">a string</doc>
+ <type name="utf8" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="AnnotationObjectClass"
+ c:type="RegressAnnotationObjectClass"
+ glib:is-gtype-struct-for="AnnotationObject">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <record name="AnnotationStruct" c:type="RegressAnnotationStruct">
+ <doc xml:space="preserve">This is a test of an array of object in an field of a struct.</doc>
+ <field name="objects" writable="1">
+ <array zero-terminated="0"
+ c:type="RegressAnnotationObject"
+ fixed-size="10">
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </array>
+ </field>
+ </record>
+ <constant name="BOOL_CONSTANT" value="true" c:type="REGRESS_BOOL_CONSTANT">
+ <type name="gboolean" c:type="gboolean"/>
+ </constant>
<constant name="DOUBLE_CONSTANT"
value="44.220000"
c:type="REGRESS_DOUBLE_CONSTANT">
<type name="gdouble" c:type="gdouble"/>
</constant>
+ <constant name="FOO_DEFINE_SHOULD_BE_EXPOSED"
+ value="should be exposed"
+ c:type="REGRESS_FOO_DEFINE_SHOULD_BE_EXPOSED">
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="FOO_PIE_IS_TASTY"
+ value="3.141590"
+ c:type="REGRESS_FOO_PIE_IS_TASTY">
+ <type name="gdouble" c:type="gdouble"/>
+ </constant>
+ <constant name="FOO_SUCCESS_INT"
+ value="4408"
+ c:type="REGRESS_FOO_SUCCESS_INT">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <enumeration name="FooASingle" c:type="RegressFooASingle">
+ <member name="foo_some_single_enum"
+ value="0"
+ c:identifier="REGRESS_FOO_SOME_SINGLE_ENUM">
+ </member>
+ </enumeration>
+ <enumeration name="FooAddressType" c:type="RegressFooAddressType">
+ <member name="invalid"
+ value="0"
+ c:identifier="REGRESS_FOO_ADDRESS_INVALID">
+ </member>
+ <member name="ipv4" value="1" c:identifier="REGRESS_FOO_ADDRESS_IPV4">
+ </member>
+ <member name="ipv6" value="2" c:identifier="REGRESS_FOO_ADDRESS_IPV6">
+ </member>
+ </enumeration>
+ <record name="FooBRect"
+ c:type="RegressFooBRect"
+ glib:type-name="RegressFooBRect"
+ glib:get-type="regress_foo_brect_get_type"
+ c:symbol-prefix="foo_brect">
+ <field name="x" writable="1">
+ <type name="gdouble" c:type="double"/>
+ </field>
+ <field name="y" writable="1">
+ <type name="gdouble" c:type="double"/>
+ </field>
+ <constructor name="new" c:identifier="regress_foo_brect_new">
+ <return-value transfer-ownership="full">
+ <type name="FooBRect" c:type="RegressFooBRect*"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add" c:identifier="regress_foo_brect_add">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="b1" transfer-ownership="none">
+ <type name="FooBRect" c:type="RegressFooBRect*"/>
+ </instance-parameter>
+ <parameter name="b2" transfer-ownership="none">
+ <type name="FooBRect" c:type="RegressFooBRect*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <union name="FooBUnion"
+ c:type="RegressFooBUnion"
+ glib:type-name="RegressFooBUnion"
+ glib:get-type="regress_foo_bunion_get_type"
+ c:symbol-prefix="foo_bunion">
+ <field name="type" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="v" writable="1">
+ <type name="gdouble" c:type="double"/>
+ </field>
+ <field name="rect" writable="1">
+ <type name="FooBRect" c:type="RegressFooBRect*"/>
+ </field>
+ <constructor name="new" c:identifier="regress_foo_bunion_new">
+ <return-value transfer-ownership="full">
+ <type name="FooBUnion" c:type="RegressFooBUnion*"/>
+ </return-value>
+ </constructor>
+ <method name="get_contained_type"
+ c:identifier="regress_foo_bunion_get_contained_type">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bunion" transfer-ownership="none">
+ <type name="FooBUnion" c:type="RegressFooBUnion*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </union>
+ <record name="FooBoxed"
+ c:type="RegressFooBoxed"
+ glib:type-name="RegressFooBoxed"
+ glib:get-type="regress_foo_boxed_get_type"
+ c:symbol-prefix="foo_boxed">
+ <constructor name="new" c:identifier="regress_foo_boxed_new">
+ <return-value transfer-ownership="full">
+ <type name="FooBoxed" c:type="RegressFooBoxed*"/>
+ </return-value>
+ </constructor>
+ <method name="method" c:identifier="regress_foo_boxed_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="FooBoxed" c:type="RegressFooBoxed*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="FooBuffer"
+ c:symbol-prefix="foo_buffer"
+ c:type="RegressFooBuffer"
+ parent="FooObject"
+ glib:type-name="RegressFooBuffer"
+ glib:get-type="regress_foo_buffer_get_type"
+ glib:type-struct="FooBufferClass">
+ <implements name="FooInterface"/>
+ <method name="some_method" c:identifier="regress_foo_buffer_some_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <type name="FooBuffer" c:type="RegressFooBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="FooBufferClass"
+ c:type="RegressFooBufferClass"
+ disguised="1"
+ glib:is-gtype-struct-for="FooBuffer">
+ </record>
+ <callback name="FooCallback" c:type="RegressFooCallback">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="regress_foo" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </parameter>
+ <parameter name="b" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="FooDBusData"
+ c:type="RegressFooDBusData"
+ glib:type-name="RegressFooDBusData"
+ glib:get-type="regress_foo_dbus_data_get_type"
+ c:symbol-prefix="foo_dbus_data">
+ <method name="method" c:identifier="regress_foo_dbus_data_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dbusdata" transfer-ownership="none">
+ <type name="FooDBusData" c:type="RegressFooDBusData*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="FooEnumFullname" c:type="RegressFooEnumFullname">
+ <member name="one"
+ value="1"
+ c:identifier="REGRESS_FOO_ENUM_FULLNAME_ONE">
+ </member>
+ <member name="two"
+ value="2"
+ c:identifier="REGRESS_FOO_ENUM_FULLNAME_TWO">
+ </member>
+ <member name="three"
+ value="3"
+ c:identifier="REGRESS_FOO_ENUM_FULLNAME_THREE">
+ </member>
+ </enumeration>
+ <enumeration name="FooEnumNoType" c:type="RegressFooEnumNoType">
+ <member name="un" value="1" c:identifier="REGRESS_FOO_ENUM_UN">
+ </member>
+ <member name="deux" value="2" c:identifier="REGRESS_FOO_ENUM_DEUX">
+ </member>
+ <member name="trois" value="3" c:identifier="REGRESS_FOO_ENUM_TROIS">
+ </member>
+ <member name="neuf" value="9" c:identifier="REGRESS_FOO_ENUM_NEUF">
+ </member>
+ </enumeration>
+ <enumeration name="FooEnumType"
+ glib:type-name="RegressFooEnumType"
+ glib:get-type="regress_foo_enum_type_get_type"
+ c:type="RegressFooEnumType">
+ <member name="alpha"
+ value="0"
+ c:identifier="REGRESS_FOO_ENUM_ALPHA"
+ glib:nick="alpha">
+ </member>
+ <member name="beta"
+ value="1"
+ c:identifier="REGRESS_FOO_ENUM_BETA"
+ glib:nick="beta">
+ </member>
+ <member name="delta"
+ value="2"
+ c:identifier="REGRESS_FOO_ENUM_DELTA"
+ glib:nick="delta">
+ </member>
+ <function name="method" c:identifier="regress_foo_enum_type_method">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="regress_foo_enum" transfer-ownership="none">
+ <type name="FooEnumType" c:type="RegressFooEnumType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="returnv" c:identifier="regress_foo_enum_type_returnv">
+ <return-value transfer-ownership="none">
+ <type name="FooEnumType" c:type="RegressFooEnumType"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <enumeration name="FooError"
+ glib:type-name="RegressFooError"
+ glib:get-type="regress_foo_error_get_type"
+ c:type="RegressFooError"
+ glib:error-domain="regress_foo-error-quark">
+ <member name="good"
+ value="0"
+ c:identifier="REGRESS_FOO_ERROR_GOOD"
+ glib:nick="good">
+ </member>
+ <member name="bad"
+ value="1"
+ c:identifier="REGRESS_FOO_ERROR_BAD"
+ glib:nick="bad">
+ </member>
+ <member name="ugly"
+ value="2"
+ c:identifier="REGRESS_FOO_ERROR_UGLY"
+ glib:nick="ugly">
+ </member>
+ <function name="quark" c:identifier="regress_foo_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <union name="FooEvent" c:type="RegressFooEvent">
+ <field name="type" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="any" writable="1">
+ <type name="FooEventAny" c:type="RegressFooEventAny"/>
+ </field>
+ <field name="expose" writable="1">
+ <type name="FooEventExpose" c:type="RegressFooEventExpose"/>
+ </field>
+ </union>
+ <record name="FooEventAny" c:type="RegressFooEventAny">
+ <field name="send_event" writable="1">
+ <type name="gint8" c:type="gint8"/>
+ </field>
+ </record>
+ <record name="FooEventExpose" c:type="RegressFooEventExpose">
+ <field name="send_event" writable="1">
+ <type name="gint8" c:type="gint8"/>
+ </field>
+ <field name="count" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <bitfield name="FooFlagsNoType" c:type="RegressFooFlagsNoType">
+ <member name="ett" value="1" c:identifier="REGRESS_FOO_FLAGS_ETT">
+ </member>
+ <member name="tva" value="2" c:identifier="REGRESS_FOO_FLAGS_TVA">
+ </member>
+ <member name="fyra" value="4" c:identifier="REGRESS_FOO_FLAGS_FYRA">
+ </member>
+ </bitfield>
+ <bitfield name="FooFlagsType"
+ glib:type-name="RegressFooFlagsType"
+ glib:get-type="regress_foo_flags_type_get_type"
+ c:type="RegressFooFlagsType">
+ <member name="first"
+ value="1"
+ c:identifier="REGRESS_FOO_FLAGS_FIRST"
+ glib:nick="first">
+ </member>
+ <member name="second"
+ value="2"
+ c:identifier="REGRESS_FOO_FLAGS_SECOND"
+ glib:nick="second">
+ </member>
+ <member name="third"
+ value="4"
+ c:identifier="REGRESS_FOO_FLAGS_THIRD"
+ glib:nick="third">
+ </member>
+ </bitfield>
+ <record name="FooForeignStruct"
+ c:type="RegressFooForeignStruct"
+ foreign="1">
+ <field name="regress_foo" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <constructor name="new" c:identifier="regress_foo_foreign_struct_new">
+ <return-value transfer-ownership="full">
+ <type name="FooForeignStruct" c:type="RegressFooForeignStruct*"/>
+ </return-value>
+ </constructor>
+ <method name="copy" c:identifier="regress_foo_foreign_struct_copy">
+ <return-value transfer-ownership="full">
+ <type name="FooForeignStruct" c:type="RegressFooForeignStruct*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="original" transfer-ownership="none">
+ <type name="FooForeignStruct" c:type="RegressFooForeignStruct*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <interface name="FooInterface"
+ c:symbol-prefix="foo_interface"
+ c:type="RegressFooInterface"
+ glib:type-name="RegressFooInterface"
+ glib:get-type="regress_foo_interface_get_type"
+ glib:type-struct="FooInterfaceIface">
+ <function name="static_method"
+ c:identifier="regress_foo_interface_static_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="do_regress_foo" invoker="do_regress_foo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="FooInterface" c:type="RegressFooInterface*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="do_regress_foo"
+ c:identifier="regress_foo_interface_do_regress_foo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="iface" transfer-ownership="none">
+ <type name="FooInterface" c:type="RegressFooInterface*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="FooInterfaceIface"
+ c:type="RegressFooInterfaceIface"
+ glib:is-gtype-struct-for="FooInterface">
+ <field name="parent_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="do_regress_foo">
+ <callback name="do_regress_foo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="FooInterface" c:type="RegressFooInterface*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <class name="FooObject"
+ c:symbol-prefix="foo_object"
+ c:type="RegressFooObject"
+ parent="GObject.Object"
+ glib:type-name="RegressFooObject"
+ glib:get-type="regress_foo_object_get_type"
+ glib:type-struct="FooObjectClass">
+ <implements name="FooInterface"/>
+ <constructor name="new" c:identifier="regress_foo_object_new">
+ <return-value transfer-ownership="full">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_as_super"
+ c:identifier="regress_foo_object_new_as_super">
+ <return-value transfer-ownership="full">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ </constructor>
+ <function name="a_global_method"
+ c:identifier="regress_foo_object_a_global_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <type name="Utility.Object" c:type="UtilityObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_default"
+ c:identifier="regress_foo_object_get_default">
+ <doc xml:space="preserve">This function is intended to match clutter_stage_get_default which
+uses a C sugar return type.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">The global #RegressFooSubobject</doc>
+ <type name="FooSubobject" c:type="RegressFooObject*"/>
+ </return-value>
+ </function>
+ <function name="static_meth"
+ c:identifier="regress_foo_object_static_meth">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </return-value>
+ </function>
+ <virtual-method name="read_fn" invoker="read">
+ <doc xml:space="preserve">Read some stuff.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">obj</doc>
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve">offset</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve">length</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="virtual_method" invoker="virtual_method">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="first_param" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="append_new_stack_layer"
+ c:identifier="regress_foo_object_append_new_stack_layer">
+ <doc xml:space="preserve">This shouldn't be scanned as a constructor.</doc>
+ <return-value transfer-ownership="none">
+ <type name="FooOtherObject" c:type="RegressFooOtherObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dup_name" c:identifier="regress_foo_object_dup_name">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="char*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="external_type"
+ c:identifier="regress_foo_object_external_type">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">%NULL always</doc>
+ <type name="Utility.Object" c:type="UtilityObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressFooObject</doc>
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="regress_foo_object_get_name">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="handle_glyph"
+ c:identifier="regress_foo_object_handle_glyph">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="glyph" transfer-ownership="none">
+ <type name="Utility.Glyph" c:type="UtilityGlyph"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_it_time_yet"
+ c:identifier="regress_foo_object_is_it_time_yet">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <type name="glong" c:type="time_t"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="new_cookie"
+ c:identifier="regress_foo_object_new_cookie"
+ introspectable="0">
+ <doc xml:space="preserve">Not sure why this test is here...</doc>
+ <return-value>
+ <type name="FooObjectCookie" c:type="RegressFooObjectCookie"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="target" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read" c:identifier="regress_foo_object_read">
+ <doc xml:space="preserve">Read some stuff.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">obj</doc>
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve">offset</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve">length</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skipped_method"
+ c:identifier="regress_foo_object_skipped_method"
+ introspectable="0">
+ <doc xml:space="preserve">This is only useful from C.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">obj</doc>
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="take_all"
+ c:identifier="regress_foo_object_take_all"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="various" c:identifier="regress_foo_object_various">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ <parameter name="some_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="virtual_method"
+ c:identifier="regress_foo_object_virtual_method">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </instance-parameter>
+ <parameter name="first_param" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="hidden"
+ introspectable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type/>
+ </property>
+ <property name="string"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent_instance">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="some_int">
+ <type name="gint" c:type="int"/>
+ </field>
+ <glib:signal name="signal" when="last">
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="FooObjectClass"
+ c:type="RegressFooObjectClass"
+ glib:is-gtype-struct-for="FooObject">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="virtual_method">
+ <callback name="virtual_method">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </parameter>
+ <parameter name="first_param" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="read_fn">
+ <callback name="read_fn">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">obj</doc>
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve">offset</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve">length</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_reserved">
+ <array zero-terminated="0" c:type="GCallback" fixed-size="4">
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </array>
+ </field>
+ </record>
+ <class name="FooOtherObject"
+ c:symbol-prefix="foo_other_object"
+ c:type="RegressFooOtherObject"
+ parent="GObject.Object"
+ glib:type-name="RegressFooOtherObject"
+ glib:get-type="regress_foo_other_object_get_type"
+ glib:type-struct="FooOtherObjectClass">
+ </class>
+ <record name="FooOtherObjectClass"
+ c:type="RegressFooOtherObjectClass"
+ disguised="1"
+ glib:is-gtype-struct-for="FooOtherObject">
+ </record>
+ <record name="FooRectangle" c:type="RegressFooRectangle">
+ <field name="x" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="y" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="width" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="height" writable="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <method name="add" c:identifier="regress_foo_rectangle_add">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="r1"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">add to this rect</doc>
+ <type name="FooRectangle" c:type="RegressFooRectangle*"/>
+ </instance-parameter>
+ <parameter name="r2" transfer-ownership="none">
+ <doc xml:space="preserve">source rectangle</doc>
+ <type name="FooRectangle" c:type="const RegressFooRectangle*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="regress_foo_rectangle_new"
+ introspectable="0">
+ <doc xml:space="preserve">This is a C convenience constructor; we have to (skip)
+it because it's not a boxed type.</doc>
+ <return-value>
+ <type name="FooRectangle" c:type="RegressFooRectangle*"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="FooSkippable"
+ introspectable="0"
+ c:type="RegressFooSkippable">
+ <doc xml:space="preserve">Some type that is only interesting from C and should not be
+exposed to language bindings.</doc>
+ <member name="one" value="0" c:identifier="REGRESS_FOO_SKIPPABLE_ONE">
+ <doc xml:space="preserve">a skippable enum value</doc>
+ </member>
+ <member name="two" value="1" c:identifier="REGRESS_FOO_SKIPPABLE_TWO">
+ <doc xml:space="preserve">another skippable enum value</doc>
+ </member>
+ </enumeration>
+ <enumeration name="FooStackLayer" c:type="RegressFooStackLayer">
+ <member name="desktop"
+ value="0"
+ c:identifier="REGRESS_FOO_LAYER_DESKTOP">
+ </member>
+ <member name="bottom" value="1" c:identifier="REGRESS_FOO_LAYER_BOTTOM">
+ </member>
+ <member name="normal" value="2" c:identifier="REGRESS_FOO_LAYER_NORMAL">
+ </member>
+ <member name="top" value="4" c:identifier="REGRESS_FOO_LAYER_TOP">
+ </member>
+ <member name="dock" value="4" c:identifier="REGRESS_FOO_LAYER_DOCK">
+ </member>
+ <member name="fullscreen"
+ value="5"
+ c:identifier="REGRESS_FOO_LAYER_FULLSCREEN">
+ </member>
+ <member name="focused_window"
+ value="6"
+ c:identifier="REGRESS_FOO_LAYER_FOCUSED_WINDOW">
+ </member>
+ <member name="override_redirect"
+ value="7"
+ c:identifier="REGRESS_FOO_LAYER_OVERRIDE_REDIRECT">
+ </member>
+ <member name="last" value="8" c:identifier="REGRESS_FOO_LAYER_LAST">
+ </member>
+ </enumeration>
+ <record name="FooStruct" c:type="RegressFooStruct">
+ <field name="priv" writable="1">
+ <type name="FooStructPrivate" c:type="RegressFooStructPrivate*"/>
+ </field>
+ <field name="member" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="FooStructPrivate"
+ c:type="RegressFooStructPrivate"
+ disguised="1">
+ </record>
+ <interface name="FooSubInterface"
+ c:symbol-prefix="foo_sub_interface"
+ c:type="RegressFooSubInterface"
+ glib:type-name="RegressFooSubInterface"
+ glib:get-type="regress_foo_sub_interface_get_type"
+ glib:type-struct="FooSubInterfaceIface">
+ <prerequisite name="FooInterface"/>
+ <virtual-method name="destroy_event">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="do_bar" invoker="do_bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="do_baz" invoker="do_baz">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </instance-parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="do_bar" c:identifier="regress_foo_sub_interface_do_bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="do_baz" c:identifier="regress_foo_sub_interface_do_baz">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </instance-parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="destroy-event" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ </interface>
+ <record name="FooSubInterfaceIface"
+ c:type="RegressFooSubInterfaceIface"
+ glib:is-gtype-struct-for="FooSubInterface">
+ <field name="parent_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="destroy_event">
+ <callback name="destroy_event">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="do_bar">
+ <callback name="do_bar">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="do_baz">
+ <callback name="do_baz">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="FooSubInterface" c:type="RegressFooSubInterface*"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="call"
+ closure="2">
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none" closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <class name="FooSubobject"
+ c:symbol-prefix="foo_subobject"
+ c:type="RegressFooSubobject"
+ parent="FooObject"
+ abstract="1"
+ glib:type-name="RegressFooSubobject"
+ glib:get-type="regress_foo_subobject_get_type"
+ glib:type-struct="FooSubobjectClass">
+ <implements name="FooInterface"/>
+ <constructor name="new" c:identifier="regress_foo_subobject_new">
+ <return-value transfer-ownership="full">
+ <type name="FooSubobject" c:type="RegressFooSubobject*"/>
+ </return-value>
+ </constructor>
+ <field name="parent_instance">
+ <type name="FooObject" c:type="RegressFooObject"/>
+ </field>
+ </class>
+ <record name="FooSubobjectClass"
+ c:type="RegressFooSubobjectClass"
+ glib:is-gtype-struct-for="FooSubobject">
+ <field name="parent_class">
+ <type name="FooObjectClass" c:type="RegressFooObjectClass"/>
+ </field>
+ </record>
+ <record name="FooThingWithArray" c:type="RegressFooThingWithArray">
+ <field name="x" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="y" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="lines" writable="1">
+ <array zero-terminated="0" c:type="char" fixed-size="80">
+ <type name="gchar" c:type="char"/>
+ </array>
+ </field>
+ <field name="data" writable="1">
+ <type name="guint8" c:type="guchar*"/>
+ </field>
+ </record>
+ <union name="FooUnion" c:type="RegressFooUnion">
+ <field name="regress_foo" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </union>
+ <record name="FooUtilityStruct" c:type="RegressFooUtilityStruct">
+ <field name="bar" writable="1">
+ <type name="Utility.Struct" c:type="UtilityStruct"/>
+ </field>
+ </record>
+ <callback name="FooVarargsCallback"
+ c:type="RegressFooVarargsCallback"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <varargs/>
+ </parameter>
+ </parameters>
+ </callback>
+ <constant name="GI_SCANNER_ELSE"
+ value="3"
+ c:type="REGRESS_GI_SCANNER_ELSE">
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="GI_SCANNER_IFDEF"
+ value="3"
+ c:type="REGRESS_GI_SCANNER_IFDEF">
+ <type name="gint" c:type="gint"/>
+ </constant>
<constant name="GUINT64_CONSTANT"
value="18446744073709551615"
c:type="REGRESS_GUINT64_CONSTANT">
@@ -66,7 +1980,7 @@ and/or use gtk-doc annotations. -->
<type name="gint" c:type="gint"/>
</constant>
<record name="Intset" c:type="RegressIntset" disguised="1">
- <doc xml:whitespace="preserve">Like telepathy-glib's TpIntset.</doc>
+ <doc xml:space="preserve">Like telepathy-glib's TpIntset.</doc>
</record>
<constant name="LONG_STRING_CONSTANT"
value="TYPE,VALUE,ENCODING,CHARSET,LANGUAGE,DOM,INTL,POSTAL,PARCEL,HOME,WORK,PREF,VOICE,FAX,MSG,CELL,PAGER,BBS,MODEM,CAR,ISDN,VIDEO,AOL,APPLELINK,ATTMAIL,CIS,EWORLD,INTERNET,IBMMAIL,MCIMAIL,POWERSHARE,PRODIGY,TLX,X400,GIF,CGM,WMF,BMP,MET,PMB,DIB,PICT,TIFF,PDF,PS,JPEG,QTIME,MPEG,MPEG2,AVI,WAVE,AIFF,PCM,X509,PGP"
@@ -87,11 +2001,47 @@ and/or use gtk-doc annotations. -->
<type name="gdouble" c:type="double"/>
</field>
</record>
+ <record name="LikeXklConfigItem" c:type="RegressLikeXklConfigItem">
+ <field name="name" writable="1">
+ <array zero-terminated="0" c:type="gchar" fixed-size="32">
+ <type name="gchar" c:type="gchar"/>
+ </array>
+ </field>
+ <method name="set_name"
+ c:identifier="regress_like_xkl_config_item_set_name">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="LikeXklConfigItem" c:type="RegressLikeXklConfigItem*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <constant name="MAXUINT64"
+ value="18446744073709551615"
+ c:type="REGRESS_MAXUINT64">
+ <type name="guint64" c:type="guint64"/>
+ </constant>
+ <constant name="MININT64"
+ value="-9223372036854775808"
+ c:type="REGRESS_MININT64">
+ <type name="gint64" c:type="gint64"/>
+ </constant>
<constant name="Mixed_Case_Constant"
value="4423"
c:type="REGRESS_Mixed_Case_Constant">
<type name="gint" c:type="gint"/>
</constant>
+ <constant name="NEGATIVE_INT_CONSTANT"
+ value="-42"
+ c:type="REGRESS_NEGATIVE_INT_CONSTANT">
+ <type name="gint" c:type="gint"/>
+ </constant>
<constant name="STRING_CONSTANT"
value="Some String"
c:type="REGRESS_STRING_CONSTANT">
@@ -100,7 +2050,7 @@ and/or use gtk-doc annotations. -->
<record name="SkippedStructure"
c:type="RegressSkippedStructure"
introspectable="0">
- <doc xml:whitespace="preserve">This should be skipped, and moreover, all function which
+ <doc xml:space="preserve">This should be skipped, and moreover, all function which
use it should be.</doc>
<field name="x" writable="1">
<type name="gint" c:type="int"/>
@@ -117,15 +2067,18 @@ use it should be.</doc>
<member name="code1"
value="1"
c:identifier="REGRESS_TEST_ABC_ERROR_CODE1"
- glib:nick="code1"/>
+ glib:nick="code1">
+ </member>
<member name="code2"
value="2"
c:identifier="REGRESS_TEST_ABC_ERROR_CODE2"
- glib:nick="code2"/>
+ glib:nick="code2">
+ </member>
<member name="code3"
value="3"
c:identifier="REGRESS_TEST_ABC_ERROR_CODE3"
- glib:nick="code3"/>
+ glib:nick="code3">
+ </member>
<function name="quark" c:identifier="regress_test_abc_error_quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
@@ -191,12 +2144,20 @@ use it should be.</doc>
<return-value transfer-ownership="full">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxed" c:type="RegressTestBoxed*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="equals" c:identifier="regress_test_boxed_equals">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxed" c:type="RegressTestBoxed*"/>
+ </instance-parameter>
<parameter name="other" transfer-ownership="none">
<type name="TestBoxed" c:type="RegressTestBoxed*"/>
</parameter>
@@ -231,6 +2192,11 @@ use it should be.</doc>
<return-value transfer-ownership="full">
<type name="TestBoxedB" c:type="RegressTestBoxedB*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedB" c:type="RegressTestBoxedB*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<record name="TestBoxedC"
@@ -250,6 +2216,55 @@ use it should be.</doc>
</return-value>
</constructor>
</record>
+ <record name="TestBoxedD"
+ c:type="RegressTestBoxedD"
+ glib:type-name="RegressTestBoxedD"
+ glib:get-type="regress_test_boxed_d_get_type"
+ c:symbol-prefix="test_boxed_d">
+ <constructor name="new" c:identifier="regress_test_boxed_d_new">
+ <return-value transfer-ownership="full">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </return-value>
+ <parameters>
+ <parameter name="a_string" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="a_int" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="regress_test_boxed_d_copy">
+ <return-value transfer-ownership="full">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="regress_test_boxed_d_free">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_magic" c:identifier="regress_test_boxed_d_get_magic">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="boxed" transfer-ownership="none">
+ <type name="TestBoxedD" c:type="RegressTestBoxedD*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
<record name="TestBoxedPrivate"
c:type="RegressTestBoxedPrivate"
disguised="1">
@@ -288,15 +2303,15 @@ use it should be.</doc>
</return-value>
<parameters>
<parameter name="foo" transfer-ownership="none">
- <doc xml:whitespace="preserve">the investment rate</doc>
+ <doc xml:space="preserve">the investment rate</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="bar" transfer-ownership="none">
- <doc xml:whitespace="preserve">how much money</doc>
+ <doc xml:space="preserve">how much money</doc>
<type name="gdouble" c:type="double"/>
</parameter>
<parameter name="path" transfer-ownership="none">
- <doc xml:whitespace="preserve">Path to file</doc>
+ <doc xml:space="preserve">Path to file</doc>
<type name="filename" c:type="char*"/>
</parameter>
</parameters>
@@ -318,7 +2333,7 @@ use it should be.</doc>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
- <doc xml:whitespace="preserve">a hash table; will be modified</doc>
+ <doc xml:space="preserve">a hash table; will be modified</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="gint"/>
@@ -333,7 +2348,7 @@ use it should be.</doc>
</return-value>
<parameters>
<parameter name="error" transfer-ownership="full">
- <doc xml:whitespace="preserve">GError instance; must be freed by the callback</doc>
+ <doc xml:space="preserve">GError instance; must be freed by the callback</doc>
<type name="GLib.Error" c:type="GError*"/>
</parameter>
</parameters>
@@ -353,34 +2368,44 @@ use it should be.</doc>
glib:error-domain="regress-test-def-error">
<member name="code0"
value="0"
- c:identifier="REGRESS_TEST_DEF_ERROR_CODE0"/>
+ c:identifier="REGRESS_TEST_DEF_ERROR_CODE0">
+ </member>
<member name="code1"
value="1"
- c:identifier="REGRESS_TEST_DEF_ERROR_CODE1"/>
+ c:identifier="REGRESS_TEST_DEF_ERROR_CODE1">
+ </member>
<member name="code2"
value="2"
- c:identifier="REGRESS_TEST_DEF_ERROR_CODE2"/>
+ c:identifier="REGRESS_TEST_DEF_ERROR_CODE2">
+ </member>
</enumeration>
<enumeration name="TestEnum"
glib:type-name="RegressTestEnum"
glib:get-type="regress_test_enum_get_type"
c:type="RegressTestEnum">
+ <doc xml:space="preserve">By purpose, not all members have documentation</doc>
<member name="value1"
value="0"
c:identifier="REGRESS_TEST_VALUE1"
- glib:nick="value1"/>
+ glib:nick="value1">
+ <doc xml:space="preserve">value 1</doc>
+ </member>
<member name="value2"
value="1"
c:identifier="REGRESS_TEST_VALUE2"
- glib:nick="value2"/>
+ glib:nick="value2">
+ <doc xml:space="preserve">value 2</doc>
+ </member>
<member name="value3"
value="-1"
c:identifier="REGRESS_TEST_VALUE3"
- glib:nick="value3"/>
+ glib:nick="value3">
+ </member>
<member name="value4"
value="48"
c:identifier="REGRESS_TEST_VALUE4"
- glib:nick="value4"/>
+ glib:nick="value4">
+ </member>
<function name="param" c:identifier="regress_test_enum_param">
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
@@ -393,9 +2418,12 @@ use it should be.</doc>
</function>
</enumeration>
<enumeration name="TestEnumNoGEnum" c:type="RegressTestEnumNoGEnum">
- <member name="evalue1" value="0" c:identifier="REGRESS_TEST_EVALUE1"/>
- <member name="evalue2" value="42" c:identifier="REGRESS_TEST_EVALUE2"/>
- <member name="evalue3" value="48" c:identifier="REGRESS_TEST_EVALUE3"/>
+ <member name="evalue1" value="0" c:identifier="REGRESS_TEST_EVALUE1">
+ </member>
+ <member name="evalue2" value="42" c:identifier="REGRESS_TEST_EVALUE2">
+ </member>
+ <member name="evalue3" value="48" c:identifier="REGRESS_TEST_EVALUE3">
+ </member>
</enumeration>
<enumeration name="TestEnumUnsigned"
glib:type-name="RegressTestEnumUnsigned"
@@ -404,11 +2432,13 @@ use it should be.</doc>
<member name="value1"
value="1"
c:identifier="REGRESS_TEST_UNSIGNED_VALUE1"
- glib:nick="value1"/>
+ glib:nick="value1">
+ </member>
<member name="value2"
value="2147483648"
c:identifier="REGRESS_TEST_UNSIGNED_VALUE2"
- glib:nick="value2"/>
+ glib:nick="value2">
+ </member>
</enumeration>
<enumeration name="TestError"
glib:type-name="RegressTestError"
@@ -418,15 +2448,18 @@ use it should be.</doc>
<member name="code1"
value="1"
c:identifier="REGRESS_TEST_ERROR_CODE1"
- glib:nick="code1"/>
+ glib:nick="code1">
+ </member>
<member name="code2"
value="2"
c:identifier="REGRESS_TEST_ERROR_CODE2"
- glib:nick="code2"/>
+ glib:nick="code2">
+ </member>
<member name="code3"
value="3"
c:identifier="REGRESS_TEST_ERROR_CODE3"
- glib:nick="code3"/>
+ glib:nick="code3">
+ </member>
<function name="quark" c:identifier="regress_test_error_quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
@@ -440,15 +2473,18 @@ use it should be.</doc>
<member name="flag1"
value="1"
c:identifier="TEST_FLAG1"
- glib:nick="flag1"/>
+ glib:nick="flag1">
+ </member>
<member name="flag2"
value="2"
c:identifier="TEST_FLAG2"
- glib:nick="flag2"/>
+ glib:nick="flag2">
+ </member>
<member name="flag3"
value="4"
c:identifier="TEST_FLAG3"
- glib:nick="flag3"/>
+ glib:nick="flag3">
+ </member>
</bitfield>
<class name="TestFloating"
c:symbol-prefix="test_floating"
@@ -459,7 +2495,7 @@ use it should be.</doc>
glib:type-struct="TestFloatingClass">
<constructor name="new" c:identifier="regress_test_floating_new">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">A new floating #RegressTestFloating</doc>
+ <doc xml:space="preserve">A new floating #RegressTestFloating</doc>
<type name="TestFloating" c:type="RegressTestFloating*"/>
</return-value>
</constructor>
@@ -489,16 +2525,30 @@ use it should be.</doc>
glib:get-value-func="regress_test_value_get_fundamental_object">
<method name="ref" c:identifier="regress_test_fundamental_object_ref">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">A new #RegressTestFundamentalObject</doc>
+ <doc xml:space="preserve">A new #RegressTestFundamentalObject</doc>
<type name="TestFundamentalObject"
c:type="RegressTestFundamentalObject*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="fundamental_object"
+ transfer-ownership="none">
+ <type name="TestFundamentalObject"
+ c:type="RegressTestFundamentalObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="unref"
c:identifier="regress_test_fundamental_object_unref">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="fundamental_object"
+ transfer-ownership="none">
+ <type name="TestFundamentalObject"
+ c:type="RegressTestFundamentalObject*"/>
+ </instance-parameter>
+ </parameters>
</method>
<field name="instance">
<type name="GObject.TypeInstance" c:type="GTypeInstance"/>
@@ -586,6 +2636,111 @@ use it should be.</doc>
c:type="RegressTestFundamentalObjectClass"/>
</field>
</record>
+ <class name="TestInheritDrawable"
+ c:symbol-prefix="test_inherit_drawable"
+ c:type="RegressTestInheritDrawable"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="RegressTestInheritDrawable"
+ glib:get-type="regress_test_inherit_drawable_get_type"
+ glib:type-struct="TestInheritDrawableClass">
+ <method name="do_foo"
+ c:identifier="regress_test_inherit_drawable_do_foo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="TestInheritDrawable"
+ c:type="RegressTestInheritDrawable*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="do_foo_maybe_throw"
+ c:identifier="regress_test_inherit_drawable_do_foo_maybe_throw"
+ throws="1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="TestInheritDrawable"
+ c:type="RegressTestInheritDrawable*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_origin"
+ c:identifier="regress_test_inherit_drawable_get_origin">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="TestInheritDrawable"
+ c:type="RegressTestInheritDrawable*"/>
+ </instance-parameter>
+ <parameter name="x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_size"
+ c:identifier="regress_test_inherit_drawable_get_size">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="TestInheritDrawable"
+ c:type="RegressTestInheritDrawable*"/>
+ </instance-parameter>
+ <parameter name="width"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="height"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent_instance">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ </class>
+ <record name="TestInheritDrawableClass"
+ c:type="RegressTestInheritDrawableClass"
+ glib:is-gtype-struct-for="TestInheritDrawable">
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <record name="TestInheritPixmapObjectClass"
+ c:type="RegressTestInheritPixmapObjectClass">
+ <field name="parent_class" writable="1">
+ <type name="TestInheritDrawableClass"
+ c:type="RegressTestInheritDrawableClass"/>
+ </field>
+ </record>
<interface name="TestInterface"
c:symbol-prefix="test_interface"
c:type="RegressTestInterface"
@@ -618,7 +2773,7 @@ use it should be.</doc>
</return-value>
<parameters>
<parameter name="obj" transfer-ownership="none">
- <doc xml:whitespace="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
@@ -667,7 +2822,7 @@ use it should be.</doc>
caller-allocates="0"
transfer-ownership="full"
allow-none="1">
- <doc xml:whitespace="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj**"/>
</parameter>
</parameters>
@@ -702,36 +2857,47 @@ use it should be.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="two" transfer-ownership="none" allow-none="1">
- <doc xml:whitespace="preserve">Another object</doc>
+ <doc xml:space="preserve">Another object</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="matrix" invoker="do_matrix">
- <doc xml:whitespace="preserve">This method is virtual. Notably its name differs from the virtual
+ <doc xml:space="preserve">This method is virtual. Notably its name differs from the virtual
slot name, which makes it useful for testing bindings handle this
case.</doc>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="somestr" transfer-ownership="none">
- <doc xml:whitespace="preserve">Meaningless string</doc>
+ <doc xml:space="preserve">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</parameters>
</virtual-method>
<method name="do_matrix" c:identifier="regress_test_obj_do_matrix">
- <doc xml:whitespace="preserve">This method is virtual. Notably its name differs from the virtual
+ <doc xml:space="preserve">This method is virtual. Notably its name differs from the virtual
slot name, which makes it useful for testing bindings handle this
case.</doc>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="somestr" transfer-ownership="none">
- <doc xml:whitespace="preserve">Meaningless string</doc>
+ <doc xml:space="preserve">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</parameters>
@@ -741,35 +2907,66 @@ case.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="emit_sig_with_int64"
c:identifier="regress_test_obj_emit_sig_with_int64">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="emit_sig_with_obj"
c:identifier="regress_test_obj_emit_sig_with_obj">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="emit_sig_with_uint64"
c:identifier="regress_test_obj_emit_sig_with_uint64">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="forced_method" c:identifier="regress_forced_method">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="instance_method"
c:identifier="regress_test_obj_instance_method">
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="instance_method_callback"
c:identifier="regress_test_obj_instance_method_callback">
@@ -777,6 +2974,9 @@ case.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="callback"
transfer-ownership="none"
allow-none="1"
@@ -790,6 +2990,9 @@ case.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="bare" transfer-ownership="none" allow-none="1">
<type name="GObject.Object" c:type="GObject*"/>
</parameter>
@@ -798,25 +3001,29 @@ case.</doc>
<method name="skip_inout_param"
c:identifier="regress_test_obj_skip_inout_param"
throws="1">
- <doc xml:whitespace="preserve">Check that the out value is skipped</doc>
+ <doc xml:space="preserve">Check that the out value is skipped</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj.</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:whitespace="preserve">Parameter.</doc>
+ <doc xml:space="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Return value.</doc>
+ <doc xml:space="preserve">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none">
- <doc xml:whitespace="preserve">Other parameter.</doc>
+ <doc xml:space="preserve">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
@@ -824,22 +3031,22 @@ case.</doc>
caller-allocates="0"
transfer-ownership="full"
skip="1">
- <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Return value.</doc>
+ <doc xml:space="preserve">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
@@ -847,14 +3054,18 @@ case.</doc>
<method name="skip_out_param"
c:identifier="regress_test_obj_skip_out_param"
throws="1">
- <doc xml:whitespace="preserve">Check that the out value is skipped</doc>
+ <doc xml:space="preserve">Check that the out value is skipped</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj.</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:whitespace="preserve">Parameter.</doc>
+ <doc xml:space="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
@@ -862,33 +3073,33 @@ case.</doc>
caller-allocates="0"
transfer-ownership="full"
skip="1">
- <doc xml:whitespace="preserve">Return value.</doc>
+ <doc xml:space="preserve">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none">
- <doc xml:whitespace="preserve">Other parameter.</doc>
+ <doc xml:space="preserve">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Return value.</doc>
+ <doc xml:space="preserve">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
@@ -896,47 +3107,51 @@ case.</doc>
<method name="skip_param"
c:identifier="regress_test_obj_skip_param"
throws="1">
- <doc xml:whitespace="preserve">Check that a parameter is skipped</doc>
+ <doc xml:space="preserve">Check that a parameter is skipped</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj.</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:whitespace="preserve">Parameter.</doc>
+ <doc xml:space="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Return value.</doc>
+ <doc xml:space="preserve">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none" skip="1">
- <doc xml:whitespace="preserve">Other parameter.</doc>
+ <doc xml:space="preserve">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Return value.</doc>
+ <doc xml:space="preserve">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
@@ -944,47 +3159,51 @@ case.</doc>
<method name="skip_return_val"
c:identifier="regress_test_obj_skip_return_val"
throws="1">
- <doc xml:whitespace="preserve">Check that the return value is skipped</doc>
+ <doc xml:space="preserve">Check that the return value is skipped</doc>
<return-value transfer-ownership="none" skip="1">
- <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:whitespace="preserve">Parameter.</doc>
+ <doc xml:space="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="out_b"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">A return value.</doc>
+ <doc xml:space="preserve">A return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="c" transfer-ownership="none">
- <doc xml:whitespace="preserve">Other parameter.</doc>
+ <doc xml:space="preserve">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="inout_d"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <doc xml:space="preserve">Will be incremented.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="out_sum"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">Return value.</doc>
+ <doc xml:space="preserve">Return value.</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="num1" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="num2" transfer-ownership="none">
- <doc xml:whitespace="preserve">Number.</doc>
+ <doc xml:space="preserve">Number.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
@@ -992,15 +3211,19 @@ case.</doc>
<method name="skip_return_val_no_out"
c:identifier="regress_test_obj_skip_return_val_no_out"
throws="1">
- <doc xml:whitespace="preserve">Check that the return value is skipped. Succeed if a is nonzero, otherwise
+ <doc xml:space="preserve">Check that the return value is skipped. Succeed if a is nonzero, otherwise
raise an error.</doc>
<return-value transfer-ownership="none" skip="1">
- <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <doc xml:space="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="a" transfer-ownership="none">
- <doc xml:whitespace="preserve">Parameter.</doc>
+ <doc xml:space="preserve">Parameter.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
@@ -1011,6 +3234,10 @@ raise an error.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -1043,11 +3270,15 @@ raise an error.</doc>
<method name="torture_signature_1"
c:identifier="regress_test_obj_torture_signature_1"
throws="1">
- <doc xml:whitespace="preserve">This function throws an error if m is odd.</doc>
+ <doc xml:space="preserve">This function throws an error if m is odd.</doc>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
+ <type name="TestObj" c:type="RegressTestObj*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -1084,13 +3315,13 @@ raise an error.</doc>
<type name="TestBoxed"/>
</property>
<property name="double" writable="1" transfer-ownership="none">
- <type name="gdouble"/>
+ <type name="gdouble" c:type="gdouble"/>
</property>
<property name="float" writable="1" transfer-ownership="none">
- <type name="gfloat"/>
+ <type name="gfloat" c:type="gfloat"/>
</property>
<property name="gtype" writable="1" transfer-ownership="none">
- <type name="GType"/>
+ <type name="GType" c:type="GType"/>
</property>
<property name="hash-table" writable="1" transfer-ownership="container">
<type name="GLib.HashTable">
@@ -1107,20 +3338,20 @@ raise an error.</doc>
</type>
</property>
<property name="int" writable="1" transfer-ownership="none">
- <type name="gint"/>
+ <type name="gint" c:type="gint"/>
</property>
<property name="list" writable="1" transfer-ownership="none">
- <type name="GLib.List">
+ <type name="GLib.List" c:type="gpointer">
<type name="utf8"/>
</type>
</property>
<property name="list-old" writable="1" transfer-ownership="none">
- <type name="GLib.List">
+ <type name="GLib.List" c:type="gpointer">
<type name="utf8"/>
</type>
</property>
<property name="string" writable="1" transfer-ownership="none">
- <type name="utf8"/>
+ <type name="utf8" c:type="gchar*"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
@@ -1164,28 +3395,46 @@ raise an error.</doc>
action="1"
no-hooks="1">
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="cleanup" when="cleanup">
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="first" when="first">
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
</glib:signal>
+ <glib:signal name="sig-with-array-len-prop" when="last">
+ <doc xml:space="preserve">This test signal similar to GSettings::change-event</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="arr" transfer-ownership="none" allow-none="1">
+ <doc xml:space="preserve">numbers, or %NULL</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve">length of @arr, or 0</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
<glib:signal name="sig-with-array-prop" when="last">
- <doc xml:whitespace="preserve">This test signal is like TelepathyGlib's
+ <doc xml:space="preserve">This test signal is like TelepathyGlib's
TpChannel:: group-members-changed-detailed:</doc>
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="arr" transfer-ownership="none">
- <doc xml:whitespace="preserve">numbers</doc>
+ <doc xml:space="preserve">numbers</doc>
<array name="GLib.Array">
<type name="guint"/>
</array>
@@ -1194,20 +3443,20 @@ raise an error.</doc>
</glib:signal>
<glib:signal name="sig-with-foreign-struct" when="last">
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="cr" transfer-ownership="none">
- <doc xml:whitespace="preserve">A cairo context.</doc>
+ <doc xml:space="preserve">A cairo context.</doc>
<type name="cairo.Context"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="sig-with-hash-prop" when="last">
- <doc xml:whitespace="preserve">This test signal is like TelepathyGlib's
+ <doc xml:space="preserve">This test signal is like TelepathyGlib's
TpAccount::status-changed</doc>
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="hash" transfer-ownership="none">
@@ -1219,39 +3468,52 @@ raise an error.</doc>
</parameters>
</glib:signal>
<glib:signal name="sig-with-int64-prop" when="last">
- <doc xml:whitespace="preserve">You can use this with regress_test_obj_emit_sig_with_int64, or raise from
+ <doc xml:space="preserve">You can use this with regress_test_obj_emit_sig_with_int64, or raise from
the introspection client langage.</doc>
<return-value transfer-ownership="none">
- <type name="gint64"/>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="i" transfer-ownership="none">
+ <doc xml:space="preserve">an integer</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="sig-with-intarray-ret" when="last">
+ <return-value transfer-ownership="full">
+ <array name="GLib.Array">
+ <type name="gint"/>
+ </array>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <doc xml:whitespace="preserve">an integer</doc>
- <type name="gint64"/>
+ <doc xml:space="preserve">an integer</doc>
+ <type name="gint" c:type="gint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="sig-with-obj" when="last">
- <doc xml:whitespace="preserve">Test transfer none GObject as a param (tests refcounting).
+ <doc xml:space="preserve">Test transfer none GObject as a param (tests refcounting).
Use with regress_test_obj_emit_sig_with_obj</doc>
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="obj" transfer-ownership="none">
- <doc xml:whitespace="preserve">A newly created RegressTestObj</doc>
+ <doc xml:space="preserve">A newly created RegressTestObj</doc>
<type name="GObject.Object"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="sig-with-strv" when="last">
- <doc xml:whitespace="preserve">Test GStrv as a param.</doc>
+ <doc xml:space="preserve">Test GStrv as a param.</doc>
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="strs" transfer-ownership="none">
- <doc xml:whitespace="preserve">strings</doc>
+ <doc xml:space="preserve">strings</doc>
<array>
<type name="utf8"/>
</array>
@@ -1259,21 +3521,21 @@ Use with regress_test_obj_emit_sig_with_obj</doc>
</parameters>
</glib:signal>
<glib:signal name="sig-with-uint64-prop" when="last">
- <doc xml:whitespace="preserve">You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
+ <doc xml:space="preserve">You can use this with regress_test_obj_emit_sig_with_uint64, or raise from
the introspection client langage.</doc>
<return-value transfer-ownership="none">
- <type name="guint64"/>
+ <type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <doc xml:whitespace="preserve">an integer</doc>
- <type name="guint64"/>
+ <doc xml:space="preserve">an integer</doc>
+ <type name="guint64" c:type="guint64"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="test" when="last" no-recurse="1" no-hooks="1">
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="test-with-static-scope-arg"
@@ -1281,7 +3543,7 @@ the introspection client langage.</doc>
no-recurse="1"
no-hooks="1">
<return-value transfer-ownership="none">
- <type name="none"/>
+ <type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
@@ -1303,10 +3565,11 @@ the introspection client langage.</doc>
</return-value>
<parameters>
<parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
<parameter name="somestr" transfer-ownership="none">
- <doc xml:whitespace="preserve">Meaningless string</doc>
+ <doc xml:space="preserve">Meaningless string</doc>
<type name="utf8" c:type="const char*"/>
</parameter>
</parameters>
@@ -1322,7 +3585,7 @@ the introspection client langage.</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
<parameter name="two" transfer-ownership="none" allow-none="1">
- <doc xml:whitespace="preserve">Another object</doc>
+ <doc xml:space="preserve">Another object</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
@@ -1357,15 +3620,18 @@ the introspection client langage.</doc>
<member name="code1"
value="1"
c:identifier="REGRESS_TEST_OTHER_ERROR_CODE1"
- glib:nick="code1"/>
+ glib:nick="code1">
+ </member>
<member name="code2"
value="2"
c:identifier="REGRESS_TEST_OTHER_ERROR_CODE2"
- glib:nick="code2"/>
+ glib:nick="code2">
+ </member>
<member name="code3"
value="3"
c:identifier="REGRESS_TEST_OTHER_ERROR_CODE3"
- glib:nick="code3"/>
+ glib:nick="code3">
+ </member>
<function name="quark"
c:identifier="regress_test_unconventional_error_quark">
<return-value transfer-ownership="none">
@@ -1376,10 +3642,12 @@ the introspection client langage.</doc>
<bitfield name="TestPrivateEnum" c:type="RegressTestPrivateEnum">
<member name="public_enum_before"
value="1"
- c:identifier="REGRESS_TEST_PUBLIC_ENUM_BEFORE"/>
+ c:identifier="REGRESS_TEST_PUBLIC_ENUM_BEFORE">
+ </member>
<member name="public_enum_after"
value="4"
- c:identifier="REGRESS_TEST_PUBLIC_ENUM_AFTER"/>
+ c:identifier="REGRESS_TEST_PUBLIC_ENUM_AFTER">
+ </member>
</bitfield>
<record name="TestPrivateStruct" c:type="RegressTestPrivateStruct">
<field name="this_is_public_before" writable="1">
@@ -1392,6 +3660,20 @@ the introspection client langage.</doc>
<type name="gint" c:type="gint"/>
</field>
</record>
+ <enumeration name="TestReferenceEnum" c:type="RegressTestReferenceEnum">
+ <member name="0" value="4" c:identifier="REGRESS_TEST_REFERENCE_0">
+ </member>
+ <member name="1" value="2" c:identifier="REGRESS_TEST_REFERENCE_1">
+ </member>
+ <member name="2" value="54" c:identifier="REGRESS_TEST_REFERENCE_2">
+ </member>
+ <member name="3" value="4" c:identifier="REGRESS_TEST_REFERENCE_3">
+ </member>
+ <member name="4" value="216" c:identifier="REGRESS_TEST_REFERENCE_4">
+ </member>
+ <member name="5" value="-217" c:identifier="REGRESS_TEST_REFERENCE_5">
+ </member>
+ </enumeration>
<record name="TestSimpleBoxedA"
c:type="RegressTestSimpleBoxedA"
glib:type-name="RegressTestSimpleBoxedA"
@@ -1413,12 +3695,20 @@ the introspection client langage.</doc>
<return-value transfer-ownership="full">
<type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="a" transfer-ownership="none">
+ <type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="equals" c:identifier="regress_test_simple_boxed_a_equals">
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
+ <instance-parameter name="a" transfer-ownership="none">
+ <type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
+ </instance-parameter>
<parameter name="other_a" transfer-ownership="none">
<type name="TestSimpleBoxedA" c:type="RegressTestSimpleBoxedA*"/>
</parameter>
@@ -1447,6 +3737,11 @@ the introspection client langage.</doc>
<return-value transfer-ownership="full">
<type name="TestSimpleBoxedB" c:type="RegressTestSimpleBoxedB*"/>
</return-value>
+ <parameters>
+ <instance-parameter name="b" transfer-ownership="none">
+ <type name="TestSimpleBoxedB" c:type="RegressTestSimpleBoxedB*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<callback name="TestSimpleCallback" c:type="RegressTestSimpleCallback">
@@ -1468,16 +3763,20 @@ the introspection client langage.</doc>
<type name="TestEnum" c:type="RegressTestEnum"/>
</field>
<method name="clone" c:identifier="regress_test_struct_a_clone">
- <doc xml:whitespace="preserve">Make a copy of a RegressTestStructA</doc>
+ <doc xml:space="preserve">Make a copy of a RegressTestStructA</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="a" transfer-ownership="none">
+ <doc xml:space="preserve">the structure</doc>
+ <type name="TestStructA" c:type="RegressTestStructA*"/>
+ </instance-parameter>
<parameter name="a_out"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:whitespace="preserve">the cloned structure</doc>
+ <doc xml:space="preserve">the cloned structure</doc>
<type name="TestStructA" c:type="RegressTestStructA*"/>
</parameter>
</parameters>
@@ -1491,11 +3790,11 @@ the introspection client langage.</doc>
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:whitespace="preserve">the structure that is to be filled</doc>
+ <doc xml:space="preserve">the structure that is to be filled</doc>
<type name="TestStructA" c:type="RegressTestStructA*"/>
</parameter>
<parameter name="string" transfer-ownership="none">
- <doc xml:whitespace="preserve">ignored</doc>
+ <doc xml:space="preserve">ignored</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
@@ -1509,16 +3808,20 @@ the introspection client langage.</doc>
<type name="TestStructA" c:type="RegressTestStructA"/>
</field>
<method name="clone" c:identifier="regress_test_struct_b_clone">
- <doc xml:whitespace="preserve">Make a copy of a RegressTestStructB</doc>
+ <doc xml:space="preserve">Make a copy of a RegressTestStructB</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="b" transfer-ownership="none">
+ <doc xml:space="preserve">the structure</doc>
+ <type name="TestStructB" c:type="RegressTestStructB*"/>
+ </instance-parameter>
<parameter name="b_out"
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:whitespace="preserve">the cloned structure</doc>
+ <doc xml:space="preserve">the cloned structure</doc>
<type name="TestStructB" c:type="RegressTestStructB*"/>
</parameter>
</parameters>
@@ -1632,6 +3935,12 @@ the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="str" transfer-ownership="none">
+ <type name="TestStructFixedArray"
+ c:type="RegressTestStructFixedArray*"/>
+ </instance-parameter>
+ </parameters>
</method>
</record>
<class name="TestSubObj"
@@ -1651,11 +3960,21 @@ the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestSubObj" c:type="RegressTestSubObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="unset_bare" c:identifier="regress_test_sub_obj_unset_bare">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestSubObj" c:type="RegressTestSubObj*"/>
+ </instance-parameter>
+ </parameters>
</method>
<field name="parent_instance">
<type name="TestObj" c:type="RegressTestObj"/>
@@ -1696,6 +4015,11 @@ the introspection client langage.</doc>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
+ <parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestWi8021x" c:type="RegressTestWi8021x*"/>
+ </instance-parameter>
+ </parameters>
</method>
<method name="set_testbool"
c:identifier="regress_test_wi_802_1x_set_testbool">
@@ -1703,13 +4027,16 @@ the introspection client langage.</doc>
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="obj" transfer-ownership="none">
+ <type name="TestWi8021x" c:type="RegressTestWi8021x*"/>
+ </instance-parameter>
<parameter name="v" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="testbool" writable="1" transfer-ownership="none">
- <type name="gboolean"/>
+ <type name="gboolean" c:type="gboolean"/>
</property>
<field name="parent_instance">
<type name="GObject.Object" c:type="GObject"/>
@@ -1744,19 +4071,549 @@ the introspection client langage.</doc>
</parameter>
</parameters>
</function>
+ <function name="annotation_attribute_func"
+ c:identifier="regress_annotation_attribute_func">
+ <return-value transfer-ownership="none">
+ <attribute name="some.other.annotation" value="value2"/>
+ <attribute name="yet.another.annotation" value="another_value"/>
+ <doc xml:space="preserve">The return value.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve">A #RegressAnnotationObject.</doc>
+ <type name="AnnotationObject" c:type="RegressAnnotationObject*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <attribute name="some.annotation" value="value"/>
+ <attribute name="another.annotation" value="blahvalue"/>
+ <doc xml:space="preserve">Some data.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_custom_destroy"
+ c:identifier="regress_annotation_custom_destroy">
+ <doc xml:space="preserve">Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="1">
+ <doc xml:space="preserve">Destroy notification</doc>
+ <type name="AnnotationCallback" c:type="RegressAnnotationCallback"/>
+ </parameter>
+ <parameter name="destroy"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2">
+ <type name="AnnotationNotifyFunc"
+ c:type="RegressAnnotationNotifyFunc"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_get_source_file"
+ c:identifier="regress_annotation_get_source_file">
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">Source file</doc>
+ <type name="filename" c:type="char*"/>
+ </return-value>
+ </function>
+ <function name="annotation_init" c:identifier="regress_annotation_init">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">The number of args.</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">The arguments.</doc>
+ <array length="0" zero-terminated="0" c:type="char***">
+ <type name="utf8" c:type="char**"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_invalid_regress_annotation"
+ c:identifier="regress_annotation_invalid_regress_annotation">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="foo" transfer-ownership="none">
+ <doc xml:space="preserve">some text (e.g. example) or else</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_ptr_array"
+ c:identifier="regress_annotation_ptr_array">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve">the array</doc>
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="GObject.Value"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_return_array"
+ c:identifier="regress_annotation_return_array">
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">The return value</doc>
+ <array length="0" zero-terminated="0" c:type="char**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="length"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve">Number of return values</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_return_filename"
+ c:identifier="regress_annotation_return_filename">
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">An annotated filename</doc>
+ <type name="filename" c:type="gchar*"/>
+ </return-value>
+ </function>
+ <function name="annotation_set_source_file"
+ c:identifier="regress_annotation_set_source_file">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fname" transfer-ownership="none">
+ <doc xml:space="preserve">Source file</doc>
+ <type name="filename" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_space_after_comment_bug631690"
+ c:identifier="regress_annotation_space_after_comment_bug631690">
+ <doc xml:space="preserve">Explicitly test having a space after the ** here.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="annotation_string_array_length"
+ c:identifier="regress_annotation_string_array_length">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="properties" transfer-ownership="none">
+ <array length="0" zero-terminated="0" c:type="gchar*">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_string_zero_terminated"
+ c:identifier="regress_annotation_string_zero_terminated">
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve">The return value</doc>
+ <array c:type="char**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </function>
+ <function name="annotation_string_zero_terminated_out"
+ c:identifier="regress_annotation_string_zero_terminated_out">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="out"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <array c:type="char***">
+ <type name="utf8" c:type="char**"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="annotation_test_parsing_bug630862"
+ c:identifier="regress_annotation_test_parsing_bug630862">
+ <doc xml:space="preserve">See https://bugzilla.gnome.org/show_bug.cgi?id=630862</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">An object, note the colon:in here</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ </function>
+ <function name="annotation_transfer_floating"
+ c:identifier="regress_annotation_transfer_floating">
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve">A floating object</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ </function>
+ <function name="annotation_versioned"
+ c:identifier="regress_annotation_versioned"
+ version="0.6">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
<function name="atest_error_quark"
c:identifier="regress_atest_error_quark">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
+ <function name="foo_async_ready_callback"
+ c:identifier="regress_foo_async_ready_callback">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="cancellable" transfer-ownership="none" allow-none="1">
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ allow-none="1"
+ scope="async"
+ closure="2">
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_destroy_notify_callback"
+ c:identifier="regress_foo_destroy_notify_callback">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <type name="FooCallback" c:type="RegressFooCallback"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_enum_type_method"
+ c:identifier="regress_foo_enum_type_method"
+ moved-to="FooEnumType.method">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="regress_foo_enum" transfer-ownership="none">
+ <type name="FooEnumType" c:type="RegressFooEnumType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_enum_type_returnv"
+ c:identifier="regress_foo_enum_type_returnv"
+ moved-to="FooEnumType.returnv">
+ <return-value transfer-ownership="none">
+ <type name="FooEnumType" c:type="RegressFooEnumType"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_error_quark"
+ c:identifier="regress_foo_error_quark"
+ moved-to="FooError.quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="foo_init" c:identifier="regress_foo_init">
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ </function>
+ <function name="foo_interface_static_method"
+ c:identifier="regress_foo_interface_static_method"
+ moved-to="FooInterface.static_method">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_method_external_references"
+ c:identifier="regress_foo_method_external_references">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Utility.Object" c:type="UtilityObject*"/>
+ </parameter>
+ <parameter name="e" transfer-ownership="none">
+ <type name="Utility.EnumType" c:type="UtilityEnumType"/>
+ </parameter>
+ <parameter name="f" transfer-ownership="none">
+ <type name="Utility.FlagType" c:type="UtilityFlagType"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="Utility.Struct" c:type="UtilityStruct"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_not_a_constructor_new"
+ c:identifier="regress_foo_not_a_constructor_new">
+ <doc xml:space="preserve">This should be scanned as a top-level function, and shouldn't cause
+a "Can't find matching type for constructor" warning.</doc>
+ <return-value transfer-ownership="none">
+ <type name="FooObject" c:type="RegressFooObject*"/>
+ </return-value>
+ </function>
+ <function name="foo_rectangle_new"
+ c:identifier="regress_foo_rectangle_new"
+ moved-to="FooRectangle.new"
+ introspectable="0">
+ <doc xml:space="preserve">This is a C convenience constructor; we have to (skip)
+it because it's not a boxed type.</doc>
+ <return-value>
+ <type name="FooRectangle" c:type="RegressFooRectangle*"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_skip_me"
+ c:identifier="regress_foo_skip_me"
+ introspectable="0">
+ <doc xml:space="preserve">Does something that's only interesting from C and should not be
+exposed to language bindings.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="fs" transfer-ownership="none">
+ <doc xml:space="preserve">a #RegressFooSkippable</doc>
+ <type name="FooSkippable" c:type="RegressFooSkippable"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_some_variant"
+ c:identifier="regress_foo_some_variant"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_some_variant_ptr"
+ c:identifier="regress_foo_some_variant_ptr"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="x" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <type name="va_list" c:type="va_list*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_array" c:identifier="regress_foo_test_array">
+ <return-value transfer-ownership="container">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </function>
+ <function name="foo_test_const_char_param"
+ c:identifier="regress_foo_test_const_char_param">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_const_char_retval"
+ c:identifier="regress_foo_test_const_char_retval">
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const char*"/>
+ </return-value>
+ </function>
+ <function name="foo_test_const_struct_param"
+ c:identifier="regress_foo_test_const_struct_param">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="param" transfer-ownership="none">
+ <type name="FooStruct" c:type="const RegressFooStruct*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_const_struct_retval"
+ c:identifier="regress_foo_test_const_struct_retval">
+ <return-value transfer-ownership="none">
+ <type name="FooStruct" c:type="const RegressFooStruct*"/>
+ </return-value>
+ </function>
+ <function name="foo_test_string_array"
+ c:identifier="regress_foo_test_string_array">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" transfer-ownership="none">
+ <array c:type="char**">
+ <type name="utf8" c:type="char*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_string_array_with_g"
+ c:identifier="regress_foo_test_string_array_with_g">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="array" transfer-ownership="none">
+ <array c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_unsigned_qualifier"
+ c:identifier="regress_foo_test_unsigned_qualifier">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="unsigned_param" transfer-ownership="none">
+ <type name="guint" c:type="unsigned int"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_unsigned_type"
+ c:identifier="regress_foo_test_unsigned_type">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="unsigned_param" transfer-ownership="none">
+ <type name="guint" c:type="unsigned"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_varargs_callback"
+ c:identifier="regress_foo_test_varargs_callback"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="i" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="callback" transfer-ownership="none">
+ <type name="FooVarargsCallback" c:type="RegressFooVarargsCallback"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_varargs_callback2"
+ c:identifier="regress_foo_test_varargs_callback2"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback" transfer-ownership="none">
+ <type name="FooVarargsCallback" c:type="RegressFooVarargsCallback"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="foo_test_varargs_callback3"
+ c:identifier="regress_foo_test_varargs_callback3"
+ introspectable="0">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback" transfer-ownership="none">
+ <type name="FooVarargsCallback" c:type="RegressFooVarargsCallback"/>
+ </parameter>
+ <parameter name="callback2" transfer-ownership="none">
+ <type name="FooVarargsCallback" c:type="RegressFooVarargsCallback"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="func_obj_null_in" c:identifier="regress_func_obj_null_in">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="obj" transfer-ownership="none" allow-none="1">
- <doc xml:whitespace="preserve">A #RegressTestObj</doc>
+ <doc xml:space="preserve">A #RegressTestObj</doc>
<type name="TestObj" c:type="RegressTestObj*"/>
</parameter>
</parameters>
@@ -1771,25 +4628,25 @@ the introspection client langage.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">A flags value</doc>
+ <doc xml:space="preserve">A flags value</doc>
<type name="TestFlags" c:type="RegressTestFlags*"/>
</parameter>
</parameters>
</function>
<function name="has_parameter_named_attrs"
c:identifier="regress_has_parameter_named_attrs">
- <doc xml:whitespace="preserve">This test case mirrors GnomeKeyringPasswordSchema from
+ <doc xml:space="preserve">This test case mirrors GnomeKeyringPasswordSchema from
libgnome-keyring.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="foo" transfer-ownership="none">
- <doc xml:whitespace="preserve">some int</doc>
+ <doc xml:space="preserve">some int</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="attributes" transfer-ownership="none">
- <doc xml:whitespace="preserve">list of attributes</doc>
+ <doc xml:space="preserve">list of attributes</doc>
<array zero-terminated="0" c:type="gpointer" fixed-size="32">
<type name="guint32" c:type="gpointer"/>
</array>
@@ -1876,7 +4733,7 @@ libgnome-keyring.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">An array of #RegressTestObj</doc>
+ <doc xml:space="preserve">An array of #RegressTestObj</doc>
<array zero-terminated="0" c:type="RegressTestObj***" fixed-size="2">
<type name="TestObj" c:type="RegressTestObj**"/>
</array>
@@ -1886,12 +4743,12 @@ libgnome-keyring.</doc>
<function name="test_array_fixed_size_int_in"
c:identifier="regress_test_array_fixed_size_int_in">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">the sum of the items in @ints</doc>
+ <doc xml:space="preserve">the sum of the items in @ints</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="ints" transfer-ownership="none">
- <doc xml:whitespace="preserve">a list of 5 integers</doc>
+ <doc xml:space="preserve">a list of 5 integers</doc>
<array zero-terminated="0" c:type="int*" fixed-size="5">
<type name="gint" c:type="int"/>
</array>
@@ -1908,7 +4765,7 @@ libgnome-keyring.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
+ <doc xml:space="preserve">a list of 5 integers ranging from 0 to 4</doc>
<array zero-terminated="0" c:type="int**" fixed-size="5">
<type name="gint" c:type="int*"/>
</array>
@@ -1918,7 +4775,7 @@ libgnome-keyring.</doc>
<function name="test_array_fixed_size_int_return"
c:identifier="regress_test_array_fixed_size_int_return">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">a list of 5 integers ranging from 0 to 4</doc>
+ <doc xml:space="preserve">a list of 5 integers ranging from 0 to 4</doc>
<array zero-terminated="0" c:type="int*" fixed-size="5">
<type name="gint" c:type="int"/>
</array>
@@ -1934,7 +4791,7 @@ libgnome-keyring.</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:whitespace="preserve">List of ints</doc>
+ <doc xml:space="preserve">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint16*">
<type name="gint16" c:type="gint16"/>
</array>
@@ -1951,7 +4808,7 @@ libgnome-keyring.</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:whitespace="preserve">List of ints</doc>
+ <doc xml:space="preserve">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint32*">
<type name="gint32" c:type="gint32"/>
</array>
@@ -1968,7 +4825,7 @@ libgnome-keyring.</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:whitespace="preserve">List of ints</doc>
+ <doc xml:space="preserve">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint64*">
<type name="gint64" c:type="gint64"/>
</array>
@@ -1985,7 +4842,7 @@ libgnome-keyring.</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:whitespace="preserve">List of ints</doc>
+ <doc xml:space="preserve">List of ints</doc>
<array length="0" zero-terminated="0" c:type="gint8*">
<type name="gint8" c:type="gint8"/>
</array>
@@ -1995,7 +4852,7 @@ libgnome-keyring.</doc>
<function name="test_array_gtype_in"
c:identifier="regress_test_array_gtype_in">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">string representation of provided types</doc>
+ <doc xml:space="preserve">string representation of provided types</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
@@ -2003,7 +4860,7 @@ libgnome-keyring.</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="types" transfer-ownership="none">
- <doc xml:whitespace="preserve">List of types</doc>
+ <doc xml:space="preserve">List of types</doc>
<array length="0" zero-terminated="0" c:type="GType*">
<type name="GType" c:type="GType"/>
</array>
@@ -2013,7 +4870,7 @@ libgnome-keyring.</doc>
<function name="test_array_int_full_out"
c:identifier="regress_test_array_int_full_out">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">a new array of integers.</doc>
+ <doc xml:space="preserve">a new array of integers.</doc>
<array length="0" zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
@@ -2023,7 +4880,7 @@ libgnome-keyring.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">length of the returned array.</doc>
+ <doc xml:space="preserve">length of the returned array.</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
@@ -2038,7 +4895,7 @@ libgnome-keyring.</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="ints" transfer-ownership="none">
- <doc xml:whitespace="preserve">List of ints</doc>
+ <doc xml:space="preserve">List of ints</doc>
<array length="0" zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
@@ -2055,14 +4912,14 @@ libgnome-keyring.</doc>
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">the length of @ints</doc>
+ <doc xml:space="preserve">the length of @ints</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="ints"
direction="inout"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">a list of integers whose items will be increased by 1, except the first that will be dropped</doc>
+ <doc xml:space="preserve">a list of integers whose items will be increased by 1, except the first that will be dropped</doc>
<array length="0" zero-terminated="0" c:type="int**">
<type name="gint" c:type="int*"/>
</array>
@@ -2072,7 +4929,7 @@ libgnome-keyring.</doc>
<function name="test_array_int_none_out"
c:identifier="regress_test_array_int_none_out">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">a static array of integers.</doc>
+ <doc xml:space="preserve">a static array of integers.</doc>
<array length="0" zero-terminated="0" c:type="int*">
<type name="gint" c:type="int"/>
</array>
@@ -2082,7 +4939,7 @@ libgnome-keyring.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">length of the returned array.</doc>
+ <doc xml:space="preserve">length of the returned array.</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
@@ -2099,7 +4956,7 @@ libgnome-keyring.</doc>
</array>
</parameter>
<parameter name="len" transfer-ownership="none">
- <doc xml:whitespace="preserve">length</doc>
+ <doc xml:space="preserve">length</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
@@ -2123,7 +4980,7 @@ libgnome-keyring.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">length</doc>
+ <doc xml:space="preserve">length</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
@@ -2138,14 +4995,14 @@ libgnome-keyring.</doc>
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">the length of @ints</doc>
+ <doc xml:space="preserve">the length of @ints</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="ints"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">a list of 5 integers, from 0 to 4 in consecutive order</doc>
+ <doc xml:space="preserve">a list of 5 integers, from 0 to 4 in consecutive order</doc>
<array length="0" zero-terminated="0" c:type="int**">
<type name="gint" c:type="int*"/>
</array>
@@ -2285,7 +5142,7 @@ libgnome-keyring.</doc>
</function>
<function name="test_callback_destroy_notify"
c:identifier="regress_test_callback_destroy_notify">
- <doc xml:whitespace="preserve">Notified - callback persists until a DestroyNotify delegate
+ <doc xml:space="preserve">Notified - callback persists until a DestroyNotify delegate
is invoked.</doc>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
@@ -2307,6 +5164,26 @@ is invoked.</doc>
</parameter>
</parameters>
</function>
+ <function name="test_callback_destroy_notify_no_user_data"
+ c:identifier="regress_test_callback_destroy_notify_no_user_data">
+ <doc xml:space="preserve">Adds a scope notified callback with no user data. This can invoke an error
+condition in bindings which needs to be tested.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ destroy="1">
+ <type name="TestCallbackUserData"
+ c:type="RegressTestCallbackUserData"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_callback_thaw_async"
c:identifier="regress_test_callback_thaw_async">
<return-value transfer-ownership="none">
@@ -2315,17 +5192,17 @@ is invoked.</doc>
</function>
<function name="test_callback_thaw_notifications"
c:identifier="regress_test_callback_thaw_notifications">
- <doc xml:whitespace="preserve">Invokes all callbacks installed by #test_callback_destroy_notify(),
+ <doc xml:space="preserve">Invokes all callbacks installed by #test_callback_destroy_notify(),
adding up their return values, and removes them, invoking the
corresponding destroy notfications.</doc>
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">Sum of the return values of the invoked callbacks.</doc>
+ <doc xml:space="preserve">Sum of the return values of the invoked callbacks.</doc>
<type name="gint" c:type="int"/>
</return-value>
</function>
<function name="test_callback_user_data"
c:identifier="regress_test_callback_user_data">
- <doc xml:whitespace="preserve">Call - callback parameter persists for the duration of the method
+ <doc xml:space="preserve">Call - callback parameter persists for the duration of the method
call and can be released on return.</doc>
<return-value transfer-ownership="none">
<type name="gint" c:type="int"/>
@@ -2370,16 +5247,16 @@ call and can be released on return.</doc>
<function name="test_closure_variant"
c:identifier="regress_test_closure_variant">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">the return value of @closure</doc>
+ <doc xml:space="preserve">the return value of @closure</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
<parameters>
<parameter name="closure" transfer-ownership="none">
- <doc xml:whitespace="preserve">GClosure which takes one GVariant and returns a GVariant</doc>
+ <doc xml:space="preserve">GClosure which takes one GVariant and returns a GVariant</doc>
<type name="GObject.Closure" c:type="GClosure*"/>
</parameter>
<parameter name="arg" transfer-ownership="none" allow-none="1">
- <doc xml:whitespace="preserve">a GVariant passed as argument to @closure</doc>
+ <doc xml:space="preserve">a GVariant passed as argument to @closure</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</parameter>
</parameters>
@@ -2428,7 +5305,7 @@ call and can be released on return.</doc>
<function name="test_filename_return"
c:identifier="regress_test_filename_return">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">list of strings</doc>
+ <doc xml:space="preserve">list of strings</doc>
<type name="GLib.SList" c:type="GSList*">
<type name="filename"/>
</type>
@@ -2496,7 +5373,8 @@ call and can be released on return.</doc>
</return-value>
<parameters>
<parameter name="hash" transfer-ownership="none">
- <doc xml:whitespace="preserve">the hash table returned by regress_test_ghash_gvalue_return().</doc>
+ <doc xml:space="preserve">the hash table returned by
+regress_test_ghash_gvalue_return().</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="GObject.Value"/>
@@ -2515,7 +5393,7 @@ call and can be released on return.</doc>
</function>
<function name="test_ghash_nested_everything_return"
c:identifier="regress_test_ghash_nested_everything_return">
- <doc xml:whitespace="preserve">Specify nested parameterized types directly with the (type ) annotation.</doc>
+ <doc xml:space="preserve">Specify nested parameterized types directly with the (type ) annotation.</doc>
<return-value transfer-ownership="full">
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
@@ -2528,7 +5406,7 @@ call and can be released on return.</doc>
</function>
<function name="test_ghash_nested_everything_return2"
c:identifier="regress_test_ghash_nested_everything_return2">
- <doc xml:whitespace="preserve">Another way of specifying nested parameterized types: using the
+ <doc xml:space="preserve">Another way of specifying nested parameterized types: using the
element-type annotation.</doc>
<return-value transfer-ownership="full">
<type name="GLib.HashTable" c:type="GHashTable*">
@@ -2815,32 +5693,32 @@ element-type annotation.</doc>
</function>
<function name="test_gvariant_as" c:identifier="regress_test_gvariant_as">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">New variant</doc>
+ <doc xml:space="preserve">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_asv"
c:identifier="regress_test_gvariant_asv">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">New variant</doc>
+ <doc xml:space="preserve">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_i" c:identifier="regress_test_gvariant_i">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">New variant</doc>
+ <doc xml:space="preserve">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_s" c:identifier="regress_test_gvariant_s">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">New variant</doc>
+ <doc xml:space="preserve">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
<function name="test_gvariant_v" c:identifier="regress_test_gvariant_v">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">New variant</doc>
+ <doc xml:space="preserve">New variant</doc>
<type name="GLib.Variant" c:type="GVariant*"/>
</return-value>
</function>
@@ -2851,7 +5729,7 @@ element-type annotation.</doc>
</return-value>
<parameters>
<parameter name="data" transfer-ownership="none">
- <doc xml:whitespace="preserve">GHashTable that gets passed to callback</doc>
+ <doc xml:space="preserve">GHashTable that gets passed to callback</doc>
<type name="GLib.HashTable" c:type="GHashTable*">
<type name="utf8"/>
<type name="gint"/>
@@ -2990,7 +5868,7 @@ element-type annotation.</doc>
</function>
<function name="test_multiline_doc_comments"
c:identifier="regress_test_multiline_doc_comments">
- <doc xml:whitespace="preserve">This is a function.
+ <doc xml:space="preserve">This is a function.
It has multiple lines in the documentation.
@@ -3003,7 +5881,7 @@ You will give me your credit card number.</doc>
</function>
<function name="test_nested_parameter"
c:identifier="regress_test_nested_parameter">
- <doc xml:whitespace="preserve">&lt;informaltable&gt;
+ <doc xml:space="preserve">&lt;informaltable&gt;
&lt;tgroup cols="3"&gt;
&lt;thead&gt;
&lt;row&gt;
@@ -3036,7 +5914,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
</return-value>
<parameters>
<parameter name="a" transfer-ownership="none">
- <doc xml:whitespace="preserve">An integer</doc>
+ <doc xml:space="preserve">An integer</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
@@ -3105,6 +5983,21 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
</parameter>
</parameters>
</function>
+ <function name="test_skip_unannotated_callback"
+ c:identifier="regress_test_skip_unannotated_callback"
+ introspectable="0">
+ <doc xml:space="preserve">Should not emit a warning:
+https://bugzilla.gnome.org/show_bug.cgi?id=685399</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback" transfer-ownership="none">
+ <doc xml:space="preserve">No annotation here</doc>
+ <type name="TestCallback" c:type="RegressTestCallback"/>
+ </parameter>
+ </parameters>
+ </function>
<function name="test_ssize" c:identifier="regress_test_ssize">
<return-value transfer-ownership="none">
<type name="gssize" c:type="gssize"/>
@@ -3126,11 +6019,11 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
direction="out"
caller-allocates="1"
transfer-ownership="none">
- <doc xml:whitespace="preserve">the structure that is to be filled</doc>
+ <doc xml:space="preserve">the structure that is to be filled</doc>
<type name="TestStructA" c:type="RegressTestStructA*"/>
</parameter>
<parameter name="string" transfer-ownership="none">
- <doc xml:whitespace="preserve">ignored</doc>
+ <doc xml:space="preserve">ignored</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
@@ -3238,7 +6131,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
<function name="test_torture_signature_1"
c:identifier="regress_test_torture_signature_1"
throws="1">
- <doc xml:whitespace="preserve">This function throws an error if m is odd.</doc>
+ <doc xml:space="preserve">This function throws an error if m is odd.</doc>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
@@ -3433,7 +6326,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
<function name="test_utf8_const_return"
c:identifier="regress_test_utf8_const_return">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">UTF-8 string</doc>
+ <doc xml:space="preserve">UTF-8 string</doc>
<type name="utf8" c:type="const char*"/>
</return-value>
</function>
@@ -3453,7 +6346,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
<function name="test_utf8_nonconst_return"
c:identifier="regress_test_utf8_nonconst_return">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">UTF-8 string</doc>
+ <doc xml:space="preserve">UTF-8 string</doc>
<type name="utf8" c:type="char*"/>
</return-value>
</function>
@@ -3499,7 +6392,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
<function name="test_utf8_out_nonconst_return"
c:identifier="regress_test_utf8_out_nonconst_return">
<return-value transfer-ownership="full">
- <doc xml:whitespace="preserve">a copy of "first"</doc>
+ <doc xml:space="preserve">a copy of "first"</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
@@ -3507,7 +6400,7 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">a copy of "second"</doc>
+ <doc xml:space="preserve">a copy of "second"</doc>
<type name="utf8" c:type="char**"/>
</parameter>
</parameters>
@@ -3522,14 +6415,14 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">a copy of "first"</doc>
+ <doc xml:space="preserve">a copy of "first"</doc>
<type name="utf8" c:type="char**"/>
</parameter>
<parameter name="out1"
direction="out"
caller-allocates="0"
transfer-ownership="full">
- <doc xml:whitespace="preserve">a copy of "second"</doc>
+ <doc xml:space="preserve">a copy of "second"</doc>
<type name="utf8" c:type="char**"/>
</parameter>
</parameters>
@@ -3550,12 +6443,12 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
<function name="test_value_return"
c:identifier="regress_test_value_return">
<return-value transfer-ownership="none">
- <doc xml:whitespace="preserve">the int wrapped in a GValue.</doc>
+ <doc xml:space="preserve">the int wrapped in a GValue.</doc>
<type name="GObject.Value" c:type="const GValue*"/>
</return-value>
<parameters>
<parameter name="i" transfer-ownership="none">
- <doc xml:whitespace="preserve">an int</doc>
+ <doc xml:space="preserve">an int</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
@@ -3579,9 +6472,15 @@ What we're testing here is that the scanner ignores the @a nested inside XML.</d
<function name="test_versioning"
c:identifier="regress_test_versioning"
version="1.32.1"
- deprecated="Use foobar instead"
+ deprecated="1"
deprecated-version="1.33.3"
stability="Unstable">
+ <doc-version xml:space="preserve">Actually, this function was introduced earlier
+ than this, but it didn't do anything before this version.</doc-version>
+ <doc-deprecated xml:space="preserve">This function has been deprecated,
+ because it sucks. Use foobar instead.</doc-deprecated>
+ <doc-stability xml:space="preserve">Maybe someday we will find the time
+ to stabilize this function. Who knows?</doc-stability>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
diff --git a/tests/scanner/Regress-1.0-sections-expected.txt b/tests/scanner/Regress-1.0-sections-expected.txt
new file mode 100644
index 00000000..96df7c59
--- /dev/null
+++ b/tests/scanner/Regress-1.0-sections-expected.txt
@@ -0,0 +1,362 @@
+
+<SECTION>
+<FILE>main</FILE>
+<TITLE>Main</TITLE>
+regress_aliased_caller_alloc
+regress_annotation_attribute_func
+regress_annotation_custom_destroy
+regress_annotation_get_source_file
+regress_annotation_init
+regress_annotation_invalid_regress_annotation
+regress_annotation_ptr_array
+regress_annotation_return_array
+regress_annotation_return_filename
+regress_annotation_set_source_file
+regress_annotation_space_after_comment_bug631690
+regress_annotation_string_array_length
+regress_annotation_string_zero_terminated
+regress_annotation_string_zero_terminated_out
+regress_annotation_test_parsing_bug630862
+regress_annotation_transfer_floating
+regress_annotation_versioned
+regress_atest_error_quark
+regress_foo_async_ready_callback
+regress_foo_destroy_notify_callback
+regress_foo_enum_type_method
+regress_foo_enum_type_returnv
+regress_foo_error_quark
+regress_foo_init
+regress_foo_interface_static_method
+regress_foo_method_external_references
+regress_foo_not_a_constructor_new
+regress_foo_rectangle_new
+regress_foo_skip_me
+regress_foo_some_variant
+regress_foo_some_variant_ptr
+regress_foo_test_array
+regress_foo_test_const_char_param
+regress_foo_test_const_char_retval
+regress_foo_test_const_struct_param
+regress_foo_test_const_struct_retval
+regress_foo_test_string_array
+regress_foo_test_string_array_with_g
+regress_foo_test_unsigned_qualifier
+regress_foo_test_unsigned_type
+regress_foo_test_varargs_callback
+regress_foo_test_varargs_callback2
+regress_foo_test_varargs_callback3
+regress_func_obj_null_in
+regress_global_get_flags_out
+regress_has_parameter_named_attrs
+regress_introspectable_via_alias
+regress_not_introspectable_via_alias
+regress_random_function_with_skipped_structure
+regress_set_abort_on_error
+regress_test_abc_error_quark
+regress_test_array_callback
+regress_test_array_fixed_out_objects
+regress_test_array_fixed_size_int_in
+regress_test_array_fixed_size_int_out
+regress_test_array_fixed_size_int_return
+regress_test_array_gint16_in
+regress_test_array_gint32_in
+regress_test_array_gint64_in
+regress_test_array_gint8_in
+regress_test_array_gtype_in
+regress_test_array_int_full_out
+regress_test_array_int_in
+regress_test_array_int_inout
+regress_test_array_int_none_out
+regress_test_array_int_null_in
+regress_test_array_int_null_out
+regress_test_array_int_out
+regress_test_async_ready_callback
+regress_test_boolean
+regress_test_boolean_false
+regress_test_boolean_true
+regress_test_cairo_context_full_return
+regress_test_cairo_context_none_in
+regress_test_cairo_surface_full_out
+regress_test_cairo_surface_full_return
+regress_test_cairo_surface_none_in
+regress_test_cairo_surface_none_return
+regress_test_callback
+regress_test_callback_async
+regress_test_callback_destroy_notify
+regress_test_callback_destroy_notify_no_user_data
+regress_test_callback_thaw_async
+regress_test_callback_thaw_notifications
+regress_test_callback_user_data
+regress_test_closure
+regress_test_closure_one_arg
+regress_test_closure_variant
+regress_test_date_in_gvalue
+regress_test_def_error_quark
+regress_test_double
+regress_test_enum_param
+regress_test_error_quark
+regress_test_filename_return
+regress_test_float
+regress_test_garray_container_return
+regress_test_garray_full_return
+regress_test_gerror_callback
+regress_test_ghash_container_return
+regress_test_ghash_everything_return
+regress_test_ghash_gvalue_in
+regress_test_ghash_gvalue_return
+regress_test_ghash_nested_everything_return
+regress_test_ghash_nested_everything_return2
+regress_test_ghash_nothing_in
+regress_test_ghash_nothing_in2
+regress_test_ghash_nothing_return
+regress_test_ghash_nothing_return2
+regress_test_ghash_null_in
+regress_test_ghash_null_out
+regress_test_ghash_null_return
+regress_test_glist_container_return
+regress_test_glist_everything_return
+regress_test_glist_nothing_in
+regress_test_glist_nothing_in2
+regress_test_glist_nothing_return
+regress_test_glist_nothing_return2
+regress_test_glist_null_in
+regress_test_glist_null_out
+regress_test_gslist_container_return
+regress_test_gslist_everything_return
+regress_test_gslist_nothing_in
+regress_test_gslist_nothing_in2
+regress_test_gslist_nothing_return
+regress_test_gslist_nothing_return2
+regress_test_gslist_null_in
+regress_test_gslist_null_out
+regress_test_gtype
+regress_test_gvariant_as
+regress_test_gvariant_asv
+regress_test_gvariant_i
+regress_test_gvariant_s
+regress_test_gvariant_v
+regress_test_hash_table_callback
+regress_test_int
+regress_test_int16
+regress_test_int32
+regress_test_int64
+regress_test_int8
+regress_test_int_out_utf8
+regress_test_int_value_arg
+regress_test_long
+regress_test_multi_callback
+regress_test_multi_double_args
+regress_test_multiline_doc_comments
+regress_test_nested_parameter
+regress_test_null_gerror_callback
+regress_test_owned_gerror_callback
+regress_test_short
+regress_test_simple_boxed_a_const_return
+regress_test_simple_callback
+regress_test_size
+regress_test_skip_unannotated_callback
+regress_test_ssize
+regress_test_struct_a_parse
+regress_test_strv_in
+regress_test_strv_in_gvalue
+regress_test_strv_out
+regress_test_strv_out_c
+regress_test_strv_out_container
+regress_test_strv_outarg
+regress_test_timet
+regress_test_torture_signature_0
+regress_test_torture_signature_1
+regress_test_torture_signature_2
+regress_test_uint
+regress_test_uint16
+regress_test_uint32
+regress_test_uint64
+regress_test_uint8
+regress_test_ulong
+regress_test_unconventional_error_quark
+regress_test_unichar
+regress_test_unsigned_enum_param
+regress_test_ushort
+regress_test_utf8_const_in
+regress_test_utf8_const_return
+regress_test_utf8_inout
+regress_test_utf8_nonconst_return
+regress_test_utf8_null_in
+regress_test_utf8_null_out
+regress_test_utf8_out
+regress_test_utf8_out_nonconst_return
+regress_test_utf8_out_out
+regress_test_value_get_fundamental_object
+regress_test_value_return
+regress_test_value_set_fundamental_object
+regress_test_versioning
+
+<SECTION>
+<FILE>regress-annotation-object</FILE>
+<TITLE>RegressAnnotationObject</TITLE>
+RegressAnnotationObject
+RegressAnnotationObjectClass
+regress_annotation_object_allow_none
+regress_annotation_object_calleeowns
+regress_annotation_object_calleesowns
+regress_annotation_object_compute_sum
+regress_annotation_object_compute_sum_n
+regress_annotation_object_compute_sum_nz
+regress_annotation_object_create_object
+regress_annotation_object_do_not_use
+regress_annotation_object_extra_annos
+regress_annotation_object_foreach
+regress_annotation_object_get_hash
+regress_annotation_object_get_objects
+regress_annotation_object_get_strings
+regress_annotation_object_hidden_self
+regress_annotation_object_in
+regress_annotation_object_inout
+regress_annotation_object_inout2
+regress_annotation_object_inout3
+regress_annotation_object_method
+regress_annotation_object_notrans
+regress_annotation_object_out
+regress_annotation_object_parse_args
+regress_annotation_object_set_data
+regress_annotation_object_set_data2
+regress_annotation_object_set_data3
+regress_annotation_object_string_out
+regress_annotation_object_use_buffer
+regress_annotation_object_watch
+regress_annotation_object_watch_full
+regress_annotation_object_with_voidp
+
+<SECTION>
+<FILE>regress-foo-buffer</FILE>
+<TITLE>RegressFooBuffer</TITLE>
+RegressFooBuffer
+RegressFooBufferClass
+regress_foo_buffer_some_method
+
+<SECTION>
+<FILE>regress-foo-interface</FILE>
+<TITLE>RegressFooInterface</TITLE>
+RegressFooInterface
+RegressFooInterfaceIface
+regress_foo_interface_do_regress_foo
+regress_foo_interface_static_method
+
+<SECTION>
+<FILE>regress-foo-object</FILE>
+<TITLE>RegressFooObject</TITLE>
+RegressFooObject
+RegressFooObjectClass
+regress_foo_object_append_new_stack_layer
+regress_foo_object_dup_name
+regress_foo_object_external_type
+regress_foo_object_get_name
+regress_foo_object_handle_glyph
+regress_foo_object_is_it_time_yet
+regress_foo_object_new_cookie
+regress_foo_object_read
+regress_foo_object_skipped_method
+regress_foo_object_take_all
+regress_foo_object_various
+regress_foo_object_virtual_method
+regress_foo_object_a_global_method
+regress_foo_object_get_default
+regress_foo_object_static_meth
+
+<SECTION>
+<FILE>regress-foo-other-object</FILE>
+<TITLE>RegressFooOtherObject</TITLE>
+RegressFooOtherObject
+RegressFooOtherObjectClass
+
+<SECTION>
+<FILE>regress-foo-sub-interface</FILE>
+<TITLE>RegressFooSubInterface</TITLE>
+RegressFooSubInterface
+RegressFooSubInterfaceIface
+regress_foo_sub_interface_do_bar
+regress_foo_sub_interface_do_baz
+
+<SECTION>
+<FILE>regress-foo-subobject</FILE>
+<TITLE>RegressFooSubobject</TITLE>
+RegressFooSubobject
+RegressFooSubobjectClass
+
+<SECTION>
+<FILE>regress-test-floating</FILE>
+<TITLE>RegressTestFloating</TITLE>
+RegressTestFloating
+RegressTestFloatingClass
+
+<SECTION>
+<FILE>regress-test-fundamental-object</FILE>
+<TITLE>RegressTestFundamentalObject</TITLE>
+RegressTestFundamentalObject
+RegressTestFundamentalObjectClass
+regress_test_fundamental_object_ref
+regress_test_fundamental_object_unref
+
+<SECTION>
+<FILE>regress-test-fundamental-sub-object</FILE>
+<TITLE>RegressTestFundamentalSubObject</TITLE>
+RegressTestFundamentalSubObject
+RegressTestFundamentalSubObjectClass
+
+<SECTION>
+<FILE>regress-test-inherit-drawable</FILE>
+<TITLE>RegressTestInheritDrawable</TITLE>
+RegressTestInheritDrawable
+RegressTestInheritDrawableClass
+regress_test_inherit_drawable_do_foo
+regress_test_inherit_drawable_do_foo_maybe_throw
+regress_test_inherit_drawable_get_origin
+regress_test_inherit_drawable_get_size
+
+<SECTION>
+<FILE>regress-test-interface</FILE>
+<TITLE>RegressTestInterface</TITLE>
+RegressTestInterface
+RegressTestInterfaceIface
+
+<SECTION>
+<FILE>regress-test-obj</FILE>
+<TITLE>RegressTestObj</TITLE>
+RegressTestObj
+RegressTestObjClass
+regress_test_obj_do_matrix
+regress_test_obj_emit_sig_with_foreign_struct
+regress_test_obj_emit_sig_with_int64
+regress_test_obj_emit_sig_with_obj
+regress_test_obj_emit_sig_with_uint64
+regress_forced_method
+regress_test_obj_instance_method
+regress_test_obj_instance_method_callback
+regress_test_obj_set_bare
+regress_test_obj_skip_inout_param
+regress_test_obj_skip_out_param
+regress_test_obj_skip_param
+regress_test_obj_skip_return_val
+regress_test_obj_skip_return_val_no_out
+regress_test_obj_torture_signature_0
+regress_test_obj_torture_signature_1
+regress_test_obj_null_out
+regress_test_obj_static_method
+regress_test_obj_static_method_callback
+
+<SECTION>
+<FILE>regress-test-sub-obj</FILE>
+<TITLE>RegressTestSubObj</TITLE>
+RegressTestSubObj
+RegressTestSubObjClass
+regress_test_sub_obj_instance_method
+regress_test_sub_obj_unset_bare
+
+<SECTION>
+<FILE>regress-test-wi8021x</FILE>
+<TITLE>RegressTestWi8021x</TITLE>
+RegressTestWi8021x
+RegressTestWi8021xClass
+regress_test_wi_802_1x_get_testbool
+regress_test_wi_802_1x_set_testbool
+regress_test_wi_802_1x_static_method
diff --git a/tests/scanner/SLetter-1.0-expected.gir b/tests/scanner/SLetter-1.0-expected.gir
index c6da0df4..a98ebb27 100644
--- a/tests/scanner/SLetter-1.0-expected.gir
+++ b/tests/scanner/SLetter-1.0-expected.gir
@@ -6,8 +6,6 @@ and/or use gtk-doc annotations. -->
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
- <include name="GObject" version="2.0"/>
<include name="Gio" version="2.0"/>
<c:include name="sletter.h"/>
<namespace name="SLetter"
@@ -18,9 +16,12 @@ and/or use gtk-doc annotations. -->
<enumeration name="DBusError"
c:type="SDBusError"
glib:error-domain="s-dbus-error">
- <member name="code1" value="1" c:identifier="S_DBUS_ERROR_CODE1"/>
- <member name="code2" value="2" c:identifier="S_DBUS_ERROR_CODE2"/>
- <member name="code3" value="3" c:identifier="S_DBUS_ERROR_CODE3"/>
+ <member name="code1" value="1" c:identifier="S_DBUS_ERROR_CODE1">
+ </member>
+ <member name="code2" value="2" c:identifier="S_DBUS_ERROR_CODE2">
+ </member>
+ <member name="code3" value="3" c:identifier="S_DBUS_ERROR_CODE3">
+ </member>
</enumeration>
<record name="Point" c:type="SPoint">
<field name="x" writable="1">
@@ -33,9 +34,12 @@ and/or use gtk-doc annotations. -->
<enumeration name="SpawnError"
c:type="SSpawnError"
glib:error-domain="s-spawn-error">
- <member name="code1" value="1" c:identifier="S_SPAWN_ERROR_CODE1"/>
- <member name="code2" value="2" c:identifier="S_SPAWN_ERROR_CODE2"/>
- <member name="code3" value="3" c:identifier="S_SPAWN_ERROR_CODE3"/>
+ <member name="code1" value="1" c:identifier="S_SPAWN_ERROR_CODE1">
+ </member>
+ <member name="code2" value="2" c:identifier="S_SPAWN_ERROR_CODE2">
+ </member>
+ <member name="code3" value="3" c:identifier="S_SPAWN_ERROR_CODE3">
+ </member>
</enumeration>
<function name="dbus_error_quark" c:identifier="s_dbus_error_quark">
<return-value transfer-ownership="none">
diff --git a/tests/scanner/TestInherit-1.0-expected.gir b/tests/scanner/TestInherit-1.0-expected.gir
index 6b16ab70..1f1a3286 100644
--- a/tests/scanner/TestInherit-1.0-expected.gir
+++ b/tests/scanner/TestInherit-1.0-expected.gir
@@ -29,6 +29,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -41,6 +44,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="x" transfer-ownership="none">
<type name="gint" c:type="int"/>
</parameter>
@@ -52,6 +58,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="x"
direction="out"
caller-allocates="0"
@@ -71,6 +80,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="drawable" transfer-ownership="none">
+ <type name="Drawable" c:type="TestInheritDrawable*"/>
+ </instance-parameter>
<parameter name="width"
direction="out"
caller-allocates="0"
diff --git a/tests/scanner/Typedefs-1.0-expected.gir b/tests/scanner/Typedefs-1.0-expected.gir
new file mode 100644
index 00000000..9bfd0d08
--- /dev/null
+++ b/tests/scanner/Typedefs-1.0-expected.gir
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GObject" version="2.0"/>
+ <package name="gobject-2.0"/>
+ <c:include name="typedefs.h"/>
+ <namespace name="Typedefs"
+ version="1.0"
+ shared-library="libtypedefs.so"
+ c:identifier-prefixes="Typedefs"
+ c:symbol-prefixes="typedefs">
+ <record name="BoxedWithAnonymousTypedef"
+ c:type="TypedefsBoxedWithAnonymousTypedef"
+ glib:type-name="TypedefsBoxedWithAnonymousTypedef"
+ glib:get-type="typedefs_boxed_with_anonymous_typedef_get_type"
+ c:symbol-prefix="boxed_with_anonymous_typedef">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="BoxedWithHiddenStruct"
+ c:type="TypedefsBoxedWithHiddenStruct"
+ glib:type-name="TypedefsBoxedWithHiddenStruct"
+ glib:get-type="typedefs_boxed_with_hidden_struct_get_type"
+ c:symbol-prefix="boxed_with_hidden_struct">
+ </record>
+ <record name="BoxedWithTagAndTypedef"
+ c:type="TypedefsBoxedWithTagAndTypedef"
+ glib:type-name="TypedefsBoxedWithTagAndTypedef"
+ glib:get-type="typedefs_boxed_with_tag_and_typedef_get_type"
+ c:symbol-prefix="boxed_with_tag_and_typedef">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="BoxedWithTypedefAfter"
+ c:type="TypedefsBoxedWithTypedefAfter"
+ glib:type-name="TypedefsBoxedWithTypedefAfter"
+ glib:get-type="typedefs_boxed_with_typedef_after_get_type"
+ c:symbol-prefix="boxed_with_typedef_after">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="BoxedWithTypedefBefore"
+ c:type="TypedefsBoxedWithTypedefBefore"
+ glib:type-name="TypedefsBoxedWithTypedefBefore"
+ glib:get-type="typedefs_boxed_with_typedef_before_get_type"
+ c:symbol-prefix="boxed_with_typedef_before">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="StructWithAnonymousTypedef"
+ c:type="TypedefsStructWithAnonymousTypedef">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="StructWithTagAndTypedef"
+ c:type="TypedefsStructWithTagAndTypedef">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="StructWithTypedefAfter"
+ c:type="TypedefsStructWithTypedefAfter">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ <record name="StructWithTypedefBefore"
+ c:type="TypedefsStructWithTypedefBefore">
+ <field name="value" writable="1">
+ <type name="gint" c:type="int"/>
+ </field>
+ </record>
+ </namespace>
+</repository>
diff --git a/tests/scanner/Utility-1.0-expected.gir b/tests/scanner/Utility-1.0-expected.gir
index 747f99c1..0bd38297 100644
--- a/tests/scanner/Utility-1.0-expected.gir
+++ b/tests/scanner/Utility-1.0-expected.gir
@@ -6,7 +6,6 @@ and/or use gtk-doc annotations. -->
xmlns="http://www.gtk.org/introspection/core/1.0"
xmlns:c="http://www.gtk.org/introspection/c/1.0"
xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="GLib" version="2.0"/>
<include name="GObject" version="2.0"/>
<package name="gobject-2.0"/>
<c:include name="utility.h"/>
@@ -20,6 +19,7 @@ and/or use gtk-doc annotations. -->
</alias>
<record name="Buffer" c:type="UtilityBuffer">
<field name="data" writable="1">
+ <doc xml:space="preserve">the data</doc>
<type name="gpointer"/>
</field>
<field name="length" writable="1">
@@ -40,9 +40,12 @@ and/or use gtk-doc annotations. -->
</record>
</union>
<enumeration name="EnumType" c:type="UtilityEnumType">
- <member name="a" value="0" c:identifier="UTILITY_ENUM_A"/>
- <member name="b" value="1" c:identifier="UTILITY_ENUM_B"/>
- <member name="c" value="2" c:identifier="UTILITY_ENUM_C"/>
+ <member name="a" value="0" c:identifier="UTILITY_ENUM_A">
+ </member>
+ <member name="b" value="1" c:identifier="UTILITY_ENUM_B">
+ </member>
+ <member name="c" value="2" c:identifier="UTILITY_ENUM_C">
+ </member>
</enumeration>
<callback name="FileFunc" c:type="UtilityFileFunc">
<return-value transfer-ownership="none">
@@ -58,9 +61,12 @@ and/or use gtk-doc annotations. -->
</parameters>
</callback>
<bitfield name="FlagType" c:type="UtilityFlagType">
- <member name="a" value="1" c:identifier="UTILITY_FLAG_A"/>
- <member name="b" value="2" c:identifier="UTILITY_FLAG_B"/>
- <member name="c" value="4" c:identifier="UTILITY_FLAG_C"/>
+ <member name="a" value="1" c:identifier="UTILITY_FLAG_A">
+ </member>
+ <member name="b" value="2" c:identifier="UTILITY_FLAG_B">
+ </member>
+ <member name="c" value="4" c:identifier="UTILITY_FLAG_C">
+ </member>
</bitfield>
<class name="Object"
c:symbol-prefix="object"
@@ -74,6 +80,9 @@ and/or use gtk-doc annotations. -->
<type name="none" c:type="void"/>
</return-value>
<parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="UtilityObject*"/>
+ </instance-parameter>
<parameter name="path" transfer-ownership="none">
<type name="utf8" c:type="const char*"/>
</parameter>
diff --git a/tests/scanner/WarnLib-1.0-expected.gir b/tests/scanner/WarnLib-1.0-expected.gir
new file mode 100644
index 00000000..47e3666c
--- /dev/null
+++ b/tests/scanner/WarnLib-1.0-expected.gir
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gio" version="2.0"/>
+ <c:include name="warnlib.h"/>
+ <namespace name="WarnLib"
+ version="1.0"
+ shared-library=""
+ c:identifier-prefixes="WarnLib"
+ c:symbol-prefixes="warnlib_">
+ <interface name="Whatever"
+ c:symbol-prefix="whatever"
+ c:type="WarnLibWhatever"
+ glib:type-name="WarnLibWhatever"
+ glib:get-type="warnlib_whatever_get_type"
+ glib:type-struct="WhateverIface">
+ <virtual-method name="do_boo" invoker="do_boo">
+ <doc xml:space="preserve">Does boo.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve">a WarnLibWhatever</doc>
+ <type name="Whatever" c:type="WarnLibWhatever*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve">x parameter</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve">y parameter</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="do_moo" invoker="do_moo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Whatever" c:type="WarnLibWhatever*"/>
+ </instance-parameter>
+ <parameter name="arg1" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="arg2" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="do_boo" c:identifier="warnlib_whatever_do_boo">
+ <doc xml:space="preserve">Does boo.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve">a WarnLibWhatever</doc>
+ <type name="Whatever" c:type="WarnLibWhatever*"/>
+ </instance-parameter>
+ <parameter name="arg1" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="arg2" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="do_moo" c:identifier="warnlib_whatever_do_moo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Whatever" c:type="WarnLibWhatever*"/>
+ </instance-parameter>
+ <parameter name="arg1" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="arg2" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="WhateverIface"
+ c:type="WarnLibWhateverIface"
+ glib:is-gtype-struct-for="Whatever">
+ <field name="parent_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="do_moo">
+ <callback name="do_moo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Whatever" c:type="WarnLibWhatever*"/>
+ </parameter>
+ <parameter name="arg1" transfer-ownership="none">
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="arg2" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="do_boo">
+ <callback name="do_boo">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve">a WarnLibWhatever</doc>
+ <type name="Whatever" c:type="WarnLibWhatever*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve">x parameter</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve">y parameter</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <function name="throw_unpaired"
+ c:identifier="warnlib_throw_unpaired"
+ throws="1">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="unpaired_error_quark"
+ c:identifier="warnlib_unpaired_error_quark">
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </namespace>
+</repository>
diff --git a/tests/scanner/annotation.c b/tests/scanner/annotation.c
index d23239d5..30dc72ef 100644
--- a/tests/scanner/annotation.c
+++ b/tests/scanner/annotation.c
@@ -3,7 +3,7 @@
char backslash_parsing_tester = '\\';
-G_DEFINE_TYPE (AnnotationObject, annotation_object, G_TYPE_OBJECT);
+G_DEFINE_TYPE (RegressAnnotationObject, regress_annotation_object, G_TYPE_OBJECT);
enum {
PROP_0,
@@ -20,13 +20,13 @@ enum {
LAST_SIGNAL
};
-static guint annotation_object_signals[LAST_SIGNAL] = { 0 };
+static guint regress_annotation_object_signals[LAST_SIGNAL] = { 0 };
static void
-annotation_object_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+regress_annotation_object_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
switch (prop_id)
{
@@ -43,10 +43,10 @@ annotation_object_set_property (GObject *object,
}
static void
-annotation_object_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+regress_annotation_object_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
switch (prop_id)
{
@@ -63,18 +63,18 @@ annotation_object_get_property (GObject *object,
}
static void
-annotation_object_class_init (AnnotationObjectClass *klass)
+regress_annotation_object_class_init (RegressAnnotationObjectClass *klass)
{
GObjectClass *gobject_class;
gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->set_property = annotation_object_set_property;
- gobject_class->get_property = annotation_object_get_property;
+ gobject_class->set_property = regress_annotation_object_set_property;
+ gobject_class->get_property = regress_annotation_object_get_property;
/**
- * AnnotationObject::string-signal:
- * @annotation: the annotation object
+ * RegressAnnotationObject::string-signal:
+ * @regress_annotation: the regress_annotation object
* @string: (type utf8): a string
*
* This is a signal which has a broken signal handler,
@@ -83,7 +83,7 @@ annotation_object_class_init (AnnotationObjectClass *klass)
* Since: 1.0
* Deprecated: 1.2: Use other-signal instead
*/
- annotation_object_signals[STRING_SIGNAL] =
+ regress_annotation_object_signals[STRING_SIGNAL] =
g_signal_new ("string-signal",
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_LAST,
@@ -93,14 +93,14 @@ annotation_object_class_init (AnnotationObjectClass *klass)
G_TYPE_NONE, 1, G_TYPE_POINTER);
/**
- * AnnotationObject::list-signal:
- * @annotation: the annotation object
+ * RegressAnnotationObject::list-signal:
+ * @regress_annotation: the regress_annotation object
* @list: (type GLib.List) (element-type utf8) (transfer container): a list of strings
*
* This is a signal which takes a list of strings, but it's not
* known by GObject as it's only marked as G_TYPE_POINTER
*/
- annotation_object_signals[LIST_SIGNAL] =
+ regress_annotation_object_signals[LIST_SIGNAL] =
g_signal_new ("list-signal",
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_LAST,
@@ -110,13 +110,13 @@ annotation_object_class_init (AnnotationObjectClass *klass)
G_TYPE_NONE, 1, G_TYPE_POINTER);
/**
- * AnnotationObject::doc-empty-arg-parsing:
- * @annotation: the annotation object
+ * RegressAnnotationObject::doc-empty-arg-parsing:
+ * @regress_annotation: the regress_annotation object
* @arg1:
*
* This signal tests an empty document argument (@arg1)
*/
- annotation_object_signals[DOC_EMPTY_ARG_PARSING] =
+ regress_annotation_object_signals[DOC_EMPTY_ARG_PARSING] =
g_signal_new ("doc-empty-arg-parsing",
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_LAST,
@@ -126,16 +126,16 @@ annotation_object_class_init (AnnotationObjectClass *klass)
G_TYPE_NONE, 1, G_TYPE_POINTER);
/**
- * AnnotationObject::attribute-signal:
- * @annotation: the annotation object
- * @arg1: (attribute some.annotation.foo1 val1): a value
- * @arg2: (attribute some.annotation.foo2 val2): another value
+ * RegressAnnotationObject::attribute-signal:
+ * @regress_annotation: the regress_annotation object
+ * @arg1: (attributes some.annotation.foo1=val1): a value
+ * @arg2: (attributes some.annotation.foo2=val2): another value
*
* This signal tests a signal with attributes.
*
- * Returns: (attribute some.annotation.foo3 val3): the return value
+ * Returns: (attributes some.annotation.foo3=val3): the return value
*/
- annotation_object_signals[ATTRIBUTE_SIGNAL] =
+ regress_annotation_object_signals[ATTRIBUTE_SIGNAL] =
g_signal_new ("attribute-signal",
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_LAST,
@@ -148,7 +148,7 @@ annotation_object_class_init (AnnotationObjectClass *klass)
G_TYPE_STRING);
/**
- * AnnotationObject:string-property:
+ * RegressAnnotationObject:string-property:
*
* This is a property which is a string
*
@@ -163,9 +163,7 @@ annotation_object_class_init (AnnotationObjectClass *klass)
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
- * AnnotationObject:function-property:
- *
- * Type: AnnotationCallback
+ * RegressAnnotationObject:function-property: (type RegressAnnotationCallback)
*/
g_object_class_install_property (gobject_class,
PROP_FUNCTION_PROPERTY,
@@ -175,7 +173,7 @@ annotation_object_class_init (AnnotationObjectClass *klass)
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
- * AnnotationObject:tab-property:
+ * RegressAnnotationObject:tab-property:
*
* This is a property annotation intentionally indented with a mix
* of tabs and strings to test the tab handling capabilities of the scanner.
@@ -192,25 +190,25 @@ annotation_object_class_init (AnnotationObjectClass *klass)
}
static void
-annotation_object_init (AnnotationObject *object)
+regress_annotation_object_init (RegressAnnotationObject *object)
{
}
/**
- * annotation_object_method:
+ * regress_annotation_object_method:
* @object: a #GObject
*
* Return value: an int
**/
gint
-annotation_object_method (AnnotationObject *object)
+regress_annotation_object_method (RegressAnnotationObject *object)
{
return 1;
}
/**
- * annotation_object_out:
+ * regress_annotation_object_out:
* @object: a #GObject
* @outarg: (out): This is an argument test
*
@@ -219,14 +217,14 @@ annotation_object_method (AnnotationObject *object)
* Return value: an int
*/
gint
-annotation_object_out (AnnotationObject *object, int *outarg)
+regress_annotation_object_out (RegressAnnotationObject *object, int *outarg)
{
*outarg = 2;
return 1;
}
/**
- * annotation_object_in:
+ * regress_annotation_object_in:
* @object: a #GObject
* @inarg: (in) (transfer none): This is an argument test
*
@@ -235,14 +233,14 @@ annotation_object_out (AnnotationObject *object, int *outarg)
* Return value: an int
*/
gint
-annotation_object_in (AnnotationObject *object, int *inarg)
+regress_annotation_object_in (RegressAnnotationObject *object, int *inarg)
{
return *inarg;
}
/**
- * annotation_object_inout:
+ * regress_annotation_object_inout:
* @object: a #GObject
* @inoutarg: (inout): This is an argument test
*
@@ -251,13 +249,13 @@ annotation_object_in (AnnotationObject *object, int *inarg)
* Return value: an int
*/
gint
-annotation_object_inout (AnnotationObject *object, int *inoutarg)
+regress_annotation_object_inout (RegressAnnotationObject *object, int *inoutarg)
{
return *inoutarg += 1;
}
/**
- * annotation_object_inout2:
+ * regress_annotation_object_inout2:
* @object: a #GObject
* @inoutarg: (inout): This is an argument test
*
@@ -266,14 +264,14 @@ annotation_object_inout (AnnotationObject *object, int *inoutarg)
* Return value: an int
*/
gint
-annotation_object_inout2 (AnnotationObject *object, int *inoutarg)
+regress_annotation_object_inout2 (RegressAnnotationObject *object, int *inoutarg)
{
return *inoutarg += 1;
}
/**
- * annotation_object_inout3:
+ * regress_annotation_object_inout3:
* @object: a #GObject
* @inoutarg: (inout) (allow-none): This is an argument test
*
@@ -282,7 +280,7 @@ annotation_object_inout2 (AnnotationObject *object, int *inoutarg)
* Return value: an int
*/
gint
-annotation_object_inout3 (AnnotationObject *object, int *inoutarg)
+regress_annotation_object_inout3 (RegressAnnotationObject *object, int *inoutarg)
{
if (inoutarg)
return *inoutarg + 1;
@@ -290,7 +288,7 @@ annotation_object_inout3 (AnnotationObject *object, int *inoutarg)
}
/**
- * annotation_object_calleeowns:
+ * regress_annotation_object_calleeowns:
* @object: a #GObject
* @toown: (out): a #GObject
*
@@ -299,14 +297,14 @@ annotation_object_inout3 (AnnotationObject *object, int *inoutarg)
* Return value: an int
*/
gint
-annotation_object_calleeowns (AnnotationObject *object, GObject **toown)
+regress_annotation_object_calleeowns (RegressAnnotationObject *object, GObject **toown)
{
return 1;
}
/**
- * annotation_object_calleesowns:
+ * regress_annotation_object_calleesowns:
* @object: a #GObject
* @toown1: (out) (transfer full): a #GObject
* @toown2: (out) (transfer none): a #GObject
@@ -316,16 +314,16 @@ annotation_object_calleeowns (AnnotationObject *object, GObject **toown)
* Return value: an int
*/
gint
-annotation_object_calleesowns (AnnotationObject *object,
- GObject **toown1,
- GObject **toown2)
+regress_annotation_object_calleesowns (RegressAnnotationObject *object,
+ GObject **toown1,
+ GObject **toown2)
{
return 1;
}
/**
- * annotation_object_get_strings:
+ * regress_annotation_object_get_strings:
* @object: a #GObject
*
* This is a test for returning a list of strings, where
@@ -334,16 +332,16 @@ annotation_object_calleesowns (AnnotationObject *object,
* Return value: (element-type utf8) (transfer full): list of strings
*/
GList*
-annotation_object_get_strings (AnnotationObject *object)
+regress_annotation_object_get_strings (RegressAnnotationObject *object)
{
GList *list = NULL;
- list = g_list_prepend (list, g_strdup ("annotation"));
+ list = g_list_prepend (list, g_strdup ("regress_annotation"));
list = g_list_prepend (list, g_strdup ("bar"));
return list;
}
/**
- * annotation_object_get_hash:
+ * regress_annotation_object_get_hash:
* @object: a #GObject
*
* This is a test for returning a hash table mapping strings to
@@ -352,7 +350,7 @@ annotation_object_get_strings (AnnotationObject *object)
* Return value: (element-type utf8 GObject) (transfer full): hash table
*/
GHashTable*
-annotation_object_get_hash (AnnotationObject *object)
+regress_annotation_object_get_hash (RegressAnnotationObject *object)
{
GHashTable *hash = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, g_object_unref);
@@ -362,27 +360,27 @@ annotation_object_get_hash (AnnotationObject *object)
}
/**
- * annotation_object_with_voidp:
+ * regress_annotation_object_with_voidp:
* @data: Opaque pointer handle
*/
void
-annotation_object_with_voidp (AnnotationObject *object, void *data)
+regress_annotation_object_with_voidp (RegressAnnotationObject *object, void *data)
{
}
/**
- * annotation_object_get_objects:
+ * regress_annotation_object_get_objects:
* @object: a #GObject
*
* This is a test for returning a list of objects.
* The list itself should be freed, but not the internal objects,
* intentionally similar example to gtk_container_get_children
*
- * Return value: (element-type AnnotationObject) (transfer container): list of objects
+ * Return value: (element-type RegressAnnotationObject) (transfer container): list of objects
*/
GSList*
-annotation_object_get_objects (AnnotationObject *object)
+regress_annotation_object_get_objects (RegressAnnotationObject *object)
{
GSList *list = NULL;
list = g_slist_prepend (list, object);
@@ -390,7 +388,7 @@ annotation_object_get_objects (AnnotationObject *object)
}
/**
- * annotation_object_create_object:
+ * regress_annotation_object_create_object:
* @object: a #GObject
*
* Test returning a caller-owned object
@@ -398,39 +396,39 @@ annotation_object_get_objects (AnnotationObject *object)
* Return value: (transfer full): The object
**/
GObject*
-annotation_object_create_object (AnnotationObject *object)
+regress_annotation_object_create_object (RegressAnnotationObject *object)
{
- return g_object_ref (object);
+ return g_object_ref (object);
}
/**
- * annotation_object_use_buffer:
+ * regress_annotation_object_use_buffer:
* @object: a #GObject
*
**/
void
-annotation_object_use_buffer (AnnotationObject *object,
- guchar *bytes)
+regress_annotation_object_use_buffer (RegressAnnotationObject *object,
+ guchar *bytes)
{
}
/**
- * annotation_object_compute_sum:
+ * regress_annotation_object_compute_sum:
* @object: a #GObject
* @nums: (array): Sequence of numbers
*
* Test taking a zero-terminated array
**/
void
-annotation_object_compute_sum (AnnotationObject *object,
- int *nums)
+regress_annotation_object_compute_sum (RegressAnnotationObject *object,
+ int *nums)
{
}
/**
- * annotation_object_compute_sum_n:
+ * regress_annotation_object_compute_sum_n:
* @object: a #GObject
* @nums: (array length=n_nums zero-terminated=0): Sequence of
* numbers that are zero-terminated
@@ -439,16 +437,16 @@ annotation_object_compute_sum (AnnotationObject *object,
* Test taking an array with length parameter
**/
void
-annotation_object_compute_sum_n(AnnotationObject *object,
- int *nums,
- int n_nums)
+regress_annotation_object_compute_sum_n(RegressAnnotationObject *object,
+ int *nums,
+ int n_nums)
{
}
/**
- * annotation_object_compute_sum_nz:
- * @object: a #AnnotationObject
+ * regress_annotation_object_compute_sum_nz:
+ * @object: a #RegressAnnotationObject
* @nums: (array length=n_nums zero-terminated=1): Sequence of numbers that
* are zero-terminated
* @n_nums: Length of number array
@@ -456,32 +454,32 @@ annotation_object_compute_sum_n(AnnotationObject *object,
* Test taking a zero-terminated array with length parameter
**/
void
-annotation_object_compute_sum_nz(AnnotationObject *object,
- int *nums,
- int n_nums)
+regress_annotation_object_compute_sum_nz(RegressAnnotationObject *object,
+ int *nums,
+ int n_nums)
{
}
/**
- * annotation_object_parse_args:
- * @object: a #AnnotationObject
+ * regress_annotation_object_parse_args:
+ * @object: a #RegressAnnotationObject
* @argc: (inout): Length of the argument vector
* @argv: (inout) (array length=argc zero-terminated=1): Argument vector
*
* Test taking a zero-terminated array with length parameter
**/
void
-annotation_object_parse_args(AnnotationObject *object,
- int *argc,
- char ***argv)
+regress_annotation_object_parse_args(RegressAnnotationObject *object,
+ int *argc,
+ char ***argv)
{
}
/**
- * annotation_object_string_out:
- * @object: a #AnnotationObject
+ * regress_annotation_object_string_out:
+ * @object: a #RegressAnnotationObject
* @str_out: (out) (transfer full): string return value
*
* Test returning a string as an out parameter
@@ -489,63 +487,63 @@ annotation_object_parse_args(AnnotationObject *object,
* Returns: some boolean
**/
gboolean
-annotation_object_string_out(AnnotationObject *object,
- char **str_out)
+regress_annotation_object_string_out(RegressAnnotationObject *object,
+ char **str_out)
{
return FALSE;
}
/**
- * annotation_object_foreach:
- * @object: a #AnnotationObject
+ * regress_annotation_object_foreach:
+ * @object: a #RegressAnnotationObject
* @func: (scope call): Callback to invoke
* @user_data: Callback user data
*
* Test taking a call-scoped callback
**/
void
-annotation_object_foreach (AnnotationObject *object,
- AnnotationForeachFunc func,
- gpointer user_data)
+regress_annotation_object_foreach (RegressAnnotationObject *object,
+ RegressAnnotationForeachFunc func,
+ gpointer user_data)
{
-
+
}
/**
- * annotation_object_set_data:
- * @object: a #AnnotationObject
+ * regress_annotation_object_set_data:
+ * @object: a #RegressAnnotationObject
* @data: (array length=length): The data
* @length: Length of the data
*
* Test taking a guchar * with a length.
**/
void
-annotation_object_set_data (AnnotationObject *object,
- const guchar *data,
- gsize length)
+regress_annotation_object_set_data (RegressAnnotationObject *object,
+ const guchar *data,
+ gsize length)
{
-
+
}
/**
- * annotation_object_set_data2:
- * @object: a #AnnotationObject
+ * regress_annotation_object_set_data2:
+ * @object: a #RegressAnnotationObject
* @data: (array length=length) (element-type gint8): The data
* @length: Length of the data
*
* Test taking a gchar * with a length.
**/
void
-annotation_object_set_data2 (AnnotationObject *object,
- const gchar *data,
- gsize length)
+regress_annotation_object_set_data2 (RegressAnnotationObject *object,
+ const gchar *data,
+ gsize length)
{
-
+
}
/**
- * annotation_object_set_data3:
- * @object: a #AnnotationObject
+ * regress_annotation_object_set_data3:
+ * @object: a #RegressAnnotationObject
* @data: (array length=length) (element-type guint8): The data
* @length: Length of the data
*
@@ -553,233 +551,229 @@ annotation_object_set_data2 (AnnotationObject *object,
* type.
**/
void
-annotation_object_set_data3 (AnnotationObject *object,
- gpointer data,
- gsize length)
+regress_annotation_object_set_data3 (RegressAnnotationObject *object,
+ gpointer data,
+ gsize length)
{
-
+
}
/**
- * annotation_object_allow_none:
+ * regress_annotation_object_allow_none:
* @object: a #GObject
* @somearg: (allow-none):
*
* Returns: (transfer none): %NULL always
**/
GObject*
-annotation_object_allow_none (AnnotationObject *object, const gchar *somearg)
+regress_annotation_object_allow_none (RegressAnnotationObject *object, const gchar *somearg)
{
return NULL;
}
/**
- * annotation_object_notrans:
+ * regress_annotation_object_notrans:
* @object: a #GObject
*
* Returns: (transfer none): An object, not referenced
**/
GObject*
-annotation_object_notrans (AnnotationObject *object)
+regress_annotation_object_notrans (RegressAnnotationObject *object)
{
return NULL;
}
/**
- * annotation_object_do_not_use:
+ * regress_annotation_object_do_not_use:
* @object: a #GObject
*
* Returns: (transfer none): %NULL always
- * Deprecated: 0.12: Use annotation_object_create_object() instead.
+ * Deprecated: 0.12: Use regress_annotation_object_create_object() instead.
**/
GObject*
-annotation_object_do_not_use (AnnotationObject *object)
+regress_annotation_object_do_not_use (RegressAnnotationObject *object)
{
return NULL;
}
/**
- * annotation_object_watch: (skip)
- * @object: A #AnnotationObject
+ * regress_annotation_object_watch: (skip)
+ * @object: A #RegressAnnotationObject
* @func: The callback
* @user_data: The callback data
*
* This is here just for the sake of being overriden by its
- * annotation_object_watch_full().
+ * regress_annotation_object_watch_full().
*/
void
-annotation_object_watch (AnnotationObject *object,
- AnnotationForeachFunc func,
- gpointer user_data)
+regress_annotation_object_watch (RegressAnnotationObject *object,
+ RegressAnnotationForeachFunc func,
+ gpointer user_data)
{
}
/**
- * annotation_object_watch_full:
- * @object: A #AnnotationObject
+ * regress_annotation_object_watch_full: (rename-to regress_annotation_object_watch)
+ * @object: A #RegressAnnotationObject
* @func: The callback
* @user_data: The callback data
* @destroy: Destroy notification
*
* Test overriding via the "Rename To" annotation.
- *
- * Rename to: annotation_object_watch
*/
void
-annotation_object_watch_full (AnnotationObject *object,
- AnnotationForeachFunc func,
- gpointer user_data,
- GDestroyNotify destroy)
+regress_annotation_object_watch_full (RegressAnnotationObject *object,
+ RegressAnnotationForeachFunc func,
+ gpointer user_data,
+ GDestroyNotify destroy)
{
}
/**
- * annotation_object_hidden_self:
- * @object: (type AnnotationObject): A #AnnotationObject
+ * regress_annotation_object_hidden_self:
+ * @object: (type RegressAnnotationObject): A #RegressAnnotationObject
**/
void
-annotation_object_hidden_self (gpointer object)
+regress_annotation_object_hidden_self (gpointer object)
{
}
/**
- * annotation_init:
- * @argc: (inout): The number of args.
+ * regress_annotation_init:
+ * @argc: (inout): The number of args.
* @argv: (inout) (array length=argc): The arguments.
**/
void
-annotation_init (int *argc, char ***argv)
+regress_annotation_init (int *argc, char ***argv)
{
}
/**
- * annotation_return_array:
+ * regress_annotation_return_array:
* @length: (out): Number of return values
*
* Return value: (transfer full) (array length=length): The return value
**/
char **
-annotation_return_array (int *length)
+regress_annotation_return_array (int *length)
{
return NULL;
}
/**
- * annotation_string_zero_terminated:
+ * regress_annotation_string_zero_terminated:
*
* Return value: (transfer full) (array zero-terminated=1): The return value
**/
char **
-annotation_string_zero_terminated (void)
+regress_annotation_string_zero_terminated (void)
{
return NULL;
}
/**
- * annotation_string_zero_terminated_out:
+ * regress_annotation_string_zero_terminated_out:
* @out: (array zero-terminated=1) (inout):
**/
void
-annotation_string_zero_terminated_out (char ***out)
+regress_annotation_string_zero_terminated_out (char ***out)
{
}
/**
- * annotation_versioned:
+ * regress_annotation_versioned:
*
* Since: 0.6
**/
void
-annotation_versioned (void)
+regress_annotation_versioned (void)
{
}
/**
- * annotation_string_array_length:
+ * regress_annotation_string_array_length:
* @n_properties:
* @properties: (array length=n_properties) (element-type utf8):
*/
void
-annotation_string_array_length (guint n_properties, const gchar * const properties[])
+regress_annotation_string_array_length (guint n_properties, const gchar * const properties[])
{
}
/**
- * annotation_object_extra_annos:
- *
- * Attributes: (org.foobar testvalue)
+ * regress_annotation_object_extra_annos: (attributes org.foobar=testvalue)
*/
void
-annotation_object_extra_annos (AnnotationObject *object)
+regress_annotation_object_extra_annos (RegressAnnotationObject *object)
{
}
/**
- * annotation_custom_destroy:
+ * regress_annotation_custom_destroy:
* @callback: (destroy destroy) (closure data): Destroy notification
*
* Test messing up the heuristic of closure/destroy-notification
* detection, and fixing it via annotations.
*/
void
-annotation_custom_destroy (AnnotationCallback callback,
- AnnotationNotifyFunc destroy,
- gpointer data)
+regress_annotation_custom_destroy (RegressAnnotationCallback callback,
+ RegressAnnotationNotifyFunc destroy,
+ gpointer data)
{
}
/**
- * annotation_get_source_file:
+ * regress_annotation_get_source_file:
*
* Return value: (type filename) (transfer full): Source file
*/
char *
-annotation_get_source_file (void)
+regress_annotation_get_source_file (void)
{
return NULL;
}
/**
- * annotation_set_source_file:
+ * regress_annotation_set_source_file:
* @fname: (type filename): Source file
*
*/
void
-annotation_set_source_file (const char *fname)
+regress_annotation_set_source_file (const char *fname)
{
}
/**
- * annotation_ptr_array:
- * @array: (element-type GLib.Value): the array
+ * regress_annotation_ptr_array:
+ * @array: (element-type GObject.Value): the array
*/
void
-annotation_ptr_array (GPtrArray *array)
+regress_annotation_ptr_array (GPtrArray *array)
{
}
/**
- * annotation_attribute_func:
- * @object: A #AnnotationObject.
- * @data: (attribute some.annotation value) (attribute another.annotation blahvalue): Some data.
+ * regress_annotation_attribute_func:
+ * @object: A #RegressAnnotationObject.
+ * @data: (attributes some.annotation=value another.annotation=blahvalue): Some data.
*
- * Returns: (attribute some.other.annotation value2) (attribute yet.another.annotation another_value): The return value.
+ * Returns: (attributes some.other.annotation=value2 yet.another.annotation=another_value): The return value.
*/
gint
-annotation_attribute_func (AnnotationObject *object,
- const gchar *data)
+regress_annotation_attribute_func (RegressAnnotationObject *object,
+ const gchar *data)
{
return 42;
}
/**
- * annotation_invalid_annotation:
+ * regress_annotation_invalid_regress_annotation:
* @foo: some text (e.g. example) or else
*/
void
-annotation_invalid_annotation (int foo)
+regress_annotation_invalid_regress_annotation (int foo)
{
}
@@ -789,47 +783,47 @@ char backslash_parsing_tester_2 = '\\';
/**
- * annotation_test_parsing_bug630862:
+ * regress_annotation_test_parsing_bug630862:
*
* See https://bugzilla.gnome.org/show_bug.cgi?id=630862
*
* Returns: (transfer none): An object, note the colon:in here
*/
GObject *
-annotation_test_parsing_bug630862 (void)
+regress_annotation_test_parsing_bug630862 (void)
{
return NULL;
}
-/**
- * annotation_space_after_comment_bug631690:
+/**
+ * regress_annotation_space_after_comment_bug631690:
*
* Explicitly test having a space after the ** here.
*/
void
-annotation_space_after_comment_bug631690 (void)
+regress_annotation_space_after_comment_bug631690 (void)
{
}
/**
- * annotation_return_filename:
+ * regress_annotation_return_filename:
*
* Returns: (type filename): An annotated filename
*/
gchar*
-annotation_return_filename (void)
+regress_annotation_return_filename (void)
{
return "a utf-8 filename";
}
/**
- * annotation_transfer_floating:
+ * regress_annotation_transfer_floating:
*
* Returns: (transfer floating): A floating object
*/
GObject *
-annotation_transfer_floating(void)
+regress_annotation_transfer_floating(void)
{
return NULL;
}
diff --git a/tests/scanner/annotation.h b/tests/scanner/annotation.h
index b3b4bd4c..b0cbe42d 100644
--- a/tests/scanner/annotation.h
+++ b/tests/scanner/annotation.h
@@ -1,5 +1,5 @@
-#ifndef __ANNOTATION_OBJECT_H__
-#define __ANNOTATION_OBJECT_H__
+#ifndef __REGRESS_ANNOTATION_OBJECT_H__
+#define __REGRESS_ANNOTATION_OBJECT_H__
#include <glib-object.h>
@@ -7,190 +7,201 @@ typedef enum /*< flags,prefix=ANN >*/
{
ANN_FLAG_FOO = 1,
ANN_FLAG_BAR = 2
-} AnnotationBitfield;
+} RegressAnnotationBitfield;
/**
- * AnnotationCallback:
+ * RegressAnnotationCallback:
* @in: (in) (transfer none): array of ints
*
* This is a callback.
* Return value: (transfer none): array of ints
*/
-typedef const gint* (*AnnotationCallback) (const gint *in);
+typedef const gint* (*RegressAnnotationCallback) (const gint *in);
/**
- * AnnotationListCallback:
+ * RegressAnnotationListCallback:
* @in: (in) (transfer none) (element-type utf8): list of strings
*
* This is a callback taking a list.
* Return value: (transfer container) (element-type utf8): list of strings
*/
-typedef GList* (*AnnotationListCallback) (GList *in);
+typedef GList* (*RegressAnnotationListCallback) (GList *in);
/**
- * AnnotationNotifyFunc:
+ * RegressAnnotationNotifyFunc:
* @data: (closure): The user data
*
* This is a callback with a 'closure' argument that is not named
* 'user_data' and hence has to be annotated.
*/
-typedef void (*AnnotationNotifyFunc) (gpointer data);
+typedef void (*RegressAnnotationNotifyFunc) (gpointer data);
/**
- * AnnotationObject:
+ * RegressAnnotationObject: (attributes org.example.Test=cows)
*
* This is an object used to test annotations.
- *
- * Attributes: (org.example.Test cows)
*/
-typedef struct _AnnotationObject AnnotationObject;
-typedef struct _AnnotationObjectClass AnnotationObjectClass;
+typedef struct _RegressAnnotationObject RegressAnnotationObject;
+typedef struct _RegressAnnotationObjectClass RegressAnnotationObjectClass;
-typedef void (*AnnotationForeachFunc) (AnnotationObject *object,
+typedef void (*RegressAnnotationForeachFunc) (RegressAnnotationObject *object,
const char *item,
gpointer user_data);
-struct _AnnotationObject
+struct _RegressAnnotationObject
{
GObject parent_instance;
};
-struct _AnnotationObjectClass
+struct _RegressAnnotationObjectClass
{
GObjectClass parent_class;
};
-GType annotation_object_get_type (void);
+GType regress_annotation_object_get_type (void);
-gint annotation_object_method (AnnotationObject *object);
-gint annotation_object_out (AnnotationObject *object,
+gint regress_annotation_object_method (RegressAnnotationObject *object);
+gint regress_annotation_object_out (RegressAnnotationObject *object,
int *outarg);
-GObject* annotation_object_create_object(AnnotationObject *object);
-GObject* annotation_object_allow_none (AnnotationObject *object,
+GObject* regress_annotation_object_create_object(RegressAnnotationObject *object);
+GObject* regress_annotation_object_allow_none (RegressAnnotationObject *object,
const gchar *somearg);
-GObject* annotation_object_notrans (AnnotationObject *object);
-gint annotation_object_inout (AnnotationObject *object,
+GObject* regress_annotation_object_notrans (RegressAnnotationObject *object);
+gint regress_annotation_object_inout (RegressAnnotationObject *object,
int *inoutarg);
-gint annotation_object_inout2 (AnnotationObject *object,
+gint regress_annotation_object_inout2 (RegressAnnotationObject *object,
int *inoutarg);
-gint annotation_object_inout3 (AnnotationObject *object,
+gint regress_annotation_object_inout3 (RegressAnnotationObject *object,
int *inoutarg);
-gint annotation_object_in (AnnotationObject *object,
+gint regress_annotation_object_in (RegressAnnotationObject *object,
int *inarg);
-gint annotation_object_calleeowns (AnnotationObject *object,
+gint regress_annotation_object_calleeowns (RegressAnnotationObject *object,
GObject **toown);
-gint annotation_object_calleesowns (AnnotationObject *object,
+gint regress_annotation_object_calleesowns (RegressAnnotationObject *object,
GObject **toown1,
GObject **toown2);
-GList* annotation_object_get_strings (AnnotationObject *object);
-GHashTable*annotation_object_get_hash (AnnotationObject *object);
-void annotation_object_with_voidp (AnnotationObject *object,
+GList* regress_annotation_object_get_strings (RegressAnnotationObject *object);
+GHashTable*regress_annotation_object_get_hash (RegressAnnotationObject *object);
+void regress_annotation_object_with_voidp (RegressAnnotationObject *object,
void *data);
-GSList* annotation_object_get_objects (AnnotationObject *object);
+GSList* regress_annotation_object_get_objects (RegressAnnotationObject *object);
-void annotation_object_use_buffer (AnnotationObject *object,
+void regress_annotation_object_use_buffer (RegressAnnotationObject *object,
guchar *bytes);
-void annotation_object_compute_sum (AnnotationObject *object,
+void regress_annotation_object_compute_sum (RegressAnnotationObject *object,
int *nums);
-void annotation_object_compute_sum_n(AnnotationObject *object,
+void regress_annotation_object_compute_sum_n(RegressAnnotationObject *object,
int *nums,
int n_nums);
-void annotation_object_compute_sum_nz(AnnotationObject *object,
+void regress_annotation_object_compute_sum_nz(RegressAnnotationObject *object,
int *nums,
int n_nums);
-void annotation_object_parse_args (AnnotationObject *object,
+void regress_annotation_object_parse_args (RegressAnnotationObject *object,
int *argc,
char ***argv);
-gboolean annotation_object_string_out (AnnotationObject *object,
+gboolean regress_annotation_object_string_out (RegressAnnotationObject *object,
char **str_out);
-void annotation_object_foreach (AnnotationObject *object,
- AnnotationForeachFunc func,
+void regress_annotation_object_foreach (RegressAnnotationObject *object,
+ RegressAnnotationForeachFunc func,
gpointer user_data);
-void annotation_object_set_data (AnnotationObject *object,
+void regress_annotation_object_set_data (RegressAnnotationObject *object,
const guchar *data,
gsize length);
-void annotation_object_set_data2 (AnnotationObject *object,
+void regress_annotation_object_set_data2 (RegressAnnotationObject *object,
const gchar *data,
gsize length);
-void annotation_object_set_data3 (AnnotationObject *object,
+void regress_annotation_object_set_data3 (RegressAnnotationObject *object,
gpointer data,
gsize length);
-GObject* annotation_object_do_not_use (AnnotationObject *object);
-void annotation_object_watch (AnnotationObject *object,
- AnnotationForeachFunc func,
+GObject* regress_annotation_object_do_not_use (RegressAnnotationObject *object);
+void regress_annotation_object_watch (RegressAnnotationObject *object,
+ RegressAnnotationForeachFunc func,
gpointer user_data);
-void annotation_object_watch_full (AnnotationObject *object,
- AnnotationForeachFunc func,
+void regress_annotation_object_watch_full (RegressAnnotationObject *object,
+ RegressAnnotationForeachFunc func,
gpointer user_data,
GDestroyNotify destroy);
-void annotation_object_hidden_self (gpointer object);
+void regress_annotation_object_hidden_self (gpointer object);
-void annotation_init (int *argc,
+void regress_annotation_init (int *argc,
char ***argv);
-char ** annotation_return_array (int *length);
-void annotation_versioned (void);
-char ** annotation_string_zero_terminated (void);
-void annotation_string_zero_terminated_out (char ***out);
+char ** regress_annotation_return_array (int *length);
+void regress_annotation_versioned (void);
+char ** regress_annotation_string_zero_terminated (void);
+void regress_annotation_string_zero_terminated_out (char ***out);
-void annotation_string_array_length (guint n_properties, const gchar * const properties[]);
+void regress_annotation_string_array_length (guint n_properties, const gchar * const properties[]);
-void annotation_object_extra_annos (AnnotationObject *object);
+void regress_annotation_object_extra_annos (RegressAnnotationObject *object);
-void annotation_custom_destroy (AnnotationCallback callback,
- AnnotationNotifyFunc destroy,
+void regress_annotation_custom_destroy (RegressAnnotationCallback callback,
+ RegressAnnotationNotifyFunc destroy,
gpointer data);
-char * annotation_get_source_file (void);
-void annotation_set_source_file (const char *fname);
+char * regress_annotation_get_source_file (void);
+void regress_annotation_set_source_file (const char *fname);
-gint annotation_attribute_func (AnnotationObject *object,
+gint regress_annotation_attribute_func (RegressAnnotationObject *object,
const gchar *data);
-void annotation_invalid_annotation (int foo);
+void regress_annotation_invalid_regress_annotation (int foo);
/**
- * AnnotationStruct:
+ * RegressAnnotationStruct:
*
* This is a test of an array of object in an field of a struct.
*/
-struct AnnotationStruct
+struct RegressAnnotationStruct
+{
+ RegressAnnotationObject *objects[10];
+};
+
+/**
+ * RegressAnnotationFields:
+ * @field1: Some documentation
+ * @arr: (array length=len): an array of length @len
+ * @len: the length of array
+ *
+ * This is a struct for testing field documentation and annotations
+ */
+struct RegressAnnotationFields
{
- AnnotationObject *objects[10];
+ int field1;
+ guchar *arr;
+ gulong len;
};
-void annotation_ptr_array (GPtrArray *array);
+void regress_annotation_ptr_array (GPtrArray *array);
-GObject * annotation_test_parsing_bug630862 (void);
+GObject * regress_annotation_test_parsing_bug630862 (void);
-void annotation_space_after_comment_bug631690 (void);
+void regress_annotation_space_after_comment_bug631690 (void);
-gchar* annotation_return_filename (void);
+gchar* regress_annotation_return_filename (void);
-GObject * annotation_transfer_floating(void);
+GObject * regress_annotation_transfer_floating(void);
/* This one we can handle properly */
-#define ANNOTATION_CALCULATED_DEFINE (10 * 10)
+#define REGRESS_ANNOTATION_CALCULATED_DEFINE (10 * 10)
/**
- * ANNOTATION_CALCULATED_LARGE:
+ * REGRESS_ANNOTATION_CALCULATED_LARGE: (value 10000000000UL)
*
* Constant to define a calculated large value
*
- * Value: 10000000000UL
+ * Since: 1.4
*/
-#define ANNOTATION_CALCULATED_LARGE (1000 * G_GINT64_CONSTANT (10000000))
+#define REGRESS_ANNOTATION_CALCULATED_LARGE (1000 * G_GINT64_CONSTANT (10000000))
/**
- * ANNOTATION_CALCULATED_LARGE_DIV:
+ * REGRESS_ANNOTATION_CALCULATED_LARGE_DIV: (value 1000000UL)
*
* Constant to define a calculated large value
- *
- * Value: 1000000UL
*/
-#define ANNOTATION_CALCULATED_LARGE_DIV (1000 / G_GINT64_CONSTANT (10000000))
+#define REGRESS_ANNOTATION_CALCULATED_LARGE_DIV (1000 / G_GINT64_CONSTANT (10000000))
-#endif /* __ANNOTATION_OBJECT_H__ */
+#endif /* __REGRESS_ANNOTATION_OBJECT_H__ */
diff --git a/tests/scanner/annotationparser/Makefile.am b/tests/scanner/annotationparser/Makefile.am
new file mode 100644
index 00000000..3003df85
--- /dev/null
+++ b/tests/scanner/annotationparser/Makefile.am
@@ -0,0 +1,68 @@
+include $(top_srcdir)/common.mk
+
+TESTS = \
+ test_parser.py \
+ test_patterns.py
+
+TESTS_ENVIRONMENT = builddir=$(builddir) top_builddir=$(top_builddir) srcdir=$(srcdir) top_srcdir=$(top_srcdir) \
+ PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir)
+LOG_COMPILER = $(top_srcdir)/tests/gi-tester
+
+EXTRA_DIST = \
+ $(TESTS) \
+ README \
+ tests.xsd \
+ gi/annotation_allow_none.xml \
+ gi/annotation_array.xml \
+ gi/annotation_attributes.xml \
+ gi/annotation_closure.xml \
+ gi/annotation_constructor.xml \
+ gi/annotation_destroy.xml \
+ gi/annotation_element_type.xml \
+ gi/annotation_foreign.xml \
+ gi/annotation_get_value_func.xml \
+ gi/annotation_in.xml \
+ gi/annotation_in_out.xml \
+ gi/annotation_method.xml \
+ gi/annotation_out.xml \
+ gi/annotation_ref_func.xml \
+ gi/annotation_rename_to.xml \
+ gi/annotation_scope.xml \
+ gi/annotation_set_value_func.xml \
+ gi/annotation_skip.xml \
+ gi/annotation_transfer.xml \
+ gi/annotation_type.xml \
+ gi/annotation_unref_func.xml \
+ gi/annotation_value.xml \
+ gi/annotation_virtual.xml \
+ gi/annotations.xml \
+ gi/identifier.xml \
+ gi/identifier_section.xml \
+ gi/identifier_symbol.xml \
+ gi/parameter.xml \
+ gi/parameter_varargs.xml \
+ gi/syntax.xml \
+ gi/syntax_indentation.xml \
+ gi/syntax_multiline_annotations.xml \
+ gi/syntax_nested_tags.xml \
+ gi/syntax_paragraph_breaks.xml \
+ gi/syntax_whitespace.xml \
+ gi/tag.xml \
+ gi/tag_deprecated.xml \
+ gi/tag_description.xml \
+ gi/tag_returns.xml \
+ gi/tag_since.xml \
+ gi/tag_stability.xml \
+ gtkdoc/gobject/gtypes.h.xml \
+ gtkdoc/gobject/gtypes.c.xml \
+ gtkdoc/gobject/giface.h.xml \
+ gtkdoc/gobject/giface.c.xml \
+ gtkdoc/fail/tester.h.xml \
+ gtkdoc/fail/tester.c.xml \
+ gtkdoc/empty/tester.c.xml \
+ gtkdoc/bugs/tester.h.xml \
+ gtkdoc/bugs/tester.c.xml \
+ gtkdoc/annotations/tester.h.xml \
+ gtkdoc/annotations/tester.c.xml \
+ gtkdoc/gobject/gobject.h.xml \
+ gtkdoc/gobject/gobject.c.xml
diff --git a/tests/scanner/annotationparser/README b/tests/scanner/annotationparser/README
new file mode 100644
index 00000000..1dbc64e1
--- /dev/null
+++ b/tests/scanner/annotationparser/README
@@ -0,0 +1,52 @@
+test_patterns.py
+================
+
+Notes
+-----
+
+The tests included within test_patterns.py are designed to torture the regular
+expression programs used to match different parts of GTK-Doc comment blocks
+by giscanner/annotationparser.py
+
+
+test_parser.py
+==============
+
+Notes
+-----
+
+- the names of the directories containing test .xml and the .xml files themselves should
+ not contain the hyphen ('-') character. This because we use the directory and file
+ names to generate valid Python method names (where the hyphen character is illegal).
+
+- GTK-Doc comment blocks can contain XML (DocBook) fragments on their own. You can wrap such
+ comment blocks into a CDATA section to prevent the tests XML parser from doing the
+ wrong thing.
+ Occasionally, GTK-Doc comment blocks containing XML (DocBook) fragments can also contain
+ CDATA sections on their own. This can be handled by wrapping the GTK-Doc comment block into
+ a CDATA section as described above, and escape the embedded GTK-Doc CDATA section's
+ opening bracket "<!" with "{{!" and the matching close bracket ">" with "!}}".
+
+- *Note well* that trailing whitespace characters in test .xml files are not there by accident.
+ So whatever your text editor of choice or scm du jour might claim, trailing whitespace
+ is required!
+
+
+Test files
+----------
+
+gtk-doc/*.xml:
+ The GTK-Doc comment block tests in this directory are copied verbatim from the GTK-Doc
+ test suite. Not all of these tests make sense from GTK-Doc's point of view without the
+ actual C sources they document, but are great for testing the level of understanding
+ GtkDocCommentBlockParser has about the GTK-Doc comment block syntax.
+
+ GTK-Doc tests originally taken at revision:
+ http://git.gnome.org/browse/gtk-doc/tree/tests?id=2a6b01253fe41412172a60f26705114b953d0a95
+ and should be updated regularly to reflect changes in the GTK-Doc project.
+ - updated 2013/07/30 to 1846fc7e904f6f56b74c366d205d6bb946eac17e
+
+gobject-introspection/*.xml:
+ GTK-Doc comment blocks specifically designed to ensure GtkDocCommentBlockParser does the
+ right thing and continues to function correctly. The goal is to exercise all possible
+ combinations of tags, parameters and annotations (both current and deprecated syntax).
diff --git a/tests/scanner/annotationparser/gi/annotation_allow_none.xml b/tests/scanner/annotationparser/gi/annotation_allow_none.xml
new file mode 100644
index 00000000..ae6b3b37
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_allow_none.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_inout:
+ * @object: a #GObject
+ * @inoutarg: (inout) (allow-none): This is an argument test
+ *
+ * This is a test for out arguments
+ *
+ * Return value: (allow-none): an int
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_inout</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #GObject</description>
+ </parameter>
+ <parameter>
+ <name>inoutarg</name>
+ <annotations>
+ <annotation>
+ <name>inout</name>
+ </annotation>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>This is an argument test</description>
+ </parameter>
+ </parameters>
+ <description>This is a test for out arguments</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>an int</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_inout:
+ * @object: a #GObject
+ * @inoutarg: (inout) (allow-none): This is an argument test
+ *
+ * This is a test for out arguments
+ *
+ * Returns: (allow-none): an int
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_array.xml b/tests/scanner/annotationparser/gi/annotation_array.xml
new file mode 100644
index 00000000..3a7cbc0b
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_array.xml
@@ -0,0 +1,483 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_compute_sum:
+ * @nums: (array): Sequence of numbers
+ *
+ * Test taking a zero-terminated array
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_compute_sum</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>nums</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ </annotation>
+ </annotations>
+ <description>Sequence of numbers</description>
+ </parameter>
+ </parameters>
+ <description>Test taking a zero-terminated array</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_compute_sum:
+ * @nums: (array): Sequence of numbers
+ *
+ * Test taking a zero-terminated array
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_compute_sum_n:
+ * @object: a #AnnotationObject
+ * @nums: (array length=n_nums zero-terminated=0): Sequence of
+ * numbers that are zero-terminated
+ * @n_nums: Length of number array
+ *
+ * Test taking an array with length parameter
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_compute_sum_n</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>nums</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>length</name>
+ <value>n_nums</value>
+ </option>
+ <option>
+ <name>zero-terminated</name>
+ <value>0</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Sequence of
+ numbers that are zero-terminated</description>
+ </parameter>
+ <parameter>
+ <name>n_nums</name>
+ <description>Length of number array</description>
+ </parameter>
+ </parameters>
+ <description>Test taking an array with length parameter</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_compute_sum_n:
+ * @object: a #AnnotationObject
+ * @nums: (array length=n_nums zero-terminated=0): Sequence of
+ * numbers that are zero-terminated
+ * @n_nums: Length of number array
+ *
+ * Test taking an array with length parameter
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_compute_sum_nz:
+ * @object: a #AnnotationObject
+ * @nums: (array length=n_nums zero-terminated=1): Sequence of numbers that
+ * are zero-terminated
+ * @n_nums: Length of number array
+ *
+ * Test taking a zero-terminated array with length parameter
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_compute_sum_nz</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>nums</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>length</name>
+ <value>n_nums</value>
+ </option>
+ <option>
+ <name>zero-terminated</name>
+ <value>1</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Sequence of numbers that
+are zero-terminated</description>
+ </parameter>
+ <parameter>
+ <name>n_nums</name>
+ <description>Length of number array</description>
+ </parameter>
+ </parameters>
+ <description>Test taking a zero-terminated array with length parameter</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_compute_sum_nz:
+ * @object: a #AnnotationObject
+ * @nums: (array length=n_nums zero-terminated=1): Sequence of numbers that
+ * are zero-terminated
+ * @n_nums: Length of number array
+ *
+ * Test taking a zero-terminated array with length parameter
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_parse_args:
+ * @object: a #AnnotationObject
+ * @argc: (inout): Length of the argument vector
+ * @argv: (inout) (array length=argc zero-terminated=1): Argument vector
+ *
+ * Test taking a zero-terminated array with length parameter
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_parse_args</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>argc</name>
+ <annotations>
+ <annotation>
+ <name>inout</name>
+ </annotation>
+ </annotations>
+ <description>Length of the argument vector</description>
+ </parameter>
+ <parameter>
+ <name>argv</name>
+ <annotations>
+ <annotation>
+ <name>inout</name>
+ </annotation>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>length</name>
+ <value>argc</value>
+ </option>
+ <option>
+ <name>zero-terminated</name>
+ <value>1</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Argument vector</description>
+ </parameter>
+ </parameters>
+ <description>Test taking a zero-terminated array with length parameter</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_parse_args:
+ * @object: a #AnnotationObject
+ * @argc: (inout): Length of the argument vector
+ * @argv: (inout) (array length=argc zero-terminated=1): Argument vector
+ *
+ * Test taking a zero-terminated array with length parameter
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_set_data:
+ * @object: a #AnnotationObject
+ * @data: (array length=length): The data
+ * @length: Length of the data
+ *
+ * Test taking a guchar * with a length.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_set_data</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>data</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>length</name>
+ <value>length</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>The data</description>
+ </parameter>
+ <parameter>
+ <name>length</name>
+ <description>Length of the data</description>
+ </parameter>
+ </parameters>
+ <description>Test taking a guchar * with a length.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_set_data:
+ * @object: a #AnnotationObject
+ * @data: (array length=length): The data
+ * @length: Length of the data
+ *
+ * Test taking a guchar * with a length.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_string_zero_terminated:
+ * @data: (array fixed-size=2): a third value
+ *
+ * Return value: (transfer full) (array zero-terminated=1): The return value
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_string_zero_terminated</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>data</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>fixed-size</name>
+ <value>2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a third value</description>
+ </parameter>
+ </parameters>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>zero-terminated</name>
+ <value>1</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>The return value</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_string_zero_terminated:
+ * @data: (array fixed-size=2): a third value
+ *
+ * Returns: (transfer full) (array zero-terminated=1): The return value
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_string_zero_terminated:
+ * @data: (array invalid fixed-size=2): a third value
+ *
+ * Return value: (transfer full) (array zero-terminated=1): The return value
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_string_zero_terminated</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>data</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>invalid</name>
+ </option>
+ <option>
+ <name>fixed-size</name>
+ <value>2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a third value</description>
+ </parameter>
+ </parameters>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>zero-terminated</name>
+ <value>1</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>The return value</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: invalid "array" annotation option: "invalid"</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_string_zero_terminated:
+ * @data: (array invalid fixed-size=2): a third value
+ *
+ * Returns: (transfer full) (array zero-terminated=1): The return value
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * g_app_launch_context_get_environment:
+ * @arg1: (array zero-terminated): ...
+ * @arg2: (array length): ...
+ *
+ * Returns: (array zero-terminated=yes): the child's environment
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>g_app_launch_context_get_environment</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>arg1</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>zero-terminated</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>...</description>
+ </parameter>
+ <parameter>
+ <name>arg2</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>length</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>...</description>
+ </parameter>
+ </parameters>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>zero-terminated</name>
+ <value>yes</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>the child's environment</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: "array" annotation option "zero-terminated" needs a value</message>
+ <message>4: Warning: Test: "array" annotation option "length" needs a value</message>
+ <message>6: Warning: Test: invalid "array" annotation option "zero-terminated" value "yes", must be an integer</message>
+ </messages>
+ </parser>
+ <output>/**
+ * g_app_launch_context_get_environment:
+ * @arg1: (array zero-terminated): ...
+ * @arg2: (array length): ...
+ *
+ * Returns: (array zero-terminated=yes): the child's environment
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_attributes.xml b/tests/scanner/annotationparser/gi/annotation_attributes.xml
new file mode 100644
index 00000000..e9d9b429
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_attributes.xml
@@ -0,0 +1,477 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * AnnotationObject: (attributes org.example.test1=horses org.example.test2 org.example.test3=cows)
+ *
+ * This is an object used to test annotations.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>org.example.test1</name>
+ <value>horses</value>
+ </option>
+ <option>
+ <name>org.example.test2</name>
+ </option>
+ <option>
+ <name>org.example.test3</name>
+ <value>cows</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is an object used to test annotations.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * AnnotationObject: (attributes org.example.test1=horses org.example.test2 org.example.test3=cows)
+ *
+ * This is an object used to test annotations.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Attributes:" tag
+ -->
+ <input>/**
+ * AnnotationObject:
+ *
+ * This is an object used to test annotations.
+ *
+ * Attributes: (org.example.test1 horses) (org.example.test2) (org.example.test3 cows)
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>org.example.test1</name>
+ <value>horses</value>
+ </option>
+ <option>
+ <name>org.example.test2</name>
+ </option>
+ <option>
+ <name>org.example.test3</name>
+ <value>cows</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is an object used to test annotations.</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Attributes" has been deprecated, please use annotations on the identifier instead:
+ * Attributes: (org.example.test1 horses) (org.example.test2) (org.example.test3 cows)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * AnnotationObject: (attributes org.example.test1=horses org.example.test2 org.example.test3=cows)
+ *
+ * This is an object used to test annotations.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Variation of "Attributes:" tag
+ -->
+ <input>/**
+ * AnnotationObject:
+ *
+ * This is an object used to test annotations.
+ *
+ * Attributes: (org.example.test1 horses))
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject</name>
+ </identifier>
+ <description>This is an object used to test annotations.</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Attributes" has been deprecated, please use annotations on the identifier instead:
+ * Attributes: (org.example.test1 horses))
+ ^</message>
+ <message>6: Error: Test: unbalanced parentheses, annotations will be ignored:
+Attributes: (org.example.test1 horses))
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * AnnotationObject:
+ *
+ * This is an object used to test annotations.
+ */</output>
+</test>
+
+<test>
+ <!--
+ (attributes) annotation on the identifier together with a
+ deprecated "Attributes:" tag.
+ -->
+ <input>/**
+ * AnnotationObject: (attributes org.example.test1=horses)
+ *
+ * This is an object used to test annotations.
+ *
+ * Attributes: (org.example.test1 horses) (org.example.test2 cows)
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>org.example.test1</name>
+ <value>horses</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is an object used to test annotations.</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Attributes" has been deprecated, please use annotations on the identifier instead:
+ * Attributes: (org.example.test1 horses) (org.example.test2 cows)
+ ^</message>
+ <message>6: Error: Test: Duplicate "Attributes:" annotation will be ignored:
+ * Attributes: (org.example.test1 horses) (org.example.test2 cows)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * AnnotationObject: (attributes org.example.test1=horses)
+ *
+ * This is an object used to test annotations.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Attributes:" tag in the wrong location
+ -->
+ <input>/**
+ * AnnotationObject:
+ *
+ * Attributes: (org.example.Test horses) (org.example.test2 cows)
+ *
+ * This is an object used to test annotations.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>org.example.Test</name>
+ <value>horses</value>
+ </option>
+ <option>
+ <name>org.example.test2</name>
+ <value>cows</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is an object used to test annotations.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Attributes" has been deprecated, please use annotations on the identifier instead:
+ * Attributes: (org.example.Test horses) (org.example.test2 cows)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * AnnotationObject: (attributes org.example.Test=horses org.example.test2=cows)
+ *
+ * This is an object used to test annotations.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * AnnotationObject:
+ *
+ * Attributes: (org.example.Test horses cows)
+ *
+ * This is an object used to test annotations.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject</name>
+ </identifier>
+ <description>This is an object used to test annotations.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Attributes" has been deprecated, please use annotations on the identifier instead:
+ * Attributes: (org.example.Test horses cows)
+ ^</message>
+ <message>4: Error: Test: malformed "Attributes:" tag will be ignored:
+ * Attributes: (org.example.Test horses cows)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * AnnotationObject:
+ *
+ * This is an object used to test annotations.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * AnnotationObject::attribute-signal:
+ * @annotation: the annotation object
+ * @arg1: (attributes some.annotation.foo1=val1): a value
+ * @arg2: (attributes some.annotation.foo2=val2): another value
+ * @arg3: (array fixed-size=2): a third value
+ *
+ * This signal tests a signal with attributes.
+ *
+ * Returns: (attributes some.annotation.foo3=val3): the return value
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject::attribute-signal</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>annotation</name>
+ <description>the annotation object</description>
+ </parameter>
+ <parameter>
+ <name>arg1</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>some.annotation.foo1</name>
+ <value>val1</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>arg2</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>some.annotation.foo2</name>
+ <value>val2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>another value</description>
+ </parameter>
+ <parameter>
+ <name>arg3</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>fixed-size</name>
+ <value>2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a third value</description>
+ </parameter>
+ </parameters>
+ <description>This signal tests a signal with attributes.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>some.annotation.foo3</name>
+ <value>val3</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>the return value</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * AnnotationObject::attribute-signal:
+ * @annotation: the annotation object
+ * @arg1: (attributes some.annotation.foo1=val1): a value
+ * @arg2: (attributes some.annotation.foo2=val2): another value
+ * @arg3: (array fixed-size=2): a third value
+ *
+ * This signal tests a signal with attributes.
+ *
+ * Returns: (attributes some.annotation.foo3=val3): the return value
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated (attribute) annotation.
+ -->
+ <input>/**
+ * AnnotationObject::attribute-signal:
+ * @annotation: the annotation object
+ * @arg1: (attribute some.annotation.foo1): a value
+ * @arg2: (attribute some.annotation.foo2 val2): another value
+ * @arg3: (attribute x y z): something special
+ * @arg4: (array fixed-size=2): a third value
+ *
+ * This signal tests a signal with attributes.
+ *
+ * Returns: (attribute some.annotation.foo3 val3): the return value
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject::attribute-signal</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>annotation</name>
+ <description>the annotation object</description>
+ </parameter>
+ <parameter>
+ <name>arg1</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>some.annotation.foo1</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>arg2</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>some.annotation.foo2</name>
+ <value>val2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>another value</description>
+ </parameter>
+ <parameter>
+ <name>arg3</name>
+ <description>something special</description>
+ </parameter>
+ <parameter>
+ <name>arg4</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>fixed-size</name>
+ <value>2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a third value</description>
+ </parameter>
+ </parameters>
+ <description>This signal tests a signal with attributes.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>some.annotation.foo3</name>
+ <value>val3</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>the return value</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: "attribute" annotation has been deprecated, please use "attributes" instead:
+ * @arg1: (attribute some.annotation.foo1): a value
+ ^</message>
+ <message>5: Warning: Test: "attribute" annotation has been deprecated, please use "attributes" instead:
+ * @arg2: (attribute some.annotation.foo2 val2): another value
+ ^</message>
+ <message>6: Warning: Test: "attribute" annotation has been deprecated, please use "attributes" instead:
+ * @arg3: (attribute x y z): something special
+ ^</message>
+ <message>6: Error: Test: malformed "(attribute)" annotation will be ignored:
+ * @arg3: (attribute x y z): something special
+ ^</message>
+ <message>11: Warning: Test: "attribute" annotation has been deprecated, please use "attributes" instead:
+ * Returns: (attribute some.annotation.foo3 val3): the return value
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * AnnotationObject::attribute-signal:
+ * @annotation: the annotation object
+ * @arg1: (attributes some.annotation.foo1): a value
+ * @arg2: (attributes some.annotation.foo2=val2): another value
+ * @arg3: something special
+ * @arg4: (array fixed-size=2): a third value
+ *
+ * This signal tests a signal with attributes.
+ *
+ * Returns: (attributes some.annotation.foo3=val3): the return value
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_closure.xml b/tests/scanner/annotationparser/gi/annotation_closure.xml
new file mode 100644
index 00000000..f67862c5
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_closure.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * AnnotationNotifyFunc:
+ * @data: (closure): The user data
+ *
+ * This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationNotifyFunc</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>data</name>
+ <annotations>
+ <annotation>
+ <name>closure</name>
+ </annotation>
+ </annotations>
+ <description>The user data</description>
+ </parameter>
+ </parameters>
+ <description>This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * AnnotationNotifyFunc:
+ * @data: (closure): The user data
+ *
+ * This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy) (closure data): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_custom_destroy</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>callback</name>
+ <annotations>
+ <annotation>
+ <name>destroy</name>
+ <options>
+ <option>
+ <name>destroy</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>closure</name>
+ <options>
+ <option>
+ <name>data</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Destroy notification</description>
+ </parameter>
+ </parameters>
+ <description>Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy) (closure data): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy) (closure data=invalid): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_custom_destroy</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>callback</name>
+ <annotations>
+ <annotation>
+ <name>destroy</name>
+ <options>
+ <option>
+ <name>destroy</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>closure</name>
+ <options>
+ <option>
+ <name>data=invalid</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Destroy notification</description>
+ </parameter>
+ </parameters>
+ <description>Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</description>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * @callback: (destroy destroy) (closure data=invalid): Destroy notification
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy) (closure data=invalid): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_constructor.xml b/tests/scanner/annotationparser/gi/annotation_constructor.xml
new file mode 100644
index 00000000..8c0aeb28
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_constructor.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * regress_constructor: (constructor)
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_constructor</name>
+ <annotations>
+ <annotation>
+ <name>constructor</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ </docblock>
+ </parser>
+ <output>/**
+ * regress_constructor: (constructor)
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_destroy.xml b/tests/scanner/annotationparser/gi/annotation_destroy.xml
new file mode 100644
index 00000000..e504a962
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_destroy.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy) (closure data): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_custom_destroy</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>callback</name>
+ <annotations>
+ <annotation>
+ <name>destroy</name>
+ <options>
+ <option>
+ <name>destroy</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>closure</name>
+ <options>
+ <option>
+ <name>data</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Destroy notification</description>
+ </parameter>
+ </parameters>
+ <description>Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy) (closure data): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy=invalid) (closure data): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_custom_destroy</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>callback</name>
+ <annotations>
+ <annotation>
+ <name>destroy</name>
+ <options>
+ <option>
+ <name>destroy=invalid</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>closure</name>
+ <options>
+ <option>
+ <name>data</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Destroy notification</description>
+ </parameter>
+ </parameters>
+ <description>Test messing up the heuristic of closure/destroy-notification
+detection, and fixing it via annotations.</description>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * @callback: (destroy destroy=invalid) (closure data): Destroy notification
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_custom_destroy:
+ * @callback: (destroy destroy=invalid) (closure data): Destroy notification
+ *
+ * Test messing up the heuristic of closure/destroy-notification
+ * detection, and fixing it via annotations.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_element_type.xml b/tests/scanner/annotationparser/gi/annotation_element_type.xml
new file mode 100644
index 00000000..65b3dd09
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_element_type.xml
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * foo_test_array:
+ * @a: (element-type):
+ * @b: (element-type x y z):
+ *
+ * Returns: (element-type utf8) (transfer container): returns %NULL.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>foo_test_array</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ </annotation>
+ </annotations>
+ </parameter>
+ <parameter>
+ <name>b</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>x</name>
+ </option>
+ <option>
+ <name>y</name>
+ </option>
+ <option>
+ <name>z</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </parameter>
+ </parameters>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>utf8</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>container</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>returns %NULL.</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: "element-type" annotation takes at least one option, none given</message>
+ <message>4: Warning: Test: "element-type" annotation takes at most 2 options, 3 given</message>
+ </messages>
+ </parser>
+ <output>/**
+ * foo_test_array:
+ * @a: (element-type):
+ * @b: (element-type x y z):
+ *
+ * Returns: (element-type utf8) (transfer container): returns %NULL.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * RegressTestObj::sig-with-hash-prop:
+ * @self: an object
+ * @hash: (element-type utf8 GObject.Value):
+ *
+ * This test signal is like TelepathyGlib's
+ * TpAccount::status-changed
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestObj::sig-with-hash-prop</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>an object</description>
+ </parameter>
+ <parameter>
+ <name>hash</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>utf8</name>
+ </option>
+ <option>
+ <name>GObject.Value</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </parameter>
+ </parameters>
+ <description>This test signal is like TelepathyGlib's
+ TpAccount::status-changed</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * RegressTestObj::sig-with-hash-prop:
+ * @self: an object
+ * @hash: (element-type utf8 GObject.Value):
+ *
+ * This test signal is like TelepathyGlib's
+ * TpAccount::status-changed
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * regress_test_ghash_nested_everything_return2:
+ *
+ * Another way of specifying nested parameterized types: using the
+ * element-type annotation.
+ *
+ * Return value: (element-type utf8 GLib.HashTable<utf8,utf8>) (transfer full):
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_test_ghash_nested_everything_return2</name>
+ </identifier>
+ <description>Another way of specifying nested parameterized types: using the
+element-type annotation.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>utf8</name>
+ </option>
+ <option>
+ <name>GLib.HashTable(utf8,utf8)</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * regress_test_ghash_nested_everything_return2:
+ *
+ * Another way of specifying nested parameterized types: using the
+ * element-type annotation.
+ *
+ * Returns: (element-type utf8 GLib.HashTable(utf8,utf8)) (transfer full):
+ */</output>
+</test>
+
+<test>
+ <input> /**
+ * foo_test_array:
+ *
+ * Returns: (element-type invalid utf8=invalid GLib.HashTable(utf8,utf8)): returns %NULL.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>foo_test_array</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>invalid utf8=invalid GLib.HashTable(utf8,utf8)</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>returns %NULL.</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * Returns: (element-type invalid utf8=invalid GLib.HashTable(utf8,utf8)): returns %NULL.
+ ^</message>
+ </messages>
+ </parser>
+ <output> /**
+ * foo_test_array:
+ *
+ * Returns: (element-type invalid utf8=invalid GLib.HashTable(utf8,utf8)): returns %NULL.
+ */</output>
+</test>
+
+<test>
+ <input> /**
+ * foo_test_array:
+ *
+ * Returns: (element-type utf8=invalid GLib.HashTable(utf8,utf8) invalid): returns %NULL.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>foo_test_array</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>utf8=invalid GLib.HashTable(utf8,utf8) invalid</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>returns %NULL.</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * Returns: (element-type utf8=invalid GLib.HashTable(utf8,utf8) invalid): returns %NULL.
+ ^</message>
+ </messages>
+ </parser>
+ <output> /**
+ * foo_test_array:
+ *
+ * Returns: (element-type utf8=invalid GLib.HashTable(utf8,utf8) invalid): returns %NULL.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_foreign.xml b/tests/scanner/annotationparser/gi/annotation_foreign.xml
new file mode 100644
index 00000000..e65e9747
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_foreign.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * FooForeignStruct: (foreign)
+ *
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>FooForeignStruct</name>
+ <annotations>
+ <annotation>
+ <name>foreign</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ </docblock>
+ </parser>
+ <output>/**
+ * FooForeignStruct: (foreign)
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_get_value_func.xml b/tests/scanner/annotationparser/gi/annotation_get_value_func.xml
new file mode 100644
index 00000000..3e96f837
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_get_value_func.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * RegressTestFundamentalObject: (get-value-func regress_test_value_get_fundamental_object)
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>get-value-func</name>
+ <options>
+ <option>
+ <name>regress_test_value_get_fundamental_object</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (get-value-func regress_test_value_get_fundamental_object)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Get value func:" tag syntax
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * This object tests regressions...
+ *
+ * Get value func: regress_test_value_get_fundamental_object
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>get-value-func</name>
+ <options>
+ <option>
+ <name>regress_test_value_get_fundamental_object</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Get value func" has been deprecated, please use annotations on the identifier instead:
+ * Get value func: regress_test_value_get_fundamental_object
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (get-value-func regress_test_value_get_fundamental_object)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Get value func:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * Get value func: regress_test_value_get_fundamental_object
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>get-value-func</name>
+ <options>
+ <option>
+ <name>regress_test_value_get_fundamental_object</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Get value func" has been deprecated, please use annotations on the identifier instead:
+ * Get value func: regress_test_value_get_fundamental_object
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (get-value-func regress_test_value_get_fundamental_object)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * RegressTestFundamentalObject: (get-value-func regress_test_value_get_fundamental_object=invalid)
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>get-value-func</name>
+ <options>
+ <option>
+ <name>regress_test_value_get_fundamental_object=invalid</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * RegressTestFundamentalObject: (get-value-func regress_test_value_get_fundamental_object=invalid)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (get-value-func regress_test_value_get_fundamental_object=invalid)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_in.xml b/tests/scanner/annotationparser/gi/annotation_in.xml
new file mode 100644
index 00000000..26daf5a6
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_in.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_in:
+ * @object: a #GObject
+ * @inarg: (in) (transfer none): This is an argument test
+ *
+ * This is a test for in arguments
+ *
+ * Return value: an int
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_in</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #GObject</description>
+ </parameter>
+ <parameter>
+ <name>inarg</name>
+ <annotations>
+ <annotation>
+ <name>in</name>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>none</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>This is an argument test</description>
+ </parameter>
+ </parameters>
+ <description>This is a test for in arguments</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>an int</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_in:
+ * @object: a #GObject
+ * @inarg: (in) (transfer none): This is an argument test
+ *
+ * This is a test for in arguments
+ *
+ * Returns: an int
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_in_out.xml b/tests/scanner/annotationparser/gi/annotation_in_out.xml
new file mode 100644
index 00000000..1900229e
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_in_out.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_inout:
+ * @object: a #GObject
+ * @inoutarg: (inout): This is an argument test
+ * @inoutarg2: (in-out): This is an argument test
+ *
+ * This is a test for inout arguments
+ *
+ * Return value: an int
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_inout</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #GObject</description>
+ </parameter>
+ <parameter>
+ <name>inoutarg</name>
+ <annotations>
+ <annotation>
+ <name>inout</name>
+ </annotation>
+ </annotations>
+ <description>This is an argument test</description>
+ </parameter>
+ <parameter>
+ <name>inoutarg2</name>
+ <annotations>
+ <annotation>
+ <name>inout</name>
+ </annotation>
+ </annotations>
+ <description>This is an argument test</description>
+ </parameter>
+ </parameters>
+ <description>This is a test for inout arguments</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>an int</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>5: Warning: Test: "in-out" annotation has been deprecated, please use "inout" instead:
+ * @inoutarg2: (in-out): This is an argument test
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_inout:
+ * @object: a #GObject
+ * @inoutarg: (inout): This is an argument test
+ * @inoutarg2: (inout): This is an argument test
+ *
+ * This is a test for inout arguments
+ *
+ * Returns: an int
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_method.xml b/tests/scanner/annotationparser/gi/annotation_method.xml
new file mode 100644
index 00000000..3b9f1b87
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_method.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * regress_forced_method: (method)
+ * @obj: A #RegressTestObj
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_forced_method</name>
+ <annotations>
+ <annotation>
+ <name>method</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>obj</name>
+ <description>A #RegressTestObj</description>
+ </parameter>
+ </parameters>
+ </docblock>
+ </parser>
+ <output>/**
+ * regress_forced_method: (method)
+ * @obj: A #RegressTestObj
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_out.xml b/tests/scanner/annotationparser/gi/annotation_out.xml
new file mode 100644
index 00000000..7bfc8638
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_out.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_out:
+ * @object: a #GObject
+ * @outarg: (out): This is an argument test
+ *
+ * This is a test for out arguments
+ *
+ * Return value: an int
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_out</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #GObject</description>
+ </parameter>
+ <parameter>
+ <name>outarg</name>
+ <annotations>
+ <annotation>
+ <name>out</name>
+ </annotation>
+ </annotations>
+ <description>This is an argument test</description>
+ </parameter>
+ </parameters>
+ <description>This is a test for out arguments</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>an int</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_out:
+ * @object: a #GObject
+ * @outarg: (out): This is an argument test
+ *
+ * This is a test for out arguments
+ *
+ * Returns: an int
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * regress_test_struct_a_clone:
+ * @a: the structure
+ * @a_out: (out caller-allocates): the cloned structure
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_test_struct_a_clone</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>the structure</description>
+ </parameter>
+ <parameter>
+ <name>a_out</name>
+ <annotations>
+ <annotation>
+ <name>out</name>
+ <options>
+ <option>
+ <name>caller-allocates</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>the cloned structure</description>
+ </parameter>
+ </parameters>
+ </docblock>
+ </parser>
+ <output>/**
+ * regress_test_struct_a_clone:
+ * @a: the structure
+ * @a_out: (out caller-allocates): the cloned structure
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * regress_test_struct_a_clone:
+ * @a: the structure
+ * @a_out: (out callee-allocates): the cloned structure
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_test_struct_a_clone</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>the structure</description>
+ </parameter>
+ <parameter>
+ <name>a_out</name>
+ <annotations>
+ <annotation>
+ <name>out</name>
+ <options>
+ <option>
+ <name>callee-allocates</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>the cloned structure</description>
+ </parameter>
+ </parameters>
+ </docblock>
+ </parser>
+ <output>/**
+ * regress_test_struct_a_clone:
+ * @a: the structure
+ * @a_out: (out callee-allocates): the cloned structure
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * regress_test_struct_a_clone:
+ * @a: (out invalid): the structure
+ * @a_out: (out callee-allocates=invalid): the cloned structure
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_test_struct_a_clone</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <annotations>
+ <annotation>
+ <name>out</name>
+ <options>
+ <option>
+ <name>invalid</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>the structure</description>
+ </parameter>
+ <parameter>
+ <name>a_out</name>
+ <annotations>
+ <annotation>
+ <name>out</name>
+ <options>
+ <option>
+ <name>callee-allocates=invalid</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>the cloned structure</description>
+ </parameter>
+ </parameters>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * @a_out: (out callee-allocates=invalid): the cloned structure
+ ^</message>
+ <message>3: Warning: Test: invalid "out" annotation option: "invalid"</message>
+ <message>4: Warning: Test: invalid "out" annotation option: "callee-allocates=invalid"</message>
+ </messages>
+ </parser>
+ <output>/**
+ * regress_test_struct_a_clone:
+ * @a: (out invalid): the structure
+ * @a_out: (out callee-allocates=invalid): the cloned structure
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_ref_func.xml b/tests/scanner/annotationparser/gi/annotation_ref_func.xml
new file mode 100644
index 00000000..a967102a
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_ref_func.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref)
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>ref-func</name>
+ <options>
+ <option>
+ <name>regress_test_fundamental_object_ref</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Ref func:" tag syntax
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * This object tests regressions...
+ *
+ * Ref func: regress_test_fundamental_object_ref
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>ref-func</name>
+ <options>
+ <option>
+ <name>regress_test_fundamental_object_ref</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Ref func" has been deprecated, please use annotations on the identifier instead:
+ * Ref func: regress_test_fundamental_object_ref
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Ref func:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * Ref func: regress_test_fundamental_object_ref
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>ref-func</name>
+ <options>
+ <option>
+ <name>regress_test_fundamental_object_ref</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Ref func" has been deprecated, please use annotations on the identifier instead:
+ * Ref func: regress_test_fundamental_object_ref
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref=invalid)
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>ref-func</name>
+ <options>
+ <option>
+ <name>regress_test_fundamental_object_ref=invalid</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref=invalid)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref=invalid)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_rename_to.xml b/tests/scanner/annotationparser/gi/annotation_rename_to.xml
new file mode 100644
index 00000000..2987d889
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_rename_to.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_watch_full: (rename-to annotation_object_watch)
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ * @destroy: Destroy notification
+ *
+ * Test overriding via the "Rename To" annotation.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_watch_full</name>
+ <annotations>
+ <annotation>
+ <name>rename-to</name>
+ <options>
+ <option>
+ <name>annotation_object_watch</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>A #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>func</name>
+ <description>The callback</description>
+ </parameter>
+ <parameter>
+ <name>user_data</name>
+ <description>The callback data</description>
+ </parameter>
+ <parameter>
+ <name>destroy</name>
+ <description>Destroy notification</description>
+ </parameter>
+ </parameters>
+ <description>Test overriding via the "Rename To" annotation.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_watch_full: (rename-to annotation_object_watch)
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ * @destroy: Destroy notification
+ *
+ * Test overriding via the "Rename To" annotation.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Rename to:" tag syntax
+ -->
+ <input>/**
+ * annotation_object_watch_full:
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ * @destroy: Destroy notification
+ *
+ * Test overriding via the "Rename To" annotation.
+ *
+ * Rename to: annotation_object_watch
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_watch_full</name>
+ <annotations>
+ <annotation>
+ <name>rename-to</name>
+ <options>
+ <option>
+ <name>annotation_object_watch</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>A #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>func</name>
+ <description>The callback</description>
+ </parameter>
+ <parameter>
+ <name>user_data</name>
+ <description>The callback data</description>
+ </parameter>
+ <parameter>
+ <name>destroy</name>
+ <description>Destroy notification</description>
+ </parameter>
+ </parameters>
+ <description>Test overriding via the "Rename To" annotation.</description>
+ </docblock>
+ <messages>
+ <message>10: Warning: Test: GObject-Introspection specific GTK-Doc tag "Rename to" has been deprecated, please use annotations on the identifier instead:
+ * Rename to: annotation_object_watch
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_watch_full: (rename-to annotation_object_watch)
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ * @destroy: Destroy notification
+ *
+ * Test overriding via the "Rename To" annotation.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Rename to:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * annotation_object_watch_full:
+ *
+ * Rename to: annotation_object_watch
+ *
+ * Test overriding via the "Rename To" annotation.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_watch_full</name>
+ <annotations>
+ <annotation>
+ <name>rename-to</name>
+ <options>
+ <option>
+ <name>annotation_object_watch</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test overriding via the "Rename To" annotation.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Rename to" has been deprecated, please use annotations on the identifier instead:
+ * Rename to: annotation_object_watch
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_watch_full: (rename-to annotation_object_watch)
+ *
+ * Test overriding via the "Rename To" annotation.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_watch_full: (rename-to annotation_object_watch=invalid)
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ * @destroy: Destroy notification
+ *
+ * Test overriding via the "Rename To" annotation.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_watch_full</name>
+ <annotations>
+ <annotation>
+ <name>rename-to</name>
+ <options>
+ <option>
+ <name>annotation_object_watch=invalid</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>A #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>func</name>
+ <description>The callback</description>
+ </parameter>
+ <parameter>
+ <name>user_data</name>
+ <description>The callback data</description>
+ </parameter>
+ <parameter>
+ <name>destroy</name>
+ <description>Destroy notification</description>
+ </parameter>
+ </parameters>
+ <description>Test overriding via the "Rename To" annotation.</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs":
+ * annotation_object_watch_full: (rename-to annotation_object_watch=invalid)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_watch_full: (rename-to annotation_object_watch=invalid)
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ * @destroy: Destroy notification
+ *
+ * Test overriding via the "Rename To" annotation.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_scope.xml b/tests/scanner/annotationparser/gi/annotation_scope.xml
new file mode 100644
index 00000000..3a22274a
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_scope.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_foreach:
+ * @object: a #AnnotationObject
+ * @func: (scope call): Callback to invoke
+ * @user_data: Callback user data
+ *
+ * Test taking a call-scoped callback
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_foreach</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>func</name>
+ <annotations>
+ <annotation>
+ <name>scope</name>
+ <options>
+ <option>
+ <name>call</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>Callback to invoke</description>
+ </parameter>
+ <parameter>
+ <name>user_data</name>
+ <description>Callback user data</description>
+ </parameter>
+ </parameters>
+ <description>Test taking a call-scoped callback</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_foreach:
+ * @object: a #AnnotationObject
+ * @func: (scope call): Callback to invoke
+ * @user_data: Callback user data
+ *
+ * Test taking a call-scoped callback
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * regress_test_callback_destroy_notify:
+ * @callback: (scope notified):
+ *
+ * Notified - callback persists until a DestroyNotify delegate
+ * is invoked.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_test_callback_destroy_notify</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>callback</name>
+ <annotations>
+ <annotation>
+ <name>scope</name>
+ <options>
+ <option>
+ <name>notified</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </parameter>
+ </parameters>
+ <description>Notified - callback persists until a DestroyNotify delegate
+is invoked.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * regress_test_callback_destroy_notify:
+ * @callback: (scope notified):
+ *
+ * Notified - callback persists until a DestroyNotify delegate
+ * is invoked.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * regress_test_callback_async:
+ * @callback: (scope async):
+ *
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_test_callback_async</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>callback</name>
+ <annotations>
+ <annotation>
+ <name>scope</name>
+ <options>
+ <option>
+ <name>async</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </parameter>
+ </parameters>
+ </docblock>
+ </parser>
+ <output>/**
+ * regress_test_callback_async:
+ * @callback: (scope async):
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_set_value_func.xml b/tests/scanner/annotationparser/gi/annotation_set_value_func.xml
new file mode 100644
index 00000000..f98944b5
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_set_value_func.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * RegressTestFundamentalObject: (set-value-func regress_test_value_set_fundamental_object)
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>set-value-func</name>
+ <options>
+ <option>
+ <name>regress_test_value_set_fundamental_object</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (set-value-func regress_test_value_set_fundamental_object)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Set value func:" tag syntax
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * This object tests regressions...
+ *
+ * Set value func: regress_test_value_set_fundamental_object
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>set-value-func</name>
+ <options>
+ <option>
+ <name>regress_test_value_set_fundamental_object</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Set value func" has been deprecated, please use annotations on the identifier instead:
+ * Set value func: regress_test_value_set_fundamental_object
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (set-value-func regress_test_value_set_fundamental_object)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Set value func:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * Set value func: regress_test_value_set_fundamental_object
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>set-value-func</name>
+ <options>
+ <option>
+ <name>regress_test_value_set_fundamental_object</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Set value func" has been deprecated, please use annotations on the identifier instead:
+ * Set value func: regress_test_value_set_fundamental_object
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (set-value-func regress_test_value_set_fundamental_object)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_skip.xml b/tests/scanner/annotationparser/gi/annotation_skip.xml
new file mode 100644
index 00000000..e0352e03
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_skip.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_watch: (skip)
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ *
+ * This is here just for the sake of being overriden by its
+ * annotation_object_watch_full().
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_watch</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>A #AnnotationObject</description>
+ </parameter>
+ <parameter>
+ <name>func</name>
+ <description>The callback</description>
+ </parameter>
+ <parameter>
+ <name>user_data</name>
+ <description>The callback data</description>
+ </parameter>
+ </parameters>
+ <description>This is here just for the sake of being overriden by its
+annotation_object_watch_full().</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_watch: (skip)
+ * @object: A #AnnotationObject
+ * @func: The callback
+ * @user_data: The callback data
+ *
+ * This is here just for the sake of being overriden by its
+ * annotation_object_watch_full().
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_watch: (skip yes)
+ *
+ * This is here just for the sake of being overriden by its
+ * annotation_object_watch_full().
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_watch</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ <options>
+ <option>
+ <name>yes</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is here just for the sake of being overriden by its
+annotation_object_watch_full().</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: "skip" annotation needs no options, 1 given</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_watch: (skip yes)
+ *
+ * This is here just for the sake of being overriden by its
+ * annotation_object_watch_full().
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_transfer.xml b/tests/scanner/annotationparser/gi/annotation_transfer.xml
new file mode 100644
index 00000000..9b4ded1a
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_transfer.xml
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * AnnotationObject::list-signal:
+ * @annotation: the annotation object
+ * @list: (type GLib.List) (element-type utf8) (transfer container): a list of strings
+ *
+ * This is a signal which takes a list of strings, but it's not
+ * known by GObject as it's only marked as G_TYPE_POINTER
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject::list-signal</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>annotation</name>
+ <description>the annotation object</description>
+ </parameter>
+ <parameter>
+ <name>list</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.List</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>utf8</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>container</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a list of strings</description>
+ </parameter>
+ </parameters>
+ <description>This is a signal which takes a list of strings, but it's not
+known by GObject as it's only marked as G_TYPE_POINTER</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * AnnotationObject::list-signal:
+ * @annotation: the annotation object
+ * @list: (type GLib.List) (element-type utf8) (transfer container): a list of strings
+ *
+ * This is a signal which takes a list of strings, but it's not
+ * known by GObject as it's only marked as G_TYPE_POINTER
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_in:
+ * @object: a #GObject
+ * @inarg: (in) (transfer none): This is an argument test
+ *
+ * This is a test for in arguments
+ *
+ * Return value: an int
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_in</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>a #GObject</description>
+ </parameter>
+ <parameter>
+ <name>inarg</name>
+ <annotations>
+ <annotation>
+ <name>in</name>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>none</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>This is an argument test</description>
+ </parameter>
+ </parameters>
+ <description>This is a test for in arguments</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>an int</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_in:
+ * @object: a #GObject
+ * @inarg: (in) (transfer none): This is an argument test
+ *
+ * This is a test for in arguments
+ *
+ * Returns: an int
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_transfer_floating:
+ *
+ * Returns: (transfer floating): A floating object
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_transfer_floating</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>floating</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>A floating object</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_transfer_floating:
+ *
+ * Returns: (transfer floating): A floating object
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * FsSession:codecs-without-config: (transfer full)
+ *
+ * This is the same list of codecs as #FsSession:codecs
+ * without....
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>FsSession:codecs-without-config</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is the same list of codecs as #FsSession:codecs
+without....</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * FsSession:codecs-without-config: (transfer full)
+ *
+ * This is the same list of codecs as #FsSession:codecs
+ * without....
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Transfer:" tag syntax
+ -->
+ <input>/**
+ * FsSession:codecs-without-config:
+ *
+ * This is the same list of codecs as #FsSession:codecs
+ * without....
+ *
+ * Transfer: full
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>FsSession:codecs-without-config</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is the same list of codecs as #FsSession:codecs
+without....</description>
+ </docblock>
+ <messages>
+ <message>7: Warning: Test: GObject-Introspection specific GTK-Doc tag "Transfer" has been deprecated, please use annotations on the identifier instead:
+ * Transfer: full
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * FsSession:codecs-without-config: (transfer full)
+ *
+ * This is the same list of codecs as #FsSession:codecs
+ * without....
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Transfer:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * FsSession:codecs-without-config:
+ *
+ * Transfer: full
+ *
+ * This is the same list of codecs as #FsSession:codecs
+ * without....
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>FsSession:codecs-without-config</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is the same list of codecs as #FsSession:codecs
+without....</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Transfer" has been deprecated, please use annotations on the identifier instead:
+ * Transfer: full
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * FsSession:codecs-without-config: (transfer full)
+ *
+ * This is the same list of codecs as #FsSession:codecs
+ * without....
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_type.xml b/tests/scanner/annotationparser/gi/annotation_type.xml
new file mode 100644
index 00000000..c3d6351d
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_type.xml
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * AnnotationObject::list-signal:
+ * @annotation: the annotation object
+ * @list: (type GLib.List) (element-type utf8) (transfer container): a list of strings
+ *
+ * This is a signal which takes a list of strings, but it's not
+ * known by GObject as it's only marked as G_TYPE_POINTER
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject::list-signal</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>annotation</name>
+ <description>the annotation object</description>
+ </parameter>
+ <parameter>
+ <name>list</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.List</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>utf8</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>container</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a list of strings</description>
+ </parameter>
+ </parameters>
+ <description>This is a signal which takes a list of strings, but it's not
+known by GObject as it's only marked as G_TYPE_POINTER</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * AnnotationObject::list-signal:
+ * @annotation: the annotation object
+ * @list: (type GLib.List) (element-type utf8) (transfer container): a list of strings
+ *
+ * This is a signal which takes a list of strings, but it's not
+ * known by GObject as it's only marked as G_TYPE_POINTER
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * AnnotationObject:hash-table: (type GLib.HashTable(utf8,gint8)) (transfer container)
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject:hash-table</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,gint8)</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>container</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ </docblock>
+ </parser>
+ <output>/**
+ * AnnotationObject:hash-table: (type GLib.HashTable(utf8,gint8)) (transfer container)
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated inequality sign/angled brackets notation.
+ -->
+ <input><![CDATA[/**
+ * AnnotationObject:hash-table: (type GLib.HashTable<utf8,gint8>) (transfer container)
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>AnnotationObject:hash-table</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,gint8)</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>container</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ </docblock>
+ </parser>
+ <output>/**
+ * AnnotationObject:hash-table: (type GLib.HashTable(utf8,gint8)) (transfer container)
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Type:" tag syntax
+ -->
+ <input>/**
+ * RegressTestObj:hash-table:
+ *
+ * Test.
+ *
+ * Type: GLib.HashTable(utf8,gint8)
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestObj:hash-table</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,gint8)</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test.</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Type" has been deprecated, please use annotations on the identifier instead:
+ * Type: GLib.HashTable(utf8,gint8)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestObj:hash-table: (type GLib.HashTable(utf8,gint8))
+ *
+ * Test.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Type:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * RegressTestObj:hash-table:
+ *
+ * Type: GLib.HashTable(utf8,gint8)
+ *
+ * Test.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestObj:hash-table</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,gint8)</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Type" has been deprecated, please use annotations on the identifier instead:
+ * Type: GLib.HashTable(utf8,gint8)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestObj:hash-table: (type GLib.HashTable(utf8,gint8))
+ *
+ * Test.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated angled brackets in deprecated "Type:" tag syntax
+ -->
+ <input><![CDATA[/**
+ * RegressTestObj:hash-table:
+ *
+ * Test.
+ *
+ * Type: GLib.HashTable<utf8,gint8>
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestObj:hash-table</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,gint8)</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test.</description>
+ </docblock>
+ <messages>
+ <message><![CDATA[6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Type" has been deprecated, please use annotations on the identifier instead:
+ * Type: GLib.HashTable<utf8,gint8>
+ ^]]></message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestObj:hash-table: (type GLib.HashTable(utf8,gint8))
+ *
+ * Test.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_unref_func.xml b/tests/scanner/annotationparser/gi/annotation_unref_func.xml
new file mode 100644
index 00000000..59f3f8d4
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_unref_func.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * RegressTestFundamentalObject: (unref-func regress_test_fundamental_object_unref)
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>unref-func</name>
+ <options>
+ <option>
+ <name>regress_test_fundamental_object_unref</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (unref-func regress_test_fundamental_object_unref)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Unref func:" tag syntax
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * This object tests regressions...
+ *
+ * Unref func: regress_test_fundamental_object_unref
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>unref-func</name>
+ <options>
+ <option>
+ <name>regress_test_fundamental_object_unref</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Unref func" has been deprecated, please use annotations on the identifier instead:
+ * Unref func: regress_test_fundamental_object_unref
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (unref-func regress_test_fundamental_object_unref)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Unref func:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * RegressTestFundamentalObject:
+ *
+ * Unref func: regress_test_fundamental_object_unref
+ *
+ * This object tests regressions...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>RegressTestFundamentalObject</name>
+ <annotations>
+ <annotation>
+ <name>unref-func</name>
+ <options>
+ <option>
+ <name>regress_test_fundamental_object_unref</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This object tests regressions...</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Unref func" has been deprecated, please use annotations on the identifier instead:
+ * Unref func: regress_test_fundamental_object_unref
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * RegressTestFundamentalObject: (unref-func regress_test_fundamental_object_unref)
+ *
+ * This object tests regressions...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_value.xml b/tests/scanner/annotationparser/gi/annotation_value.xml
new file mode 100644
index 00000000..7d72ef71
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_value.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * ANNOTATION_CALCULATED_LARGE: (value 10000000000UL)
+ *
+ * Constant to define a calculated large value
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>ANNOTATION_CALCULATED_LARGE</name>
+ <annotations>
+ <annotation>
+ <name>value</name>
+ <options>
+ <option>
+ <name>10000000000UL</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Constant to define a calculated large value</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * ANNOTATION_CALCULATED_LARGE: (value 10000000000UL)
+ *
+ * Constant to define a calculated large value
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Value:" tag syntax
+ -->
+ <input>/**
+ * ANNOTATION_CALCULATED_LARGE:
+ *
+ * Constant to define a calculated large value
+ *
+ * Value: 10000000000UL
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>ANNOTATION_CALCULATED_LARGE</name>
+ <annotations>
+ <annotation>
+ <name>value</name>
+ <options>
+ <option>
+ <name>10000000000UL</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Constant to define a calculated large value</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GObject-Introspection specific GTK-Doc tag "Value" has been deprecated, please use annotations on the identifier instead:
+ * Value: 10000000000UL
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * ANNOTATION_CALCULATED_LARGE: (value 10000000000UL)
+ *
+ * Constant to define a calculated large value
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Value:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * ANNOTATION_CALCULATED_LARGE:
+ *
+ * Value: 10000000000UL
+ *
+ * Constant to define a calculated large value
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>ANNOTATION_CALCULATED_LARGE</name>
+ <annotations>
+ <annotation>
+ <name>value</name>
+ <options>
+ <option>
+ <name>10000000000UL</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Constant to define a calculated large value</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Value" has been deprecated, please use annotations on the identifier instead:
+ * Value: 10000000000UL
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * ANNOTATION_CALCULATED_LARGE: (value 10000000000UL)
+ *
+ * Constant to define a calculated large value
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotation_virtual.xml b/tests/scanner/annotationparser/gi/annotation_virtual.xml
new file mode 100644
index 00000000..3321eea0
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotation_virtual.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * foo_object_read: (virtual read_fn)
+ * @object: obj
+ * @offset: offset
+ * @length: length
+ *
+ * Read some stuff.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>foo_object_read</name>
+ <annotations>
+ <annotation>
+ <name>virtual</name>
+ <options>
+ <option>
+ <name>read_fn</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>obj</description>
+ </parameter>
+ <parameter>
+ <name>offset</name>
+ <description>offset</description>
+ </parameter>
+ <parameter>
+ <name>length</name>
+ <description>length</description>
+ </parameter>
+ </parameters>
+ <description>Read some stuff.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * foo_object_read: (virtual read_fn)
+ * @object: obj
+ * @offset: offset
+ * @length: length
+ *
+ * Read some stuff.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Virtual:" tag syntax
+ -->
+ <input>/**
+ * foo_object_read:
+ * @object: obj
+ * @offset: offset
+ * @length: length
+ *
+ * Read some stuff.
+ *
+ * Virtual: read_fn
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>foo_object_read</name>
+ <annotations>
+ <annotation>
+ <name>virtual</name>
+ <options>
+ <option>
+ <name>read_fn</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>obj</description>
+ </parameter>
+ <parameter>
+ <name>offset</name>
+ <description>offset</description>
+ </parameter>
+ <parameter>
+ <name>length</name>
+ <description>length</description>
+ </parameter>
+ </parameters>
+ <description>Read some stuff.</description>
+ </docblock>
+ <messages>
+ <message>9: Warning: Test: GObject-Introspection specific GTK-Doc tag "Virtual" has been deprecated, please use annotations on the identifier instead:
+ * Virtual: read_fn
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * foo_object_read: (virtual read_fn)
+ * @object: obj
+ * @offset: offset
+ * @length: length
+ *
+ * Read some stuff.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Virtual:" tag syntax in the wrong location
+ -->
+ <input>/**
+ * foo_object_read:
+ *
+ * Virtual: read_fn
+ *
+ * Read some stuff.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>foo_object_read</name>
+ <annotations>
+ <annotation>
+ <name>virtual</name>
+ <options>
+ <option>
+ <name>read_fn</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Read some stuff.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Virtual" has been deprecated, please use annotations on the identifier instead:
+ * Virtual: read_fn
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * foo_object_read: (virtual read_fn)
+ *
+ * Read some stuff.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/annotations.xml b/tests/scanner/annotationparser/gi/annotations.xml
new file mode 100644
index 00000000..a7ca8e74
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/annotations.xml
@@ -0,0 +1,637 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_test: (skip) (skip)
+ *
+ * Oops.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Oops.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: multiple "skip" annotations:
+ * annotation_test: (skip) (skip)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test: (skip)
+ *
+ * Oops.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (hello) (world)
+ * @param: (invalid-annotation-option): sizeof (x) == 1
+ *
+ * Test unknown annotations without options.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ <annotations>
+ <annotation>
+ <name>hello</name>
+ </annotation>
+ <annotation>
+ <name>world</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param</name>
+ <annotations>
+ <annotation>
+ <name>invalid-annotation-option</name>
+ </annotation>
+ </annotations>
+ <description>sizeof (x) == 1</description>
+ </parameter>
+ </parameters>
+ <description>Test unknown annotations without options.</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: unknown annotation: hello</message>
+ <message>2: Warning: Test: unknown annotation: world</message>
+ <message>3: Warning: Test: unknown annotation: invalid-annotation-option</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test: (hello) (world)
+ * @param: (invalid-annotation-option): sizeof (x) == 1
+ *
+ * Test unknown annotations without options.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: some data: (foo bar)
+ *
+ * Oops.
+ */</input>
+ <parser>
+ <messages>
+ <message>2: Error: Test: identifier not found on the first line:
+ * annotation_test: some data: (foo bar)
+ ^</message>
+ </messages>
+ </parser>
+</test>
+
+<test>
+ <input>/**
+ * annotationtest some data (foo bar)
+ * @object: some data (foo bar)
+ *
+ * Oops.
+ */</input>
+ <parser>
+ <messages>
+ <message>2: Error: Test: identifier not found on the first line:
+ * annotationtest some data (foo bar)
+ ^</message>
+ </messages>
+ </parser>
+</test>
+
+<test>
+ <input>/**
+ * annotationtest
+ * @object: some data (foo bar)
+ *
+ * Oops.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotationtest</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <description>some data (foo bar)</description>
+ </parameter>
+ </parameters>
+ <description>Oops.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotationtest:
+ * @object: some data (foo bar)
+ *
+ * Oops.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: )skip)
+ *
+ * Oops.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <description>Oops.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * annotation_test: )skip)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ *
+ * Oops.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (hello)(world)
+ *
+ * Test unknown annotations without options.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ <annotations>
+ <annotation>
+ <name>hello</name>
+ </annotation>
+ <annotation>
+ <name>world</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test unknown annotations without options.</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: unknown annotation: hello</message>
+ <message>2: Warning: Test: unknown annotation: world</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test: (hello) (world)
+ *
+ * Test unknown annotations without options.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (hello x=y z ) (world something else)
+ *
+ * Test unknown annotations with options.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ <annotations>
+ <annotation>
+ <name>hello</name>
+ <options>
+ <option>
+ <name>x=y z</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>world</name>
+ <options>
+ <option>
+ <name>something else</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test unknown annotations with options.</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: unknown annotation: hello</message>
+ <message>2: Warning: Test: unknown annotation: world</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test: (hello x=y z) (world something else)
+ *
+ * Test unknown annotations with options.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test:
+ * @test: (element-type gint gint) (transfer none)
+ *
+ * Test multiple identical option names.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>test</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>gint</name>
+ </option>
+ <option>
+ <name>gint</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>none</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </parameter>
+ </parameters>
+ <description>Test multiple identical option names.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_test:
+ * @test: (element-type gint gint) (transfer none):
+ *
+ * Test multiple identical option names.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (type GLib.HashTable(utf8,gint8)) (attributes x=1 y=2)
+ *
+ * Test nested parentheses.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,gint8)</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>x</name>
+ <value>1</value>
+ </option>
+ <option>
+ <name>y</name>
+ <value>2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test nested parentheses.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_test: (type GLib.HashTable(utf8,gint8)) (attributes x=1 y=2)
+ *
+ * Test nested parentheses.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (type GLib.HashTable(utf8,GLib.HashTable(utf8,gint8))) (attributes x=1 y=2)
+ *
+ * Test nested parentheses.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,GLib.HashTable(utf8,gint8))</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>x</name>
+ <value>1</value>
+ </option>
+ <option>
+ <name>y</name>
+ <value>2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test nested parentheses.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_test: (type GLib.HashTable(utf8,GLib.HashTable(utf8,gint8))) (attributes x=1 y=2)
+ *
+ * Test nested parentheses.
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * annotation_test: (type GLib.HashTable<utf8,GLib.HashTable<utf8,gint8>>) (attributes x=1 y=2)
+ *
+ * Test deprecated angled brackets.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.HashTable(utf8,GLib.HashTable(utf8,gint8))</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>attributes</name>
+ <options>
+ <option>
+ <name>x</name>
+ <value>1</value>
+ </option>
+ <option>
+ <name>y</name>
+ <value>2</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Test deprecated angled brackets.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_test: (type GLib.HashTable(utf8,GLib.HashTable(utf8,gint8))) (attributes x=1 y=2)
+ *
+ * Test deprecated angled brackets.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: ((skip)
+ *
+ * Test too many '('.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <description>Test too many '('.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: unexpected parentheses, annotations will be ignored:
+ * annotation_test: ((skip)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ *
+ * Test too many '('.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (skip) element-type (int))
+ *
+ * Test missing '('.
+ */</input>
+ <parser>
+ <messages>
+ <message>2: Error: Test: identifier not found on the first line:
+ * annotation_test: (skip) element-type (int))
+ ^</message>
+ </messages>
+ </parser>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: ()
+ *
+ * Closing should not follow an opening parentheses.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <description>Closing should not follow an opening parentheses.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: unexpected parentheses, annotations will be ignored:
+ * annotation_test: ()
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ *
+ * Closing should not follow an opening parentheses.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (hello()) (world(())) (foo)
+ *
+ * Closing should not follow an opening parentheses.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <description>Closing should not follow an opening parentheses.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: unexpected parentheses, annotations will be ignored:
+ * annotation_test: (hello()) (world(())) (foo)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ *
+ * Closing should not follow an opening parentheses.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (skip)) (type uint))
+ *
+ * Test too many ')'.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <description>Test too many ')'.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * annotation_test: (skip)) (type uint))
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ *
+ * Test too many ')'.
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * annotation_test:
+ * @test: (type GLib.HashTableutf8,gint8)) (element-type <int>)
+ *
+ * Test missing '('.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>test</name>
+ </parameter>
+ </parameters>
+ <description>Test missing '('.</description>
+ </docblock>
+ <messages>
+ <message><![CDATA[3: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * @test: (type GLib.HashTableutf8,gint8)) (element-type <int>)
+ ^]]></message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ * @test:
+ *
+ * Test missing '('.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_test: (skip (element-type (int))
+ *
+ * Test missing ')'.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <description>Test missing ')'.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * annotation_test: (skip (element-type (int))
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ *
+ * Test missing ')'.
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * annotation_test:
+ * @test: (type GLib.HashTable(utf8,gint8) (element-type <int>)
+ *
+ * Test missing ')'.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_test</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>test</name>
+ </parameter>
+ </parameters>
+ <description>Test missing ')'.</description>
+ </docblock>
+ <messages>
+ <message><![CDATA[3: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * @test: (type GLib.HashTable(utf8,gint8) (element-type <int>)
+ ^]]></message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_test:
+ * @test:
+ *
+ * Test missing ')'.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/identifier.xml b/tests/scanner/annotationparser/gi/identifier.xml
new file mode 100644
index 00000000..eb090307
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/identifier.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <!--
+ Identifier part not on the first line.
+ -->
+ <input>/**
+ * This is not a valid section identifier
+ * SECTION:test_invalid_section_identifier
+ *
+ * Above identifier is not on the first line.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test_invalid_section_identifier</name>
+ </identifier>
+ <description>Above identifier is not on the first line.</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: identifier not found on the first line:
+ * This is not a valid section identifier
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:test_invalid_section_identifier
+ *
+ * Above identifier is not on the first line.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Identifier part not on the first line.
+ -->
+ <input>/**
+
+
+
+* SECTION:meepapp
+*/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:meepapp</name>
+ </identifier>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: identifier not found on the first line:
+
+^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:meepapp
+ */</output>
+</test>
+
+<test>
+ <!--
+ Multiple identifier parts
+ -->
+ <input>/**
+ * SECTION:meepapp
+ * SECTION:meepapp2
+ * @short_description: the application class
+ *
+ * The application class handles ...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:meepapp</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>the application class</description>
+ </parameter>
+ </parameters>
+ <description>SECTION:meepapp2
+The application class handles ...</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ *
+ * SECTION:meepapp2
+ * The application class handles ...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Invalid identifier
+ -->
+ <input>/**
+ * gnm_cell_set_expr_and_value: Stores (WITHOUT COPYING) the supplied value, and
+ * references the supplied expression and links it into the expression
+ * list. It marks the sheet as dirty. It is intended for use by import
+ * routines or operations that do bulk assignment.
+ *
+ * WARNING : This is an internal routine that does not queue redraws,
+ * does not auto-resize, does not calculate spans, and does
+ * not render the value.
+ *
+ * NOTE : This DOES check for array partitioning.
+ */</input>
+ <parser>
+ <messages>
+ <message>2: Error: Test: identifier not found on the first line:
+ * gnm_cell_set_expr_and_value: Stores (WITHOUT COPYING) the supplied value, and
+ ^</message>
+ </messages>
+ </parser>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/identifier_section.xml b/tests/scanner/annotationparser/gi/identifier_section.xml
new file mode 100644
index 00000000..fad2b2ed
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/identifier_section.xml
@@ -0,0 +1,332 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <!--
+ Section documentation including all optional metadata.
+ -->
+ <input>/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:meepapp</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>the application class</description>
+ </parameter>
+ <parameter>
+ <name>title</name>
+ <description>Meep application</description>
+ </parameter>
+ <parameter>
+ <name>section_id</name>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#MeepSettings</description>
+ </parameter>
+ <parameter>
+ <name>stability</name>
+ <description>Stable</description>
+ </parameter>
+ <parameter>
+ <name>include</name>
+ <description>meep/app.h</description>
+ </parameter>
+ <parameter>
+ <name>image</name>
+ <description>application.png</description>
+ </parameter>
+ </parameters>
+ <description>The application class handles ...</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Broken comment block with empty line between identifier and parameters parts.
+ -->
+ <input>/**
+ * SECTION:meepapp
+ *
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:meepapp</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>the application class</description>
+ </parameter>
+ <parameter>
+ <name>title</name>
+ <description>Meep application</description>
+ </parameter>
+ <parameter>
+ <name>section_id</name>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#MeepSettings</description>
+ </parameter>
+ <parameter>
+ <name>stability</name>
+ <description>Stable</description>
+ </parameter>
+ <parameter>
+ <name>include</name>
+ <description>meep/app.h</description>
+ </parameter>
+ <parameter>
+ <name>image</name>
+ <description>application.png</description>
+ </parameter>
+ </parameters>
+ <description>The application class handles ...</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: "@short_description" parameter unexpected at this location:
+ * @short_description: the application class
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Broken comment block with description part before parameters part, without empty line.
+ -->
+ <input>/**
+ * SECTION:meepapp
+ *
+ * The application class handles ...
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:meepapp</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>the application class</description>
+ </parameter>
+ <parameter>
+ <name>title</name>
+ <description>Meep application</description>
+ </parameter>
+ <parameter>
+ <name>section_id</name>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#MeepSettings</description>
+ </parameter>
+ <parameter>
+ <name>stability</name>
+ <description>Stable</description>
+ </parameter>
+ <parameter>
+ <name>include</name>
+ <description>meep/app.h</description>
+ </parameter>
+ <parameter>
+ <name>image</name>
+ <description>application.png</description>
+ </parameter>
+ </parameters>
+ <description>The application class handles ...</description>
+ </docblock>
+ <messages>
+ <message>5: Warning: Test: "@short_description" parameter unexpected at this location:
+ * @short_description: the application class
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Broken comment block with description part before parameters part, with empty line.
+ -->
+ <input>/**
+ * SECTION:meepapp
+ *
+ * The application class handles ...
+ *
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:meepapp</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>the application class</description>
+ </parameter>
+ <parameter>
+ <name>title</name>
+ <description>Meep application</description>
+ </parameter>
+ <parameter>
+ <name>section_id</name>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#MeepSettings</description>
+ </parameter>
+ <parameter>
+ <name>stability</name>
+ <description>Stable</description>
+ </parameter>
+ <parameter>
+ <name>include</name>
+ <description>meep/app.h</description>
+ </parameter>
+ <parameter>
+ <name>image</name>
+ <description>application.png</description>
+ </parameter>
+ </parameters>
+ <description>The application class handles ...</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: "@short_description" parameter unexpected at this location:
+ * @short_description: the application class
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ * @title: Meep application
+ * @section_id:
+ * @see_also: #MeepSettings
+ * @stability: Stable
+ * @include: meep/app.h
+ * @image: application.png
+ *
+ * The application class handles ...
+ */</output>
+</test>
+
+<test>
+ <!--
+ Old style implicit returns.
+ https://bugzilla.gnome.org/show_bug.cgi?id=457077
+ -->
+ <input>/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:tester</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>module for gtk-doc unit test</description>
+ </parameter>
+ </parameters>
+ <description>This file contains non-sense code for the sole purpose of testing the docs.
+
+As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+returns nothing.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/identifier_symbol.xml b/tests/scanner/annotationparser/gi/identifier_symbol.xml
new file mode 100644
index 00000000..522f1fa8
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/identifier_symbol.xml
@@ -0,0 +1,435 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * test_symbol
+ *
+ * test_symbol does something nifty.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_symbol</name>
+ </identifier>
+ <description>test_symbol does something nifty.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_symbol:
+ *
+ * test_symbol does something nifty.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_symbol_unnecessary_colon:
+ *
+ * Unnecessary colon.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_symbol_unnecessary_colon</name>
+ </identifier>
+ <description>Unnecessary colon.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_symbol_unnecessary_colon:
+ *
+ * Unnecessary colon.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_annotated_symbol: (skip)
+ *
+ * test_annotated_symbol does something nifty.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_annotated_symbol</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>test_annotated_symbol does something nifty.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_annotated_symbol: (skip)
+ *
+ * test_annotated_symbol does something nifty.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_symbol_missing_colon (skip)
+ *
+ * Missing colon will result in a warning.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_symbol_missing_colon</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Missing colon will result in a warning.</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: missing ":" at column 30:
+ * test_symbol_missing_colon (skip)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_symbol_missing_colon: (skip)
+ *
+ * Missing colon will result in a warning.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_malformed_symbol: (skip):
+ *
+ * Malformed symbol identifier.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_malformed_symbol</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Malformed symbol identifier.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_malformed_symbol: (skip)
+ *
+ * Malformed symbol identifier.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget:test_property
+ *
+ * Some property.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget:test_property</name>
+ </identifier>
+ <description>Some property.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget:test_property:
+ *
+ * Some property.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget:test_property_unnecessary_colon:
+ *
+ * Unnecessary colon.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget:test_property_unnecessary_colon</name>
+ </identifier>
+ <description>Unnecessary colon.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget:test_property_unnecessary_colon:
+ *
+ * Unnecessary colon.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget:test_annotated_property: (skip)
+ *
+ * Some annotated property.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget:test_annotated_property</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Some annotated property.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget:test_annotated_property: (skip)
+ *
+ * Some annotated property.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget:test_property_missing_colon (skip)
+ *
+ * Missing colon will result in a warning.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget:test_property_missing_colon</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Missing colon will result in a warning.</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: missing ":" at column 42:
+ * GtkWidget:test_property_missing_colon (skip)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * GtkWidget:test_property_missing_colon: (skip)
+ *
+ * Missing colon will result in a warning.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget:test_malformed_property: (skip):
+ *
+ * Malformed property identifier.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget:test_malformed_property</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Malformed property identifier.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget:test_malformed_property: (skip)
+ *
+ * Malformed property identifier.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget::test_signal
+ *
+ * Some signal.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget::test_signal</name>
+ </identifier>
+ <description>Some signal.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget::test_signal:
+ *
+ * Some signal.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget::test_signal_unnecessary_colon:
+ *
+ * Unnecessary colon.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget::test_signal_unnecessary_colon</name>
+ </identifier>
+ <description>Unnecessary colon.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget::test_signal_unnecessary_colon:
+ *
+ * Unnecessary colon.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget::test_annotated_signal: (skip)
+ *
+ * Some annotated signal.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget::test_annotated_signal</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Some annotated signal.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget::test_annotated_signal: (skip)
+ *
+ * Some annotated signal.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget::test_signal_missing_colon (skip)
+ *
+ * Missing colon will result in a warning.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget::test_signal_missing_colon</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Missing colon will result in a warning.</description>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: missing ":" at column 41:
+ * GtkWidget::test_signal_missing_colon (skip)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * GtkWidget::test_signal_missing_colon: (skip)
+ *
+ * Missing colon will result in a warning.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkWidget::test_malformed_signal: (skip):
+ *
+ * Malformed signal identifier.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkWidget::test_malformed_signal</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>Malformed signal identifier.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkWidget::test_malformed_signal: (skip)
+ *
+ * Malformed signal identifier.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_multiline_annotations_on_identifier: (skip)
+ * (foreign)
+ * @param1: (allow-none) (transfer full): first parameter
+ *
+ * Annotations spanning multiple lines are not valid
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiline_annotations_on_identifier</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>first parameter</description>
+ </parameter>
+ </parameters>
+ <description>(foreign)
+Annotations spanning multiple lines are not valid</description>
+ </docblock>
+ <messages>
+ <message>3: Error: Test: ignoring invalid multiline annotation continuation:
+ * (foreign)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiline_annotations_on_identifier: (skip)
+ * @param1: (allow-none) (transfer full): first parameter
+ *
+ * (foreign)
+ * Annotations spanning multiple lines are not valid
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/parameter.xml b/tests/scanner/annotationparser/gi/parameter.xml
new file mode 100644
index 00000000..43f97b3f
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/parameter.xml
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * test_parameter_missing_colon:
+ * @param1: (allow-none) first parameter
+ *
+ * Forgotten colon above will result in a warning.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_parameter_missing_colon</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>first parameter</description>
+ </parameter>
+ </parameters>
+ <description>Forgotten colon above will result in a warning.</description>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: missing ":" at column 25:
+ * @param1: (allow-none) first parameter
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_parameter_missing_colon:
+ * @param1: (allow-none): first parameter
+ *
+ * Forgotten colon above will result in a warning.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_unexpected_parameter:
+ *
+ * Parameters should go before the comment block description.
+ *
+ * @param1: first parameter
+ * Returns: something
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_unexpected_parameter</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <description>first parameter</description>
+ </parameter>
+ </parameters>
+ <description>Parameters should go before the comment block description.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>something</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: "@param1" parameter unexpected at this location:
+ * @param1: first parameter
+ ^</message>
+ <message>7: Warning: Test: "Returns:" tag unexpected at this location:
+ * Returns: something
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_unexpected_parameter:
+ * @param1: first parameter
+ *
+ * Parameters should go before the comment block description.
+ *
+ * Returns: something
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_multiple_parameters:
+ * @param1: first parameter
+ * @param1: first parameter again
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiple_parameters</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <description>first parameter again</description>
+ </parameter>
+ </parameters>
+ </docblock>
+ <messages>
+ <message>4: Error: Test: multiple "@param1" parameters for identifier "test_multiple_parameters":
+ * @param1: first parameter again
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiple_parameters:
+ * @param1: first parameter again
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_multiline_annotations_on_parameter:
+ * @param1: (allow-none)
+ * (transfer full): first parameter
+ *
+ * Annotations spanning multiple lines are not valid
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiline_annotations_on_parameter</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>
+(transfer full): first parameter</description>
+ </parameter>
+ </parameters>
+ <description>Annotations spanning multiple lines are not valid</description>
+ </docblock>
+ <messages>
+ <message>4: Error: Test: ignoring invalid multiline annotation continuation:
+ * (transfer full): first parameter
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiline_annotations_on_parameter:
+ * @param1: (allow-none):
+ * (transfer full): first parameter
+ *
+ * Annotations spanning multiple lines are not valid
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_multiline_annotations_on_parameter:
+ * @param1: (allow-none): first parameter having a second line which looks
+ * (like an annotation), but isn't. This should not result in a warning.
+ *
+ * Annotations spanning multiple lines are not valid
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiline_annotations_on_parameter</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>first parameter having a second line which looks
+(like an annotation), but isn't. This should not result in a warning.</description>
+ </parameter>
+ </parameters>
+ <description>Annotations spanning multiple lines are not valid</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_multiline_annotations_on_parameter:
+ * @param1: (allow-none): first parameter having a second line which looks
+ * (like an annotation), but isn't. This should not result in a warning.
+ *
+ * Annotations spanning multiple lines are not valid
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * anjuta_async_notify_get_error:
+ *
+ * @self: An #AnjutaAsyncNotify object
+ * @error: Return location for the error set by the called interface to which
+ * this object was passed. If no error is set, @error is set to NULL.
+ *
+ * Gets the error set on @self.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>anjuta_async_notify_get_error</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>An #AnjutaAsyncNotify object</description>
+ </parameter>
+ <parameter>
+ <name>error</name>
+ <description>Return location for the error set by the called interface to which
+ this object was passed. If no error is set, @error is set to NULL.</description>
+ </parameter>
+ </parameters>
+ <description>Gets the error set on @self.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: "@self" parameter unexpected at this location:
+ * @self: An #AnjutaAsyncNotify object
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * anjuta_async_notify_get_error:
+ * @self: An #AnjutaAsyncNotify object
+ * @error: Return location for the error set by the called interface to which
+ * this object was passed. If no error is set, @error is set to NULL.
+ *
+ * Gets the error set on @self.
+ */</output>
+</test>
+
+<test>
+ <input> /**
+ * GtkPrintOperation::done
+ * @operation: the #GtkPrintOperation on which the signal was emitted
+ * @result: the result of the print operation
+ *
+ * Emitted when the print operation run has finished doing
+ * everything required for printing.
+ *
+ * @result gives you information about what happened during the run.
+ * If @result is %GTK_PRINT_OPERATION_RESULT_ERROR then you can call
+ * gtk_print_operation_get_error() for more information.
+ *
+ * If you enabled print status tracking then
+ * gtk_print_operation_is_finished() may still return %FALSE
+ * after #GtkPrintOperation::done was emitted.
+ *
+ * Since: 2.10
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkPrintOperation::done</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>operation</name>
+ <description>the #GtkPrintOperation on which the signal was emitted</description>
+ </parameter>
+ <parameter>
+ <name>result</name>
+ <description>the result of the print operation</description>
+ </parameter>
+ </parameters>
+ <description>Emitted when the print operation run has finished doing
+everything required for printing.
+
+@result gives you information about what happened during the run.
+If @result is %GTK_PRINT_OPERATION_RESULT_ERROR then you can call
+gtk_print_operation_get_error() for more information.
+
+If you enabled print status tracking then
+gtk_print_operation_is_finished() may still return %FALSE
+after #GtkPrintOperation::done was emitted.</description>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>2.10</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkPrintOperation::done:
+ * @operation: the #GtkPrintOperation on which the signal was emitted
+ * @result: the result of the print operation
+ *
+ * Emitted when the print operation run has finished doing
+ * everything required for printing.
+ *
+ * @result gives you information about what happened during the run.
+ * If @result is %GTK_PRINT_OPERATION_RESULT_ERROR then you can call
+ * gtk_print_operation_get_error() for more information.
+ *
+ * If you enabled print status tracking then
+ * gtk_print_operation_is_finished() may still return %FALSE
+ * after #GtkPrintOperation::done was emitted.
+ *
+ * Since: 2.10
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * TrackerDirectoryFlags:
+ * @TRACKER_DIRECTORY_FLAG_NONE: No flags.
+ * @TRACKER_DIRECTORY_FLAG_RECURSE: Should recurse in the directory.
+ * @TRACKER_DIRECTORY_FLAG_CHECK_MTIME: Should check mtimes of items in the directory.
+ * @TRACKER_DIRECTORY_FLAG_MONITOR: Should setup monitors in the items found in the directory.
+ * @TRACKER_DIRECTORY_FLAG_IGNORE: Should ignore the directory contents.
+ * @TRACKER_DIRECTORY_FLAG_PRESERVE: Should preserve items in the directory even if the directory gets removed.
+ *
+ * Flags used when adding a new directory to be indexed in the #TrackerIndexingTree.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>TrackerDirectoryFlags</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>TRACKER_DIRECTORY_FLAG_NONE</name>
+ <description>No flags.</description>
+ </parameter>
+ <parameter>
+ <name>TRACKER_DIRECTORY_FLAG_RECURSE</name>
+ <description>Should recurse in the directory.</description>
+ </parameter>
+ <parameter>
+ <name>TRACKER_DIRECTORY_FLAG_CHECK_MTIME</name>
+ <description>Should check mtimes of items in the directory.</description>
+ </parameter>
+ <parameter>
+ <name>TRACKER_DIRECTORY_FLAG_MONITOR</name>
+ <description>Should setup monitors in the items found in the directory.</description>
+ </parameter>
+ <parameter>
+ <name>TRACKER_DIRECTORY_FLAG_IGNORE</name>
+ <description>Should ignore the directory contents.</description>
+ </parameter>
+ <parameter>
+ <name>TRACKER_DIRECTORY_FLAG_PRESERVE</name>
+ <description>Should preserve items in the directory even if the directory gets removed.</description>
+ </parameter>
+ </parameters>
+ <description>Flags used when adding a new directory to be indexed in the #TrackerIndexingTree.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * TrackerDirectoryFlags:
+ * @TRACKER_DIRECTORY_FLAG_NONE: No flags.
+ * @TRACKER_DIRECTORY_FLAG_RECURSE: Should recurse in the directory.
+ * @TRACKER_DIRECTORY_FLAG_CHECK_MTIME: Should check mtimes of items in the directory.
+ * @TRACKER_DIRECTORY_FLAG_MONITOR: Should setup monitors in the items found in the directory.
+ * @TRACKER_DIRECTORY_FLAG_IGNORE: Should ignore the directory contents.
+ * @TRACKER_DIRECTORY_FLAG_PRESERVE: Should preserve items in the directory even if the directory gets removed.
+ *
+ * Flags used when adding a new directory to be indexed in the #TrackerIndexingTree.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/parameter_varargs.xml b/tests/scanner/annotationparser/gi/parameter_varargs.xml
new file mode 100644
index 00000000..b22906de
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/parameter_varargs.xml
@@ -0,0 +1,298 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>function_name</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>par1</name>
+ <description>description of parameter 1. These can extend over more than
+one line.</description>
+ </parameter>
+ <parameter>
+ <name>par2</name>
+ <description>description of parameter 2</description>
+ </parameter>
+ <parameter>
+ <name>...</name>
+ <description>a %NULL-terminated list of bars</description>
+ </parameter>
+ </parameters>
+ <description>The function description goes here. You can use @par1 to refer to parameters
+so that they are highlighted in the output. You can also use %constant
+for constants, function_name2() for functions and #GtkWidget for links to
+other declarations (which may be documented elsewhere).</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>an integer.</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>2.2</value>
+ </tag>
+ <tag>
+ <name>deprecated</name>
+ <value>2.18</value>
+ <description>Use other_function() instead.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */</output>
+</test>
+
+<test>
+ <!--
+ gtkdoc-mkdb has deprecated named __VA_ARGS__ parameter notation.
+ But there is a gcc CPP extension that, for macros, makes it possible to give a more descriptive
+ name for the variable argument than simply __VA_ARGS__. See
+ http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html for more information.
+ Encountered in the wild in for example:
+ http://git.kernel.org/?p=bluetooth/bluez.git;a=blob;f=src/log.h;h=3d34fa3774e5400c030d29a264824fe0584de2a8;hb=HEAD#l44
+ -->
+ <input>/**
+ * DBG:
+ * @fmt: format string
+ * @arg...: list of arguments
+ *
+ * Simple macro around btd_debug() which also include the function
+ * name it is called in.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>DBG</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>fmt</name>
+ <description>format string</description>
+ </parameter>
+ <parameter>
+ <name>...</name>
+ <description>list of arguments</description>
+ </parameter>
+ </parameters>
+ <description>Simple macro around btd_debug() which also include the function
+name it is called in.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: "@arg..." parameter is deprecated, please use "@..." instead:
+ * @arg...: list of arguments
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * DBG:
+ * @fmt: format string
+ * @...: list of arguments
+ *
+ * Simple macro around btd_debug() which also include the function
+ * name it is called in.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated @Vargargs parameter
+ -->
+ <input>/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @Varargs: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>function_name</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>par1</name>
+ <description>description of parameter 1. These can extend over more than
+one line.</description>
+ </parameter>
+ <parameter>
+ <name>par2</name>
+ <description>description of parameter 2</description>
+ </parameter>
+ <parameter>
+ <name>...</name>
+ <description>a %NULL-terminated list of bars</description>
+ </parameter>
+ </parameters>
+ <description>The function description goes here. You can use @par1 to refer to parameters
+so that they are highlighted in the output. You can also use %constant
+for constants, function_name2() for functions and #GtkWidget for links to
+other declarations (which may be documented elsewhere).</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>an integer.</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>2.2</value>
+ </tag>
+ <tag>
+ <name>deprecated</name>
+ <value>2.18</value>
+ <description>Use other_function() instead.</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: "@Varargs" parameter is deprecated, please use "@..." instead:
+ * @Varargs: a %NULL-terminated list of bars
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @...: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Normal @vargargs parameter (usually seen for va_list)
+ -->
+ <input>/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @varargs: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ *
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>function_name</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>par1</name>
+ <description>description of parameter 1. These can extend over more than
+one line.</description>
+ </parameter>
+ <parameter>
+ <name>par2</name>
+ <description>description of parameter 2</description>
+ </parameter>
+ <parameter>
+ <name>varargs</name>
+ <description>a %NULL-terminated list of bars</description>
+ </parameter>
+ </parameters>
+ <description>The function description goes here. You can use @par1 to refer to parameters
+so that they are highlighted in the output. You can also use %constant
+for constants, function_name2() for functions and #GtkWidget for links to
+other declarations (which may be documented elsewhere).</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>an integer.</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>2.2</value>
+ </tag>
+ <tag>
+ <name>deprecated</name>
+ <value>2.18</value>
+ <description>Use other_function() instead.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * function_name:
+ * @par1: description of parameter 1. These can extend over more than
+ * one line.
+ * @par2: description of parameter 2
+ * @varargs: a %NULL-terminated list of bars
+ *
+ * The function description goes here. You can use @par1 to refer to parameters
+ * so that they are highlighted in the output. You can also use %constant
+ * for constants, function_name2() for functions and #GtkWidget for links to
+ * other declarations (which may be documented elsewhere).
+ *
+ * Returns: an integer.
+ * Since: 2.2
+ * Deprecated: 2.18: Use other_function() instead.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/syntax.xml b/tests/scanner/annotationparser/gi/syntax.xml
new file mode 100644
index 00000000..d1841a35
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/syntax.xml
@@ -0,0 +1,467 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>//Test</input>
+</test>
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>// Test</input>
+</test>
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>/**
+//</input>
+</test>
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>/*Test*/</input>
+</test>
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>/* Test */</input>
+</test>
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>/* Test
+something */</input>
+</test>
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>/*
+Test
+something */</input>
+</test>
+
+<test>
+ <!--
+ Not GTK-Doc
+ -->
+ <input>/**
+*/</input>
+</test>
+
+<test>
+ <input>/** Test **/</input>
+ <parser>
+ <messages>
+ <message>1: Error: Test: Skipping invalid GTK-Doc comment block:
+/** Test **/
+^</message>
+ </messages>
+ </parser>
+</test>
+
+<test>
+ <input>/**Test
+*/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Test</name>
+ </identifier>
+ </docblock>
+ <messages>
+ <message>1: Warning: Test: GTK-Doc comment block start token "/**" should not be followed by comment text:
+/**Test
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * Test:
+ */</output>
+</test>
+
+<test>
+ <input>/**
+Test */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Test</name>
+ </identifier>
+ </docblock>
+ <messages>
+ <message>2: Warning: Test: GTK-Doc comment block end token "*/" should not be preceded by comment text:
+Test */
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * Test:
+ */</output>
+</test>
+
+<test>
+ <input>/** Test
+something */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Test</name>
+ </identifier>
+ <description>something</description>
+ </docblock>
+ <messages>
+ <message>1: Warning: Test: GTK-Doc comment block start token "/**" should not be followed by comment text:
+/** Test
+ ^</message>
+ <message>2: Warning: Test: GTK-Doc comment block end token "*/" should not be preceded by comment text:
+something */
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * Test:
+ *
+ * something
+ */</output>
+</test>
+
+<test>
+ <input>/**
+Test
+something */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Test</name>
+ </identifier>
+ <description>something</description>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: GTK-Doc comment block end token "*/" should not be preceded by comment text:
+something */
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * Test:
+ *
+ * something
+ */</output>
+</test>
+
+<test>
+ <input>/**
+Test
+something **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Test</name>
+ </identifier>
+ <description>something</description>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: GTK-Doc comment block end token "*/" should not be preceded by comment text:
+something **/
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * Test:
+ *
+ * something
+ */</output>
+</test>
+
+<test>
+ <input>code goes here /** Test
+something */ code goes here</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Test</name>
+ </identifier>
+ <description>something</description>
+ </docblock>
+ <messages>
+ <message>1: Warning: Test: GTK-Doc comment block start token "/**" should not be preceded by code:
+code goes here /** Test
+ ^</message>
+ <message>1: Warning: Test: GTK-Doc comment block start token "/**" should not be followed by comment text:
+code goes here /** Test
+ ^</message>
+ <message>2: Warning: Test: GTK-Doc comment block end token "*/" should not be followed by code:
+something */ code goes here
+ ^</message>
+ <message>2: Warning: Test: GTK-Doc comment block end token "*/" should not be preceded by comment text:
+something */ code goes here
+ ^</message>
+ </messages>
+ </parser>
+ <output><![CDATA[code goes here
+/**
+ * Test:
+ *
+ * something
+ */
+ code goes here]]></output>
+</test>
+
+<test>
+ <!--
+ Malformed comment block, signal the start of the comment block description followed
+ by a parameter instead.
+ -->
+ <input>/**
+ * SECTION:meepapp
+ *
+ * @short_description: the application class
+ *
+ * The application class handles ...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:meepapp</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>the application class</description>
+ </parameter>
+ </parameters>
+ <description>The application class handles ...</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: "@short_description" parameter unexpected at this location:
+ * @short_description: the application class
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:meepapp
+ * @short_description: the application class
+ *
+ * The application class handles ...
+ */</output>
+</test>
+
+<test>
+ <!--
+ identifier not on the first line.
+ -->
+ <input>/**
+
+ *
+
+ * regress_test_invalid_comment:
+ * @foo: a param
+
+ * comment having lines without ' * '
+ * https://bugzilla.gnome.org/show_bug.cgi?id=673806
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_test_invalid_comment</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>foo</name>
+ <description>a param</description>
+ </parameter>
+ </parameters>
+ <description>comment having lines without ' * '
+https://bugzilla.gnome.org/show_bug.cgi?id=673806</description>
+ </docblock>
+ <messages>
+ <message>2: Error: Test: identifier not found on the first line:
+
+^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * regress_test_invalid_comment:
+ * @foo: a param
+ *
+ * comment having lines without ' * '
+ * https://bugzilla.gnome.org/show_bug.cgi?id=673806
+ */</output>
+</test>
+
+<test>
+ <!-- Confusing but well formed mixing of lines starting with and without * -->
+ <input>/**
+ * atk_hyperlink_is_inline:
+ * @link_: an #AtkHyperlink
+ *
+ * Indicates whether the link currently displays some or all of its
+ * content inline. Ordinary HTML links will usually return
+ * %FALSE, but an inline &lt;src&gt; HTML element will return
+ * %TRUE.
+ a *
+ * Returns: whether or not this link displays its content inline.
+ *
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>atk_hyperlink_is_inline</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>link_</name>
+ <description>an #AtkHyperlink</description>
+ </parameter>
+ </parameters>
+ <description>Indicates whether the link currently displays some or all of its
+ content inline. Ordinary HTML links will usually return
+ %FALSE, but an inline &lt;src&gt; HTML element will return
+ %TRUE.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>whether or not this link displays its content inline.</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>9: Error: Test: invalid comment text:
+ a *
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * atk_hyperlink_is_inline:
+ * @link_: an #AtkHyperlink
+ *
+ * Indicates whether the link currently displays some or all of its
+ * content inline. Ordinary HTML links will usually return
+ * %FALSE, but an inline &lt;src&gt; HTML element will return
+ * %TRUE.
+ *
+ * Returns: whether or not this link displays its content inline.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * gtk_tooltip_set_custom:
+ *
+ * Replaces the widget packed into the tooltip with
+ * @custom_widget. @custom_widget does not get destroyed when the tooltip goes
+ * away.
+ * By default a box with a #GtkImage and #GtkLabel is embedded in
+ * the tooltip, which can be configured using gtk_tooltip_set_markup()
+ * and gtk_tooltip_set_icon().
+
+ *
+ * Since: 2.12
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gtk_tooltip_set_custom</name>
+ </identifier>
+ <description>Replaces the widget packed into the tooltip with
+@custom_widget. @custom_widget does not get destroyed when the tooltip goes
+away.
+By default a box with a #GtkImage and #GtkLabel is embedded in
+the tooltip, which can be configured using gtk_tooltip_set_markup()
+and gtk_tooltip_set_icon().</description>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>2.12</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * gtk_tooltip_set_custom:
+ *
+ * Replaces the widget packed into the tooltip with
+ * @custom_widget. @custom_widget does not get destroyed when the tooltip goes
+ * away.
+ * By default a box with a #GtkImage and #GtkLabel is embedded in
+ * the tooltip, which can be configured using gtk_tooltip_set_markup()
+ * and gtk_tooltip_set_icon().
+ *
+ * Since: 2.12
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * clutter_text_coords_to_position:
+ * @self: a #ClutterText
+ * Return: the position of the character
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>clutter_text_coords_to_position</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>a #ClutterText</description>
+ </parameter>
+ </parameters>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>the position of the character</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * clutter_text_coords_to_position:
+ * @self: a #ClutterText
+ *
+ * Returns: the position of the character
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * clutter_text_coords_to_position:
+ * Return: the position of the character
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>clutter_text_coords_to_position</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>the position of the character</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * clutter_text_coords_to_position:
+ *
+ * Returns: the position of the character
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/syntax_indentation.xml b/tests/scanner/annotationparser/gi/syntax_indentation.xml
new file mode 100644
index 00000000..1b8c6324
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/syntax_indentation.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input> /**
+ * SECTION:test
+ *
+ * Describe section here
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>Describe section here</description>
+ </docblock>
+ </parser>
+ <output> /**
+ * SECTION:test
+ *
+ * Describe section here
+ */</output>
+</test>
+
+<test>
+ <input> /**
+ * SECTION:test
+ *
+ * Describe section here
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>Describe section here</description>
+ </docblock>
+ </parser>
+ <output> /**
+ * SECTION:test
+ *
+ * Describe section here
+ */</output>
+</test>
+
+<test>
+ <input> /**
+ * SECTION:test
+ *
+ * Describe section here
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>Describe section here</description>
+ </docblock>
+ </parser>
+ <output> /**
+ * SECTION:test
+ *
+ * Describe section here
+ */</output>
+</test>
+
+<test>
+ <input> /**
+ * SECTION:test
+ *
+ * Describe section here
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>Describe section here</description>
+ </docblock>
+ </parser>
+ <output indent="false">/**
+ * SECTION:test
+ *
+ * Describe section here
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/syntax_multiline_annotations.xml b/tests/scanner/annotationparser/gi/syntax_multiline_annotations.xml
new file mode 100644
index 00000000..4aa92e42
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/syntax_multiline_annotations.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * regress_forced_method: (skip)
+ * (method)
+ * @obj: A #RegressTestObj
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_forced_method</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>obj</name>
+ <description>A #RegressTestObj</description>
+ </parameter>
+ </parameters>
+ <description>(method)</description>
+ </docblock>
+ <messages>
+ <message>3: Error: Test: ignoring invalid multiline annotation continuation:
+ * (method)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * regress_forced_method: (skip)
+ * @obj: A #RegressTestObj
+ *
+ * (method)
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * regress_forced_method: (skip)
+ * (method)
+ * @obj: A #RegressTestObj
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>regress_forced_method</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>obj</name>
+ <description>A #RegressTestObj</description>
+ </parameter>
+ </parameters>
+ <description>(method)</description>
+ </docblock>
+ <messages>
+ <message>3: Error: Test: ignoring invalid multiline annotation continuation:
+ * (method)
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * regress_forced_method: (skip)
+ * @obj: A #RegressTestObj
+ *
+ * (method)
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/syntax_nested_tags.xml b/tests/scanner/annotationparser/gi/syntax_nested_tags.xml
new file mode 100644
index 00000000..11b5a674
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/syntax_nested_tags.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <!--
+ Well, not really nested tags as the Since: 2.30 is considered to be part of the
+ description of the @G_APPLICATION_NON_UNIQUE parameter.
+ -->
+ <input>/**
+ * GApplicationFlags:
+ * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical
+ * single-instance application negotiation, even if the application
+ * ID is given. The application neither attempts to become the
+ * owner of the application ID nor does it check if an existing
+ * owner already exists. Everything occurs in the local process.
+ * Since: 2.30.
+ *
+ * Flags used to define the behaviour of a #GApplication.
+ *
+ * Since: 2.28
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GApplicationFlags</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>G_APPLICATION_NON_UNIQUE</name>
+ <description>Make no attempts to do any of the typical
+ single-instance application negotiation, even if the application
+ ID is given. The application neither attempts to become the
+ owner of the application ID nor does it check if an existing
+ owner already exists. Everything occurs in the local process.
+ Since: 2.30.</description>
+ </parameter>
+ </parameters>
+ <description>Flags used to define the behaviour of a #GApplication.</description>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>2.28</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * GApplicationFlags:
+ * @G_APPLICATION_NON_UNIQUE: Make no attempts to do any of the typical
+ * single-instance application negotiation, even if the application
+ * ID is given. The application neither attempts to become the
+ * owner of the application ID nor does it check if an existing
+ * owner already exists. Everything occurs in the local process.
+ * Since: 2.30.
+ *
+ * Flags used to define the behaviour of a #GApplication.
+ *
+ * Since: 2.28
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * GSourceFuncs:
+ * @prepare: Called before all the file descriptors are polled. If the
+ * source can determine that it is ready here (without waiting for the
+ * results of the poll() call) it should return %TRUE. It can also return
+ * a @timeout_ value which should be the maximum timeout (in milliseconds)
+ * which should be passed to the poll() call. The actual timeout used will
+ * be -1 if all sources returned -1, or it will be the minimum of all the
+ * @timeout_ values returned which were >= 0. Since 2.36 this may
+ * be %NULL, in which case the effect is as if the function always
+ * returns %FALSE with a timeout of -1. If @prepare returns a
+ * timeout and the source also has a 'ready time' set then the
+ * nearer of the two will be used.
+ * @check: Called after all the file descriptors are polled. The source
+ * should return %TRUE if it is ready to be dispatched. Note that some
+ * time may have passed since the previous prepare function was called,
+ * so the source should be checked again here. Since 2.36 this may
+ * be %NULL, in which case the effect is as if the function always
+ * returns %FALSE.
+ * @dispatch: Called to dispatch the event source, after it has returned
+ * %TRUE in either its @prepare or its @check function. The @dispatch
+ * function is passed in a callback function and data. The callback
+ * function may be %NULL if the source was never connected to a callback
+ * using g_source_set_callback(). The @dispatch function should call the
+ * callback function with @user_data and whatever additional parameters
+ * are needed for this type of event source.
+ * @finalize: Called when the source is finalized.
+ *
+ * The <structname>GSourceFuncs</structname> struct contains a table of
+ * functions used to handle event sources in a generic manner.
+ *
+ * For idle sources, the prepare and check functions always return %TRUE
+ * to indicate that the source is always ready to be processed. The prepare
+ * function also returns a timeout value of 0 to ensure that the poll() call
+ * doesn't block (since that would be time wasted which could have been spent
+ * running the idle function).
+ *
+ * For timeout sources, the prepare and check functions both return %TRUE
+ * if the timeout interval has expired. The prepare function also returns
+ * a timeout value to ensure that the poll() call doesn't block too long
+ * and miss the next timeout.
+ *
+ * For file descriptor sources, the prepare function typically returns %FALSE,
+ * since it must wait until poll() has been called before it knows whether
+ * any events need to be processed. It sets the returned timeout to -1 to
+ * indicate that it doesn't mind how long the poll() call blocks. In the
+ * check function, it tests the results of the poll() call to see if the
+ * required condition has been met, and returns %TRUE if so.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GSourceFuncs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>prepare</name>
+ <description>Called before all the file descriptors are polled. If the
+ source can determine that it is ready here (without waiting for the
+ results of the poll() call) it should return %TRUE. It can also return
+ a @timeout_ value which should be the maximum timeout (in milliseconds)
+ which should be passed to the poll() call. The actual timeout used will
+ be -1 if all sources returned -1, or it will be the minimum of all the
+ @timeout_ values returned which were >= 0. Since 2.36 this may
+ be %NULL, in which case the effect is as if the function always
+ returns %FALSE with a timeout of -1. If @prepare returns a
+ timeout and the source also has a 'ready time' set then the
+ nearer of the two will be used.</description>
+ </parameter>
+ <parameter>
+ <name>check</name>
+ <description>Called after all the file descriptors are polled. The source
+ should return %TRUE if it is ready to be dispatched. Note that some
+ time may have passed since the previous prepare function was called,
+ so the source should be checked again here. Since 2.36 this may
+ be %NULL, in which case the effect is as if the function always
+ returns %FALSE.</description>
+ </parameter>
+ <parameter>
+ <name>dispatch</name>
+ <description>Called to dispatch the event source, after it has returned
+ %TRUE in either its @prepare or its @check function. The @dispatch
+ function is passed in a callback function and data. The callback
+ function may be %NULL if the source was never connected to a callback
+ using g_source_set_callback(). The @dispatch function should call the
+ callback function with @user_data and whatever additional parameters
+ are needed for this type of event source.</description>
+ </parameter>
+ <parameter>
+ <name>finalize</name>
+ <description>Called when the source is finalized.</description>
+ </parameter>
+ </parameters>
+ <description><![CDATA[The <structname>GSourceFuncs</structname> struct contains a table of
+functions used to handle event sources in a generic manner.
+
+For idle sources, the prepare and check functions always return %TRUE
+to indicate that the source is always ready to be processed. The prepare
+function also returns a timeout value of 0 to ensure that the poll() call
+doesn't block (since that would be time wasted which could have been spent
+running the idle function).
+
+For timeout sources, the prepare and check functions both return %TRUE
+if the timeout interval has expired. The prepare function also returns
+a timeout value to ensure that the poll() call doesn't block too long
+and miss the next timeout.
+
+For file descriptor sources, the prepare function typically returns %FALSE,
+since it must wait until poll() has been called before it knows whether
+any events need to be processed. It sets the returned timeout to -1 to
+indicate that it doesn't mind how long the poll() call blocks. In the
+check function, it tests the results of the poll() call to see if the
+required condition has been met, and returns %TRUE if so.]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * GSourceFuncs:
+ * @prepare: Called before all the file descriptors are polled. If the
+ * source can determine that it is ready here (without waiting for the
+ * results of the poll() call) it should return %TRUE. It can also return
+ * a @timeout_ value which should be the maximum timeout (in milliseconds)
+ * which should be passed to the poll() call. The actual timeout used will
+ * be -1 if all sources returned -1, or it will be the minimum of all the
+ * @timeout_ values returned which were >= 0. Since 2.36 this may
+ * be %NULL, in which case the effect is as if the function always
+ * returns %FALSE with a timeout of -1. If @prepare returns a
+ * timeout and the source also has a 'ready time' set then the
+ * nearer of the two will be used.
+ * @check: Called after all the file descriptors are polled. The source
+ * should return %TRUE if it is ready to be dispatched. Note that some
+ * time may have passed since the previous prepare function was called,
+ * so the source should be checked again here. Since 2.36 this may
+ * be %NULL, in which case the effect is as if the function always
+ * returns %FALSE.
+ * @dispatch: Called to dispatch the event source, after it has returned
+ * %TRUE in either its @prepare or its @check function. The @dispatch
+ * function is passed in a callback function and data. The callback
+ * function may be %NULL if the source was never connected to a callback
+ * using g_source_set_callback(). The @dispatch function should call the
+ * callback function with @user_data and whatever additional parameters
+ * are needed for this type of event source.
+ * @finalize: Called when the source is finalized.
+ *
+ * The <structname>GSourceFuncs</structname> struct contains a table of
+ * functions used to handle event sources in a generic manner.
+ *
+ * For idle sources, the prepare and check functions always return %TRUE
+ * to indicate that the source is always ready to be processed. The prepare
+ * function also returns a timeout value of 0 to ensure that the poll() call
+ * doesn't block (since that would be time wasted which could have been spent
+ * running the idle function).
+ *
+ * For timeout sources, the prepare and check functions both return %TRUE
+ * if the timeout interval has expired. The prepare function also returns
+ * a timeout value to ensure that the poll() call doesn't block too long
+ * and miss the next timeout.
+ *
+ * For file descriptor sources, the prepare function typically returns %FALSE,
+ * since it must wait until poll() has been called before it knows whether
+ * any events need to be processed. It sets the returned timeout to -1 to
+ * indicate that it doesn't mind how long the poll() call blocks. In the
+ * check function, it tests the results of the poll() call to see if the
+ * required condition has been met, and returns %TRUE if so.
+ */]]></output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/syntax_paragraph_breaks.xml b/tests/scanner/annotationparser/gi/syntax_paragraph_breaks.xml
new file mode 100644
index 00000000..77cabf0e
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/syntax_paragraph_breaks.xml
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <!--
+ All lines (outside program- listings and CDATA sections) just containing
+ a ' *' (blank-asterisk) are converted to paragraph breaks.
+ -->
+ <input>/**
+ * SECTION:test
+ *
+ * The following line is ' *' (blank-asterisk).
+ *
+ * So this is considered a new paragraph.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>The following line is ' *' (blank-asterisk).
+
+So this is considered a new paragraph.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:test
+ *
+ * The following line is ' *' (blank-asterisk).
+ *
+ * So this is considered a new paragraph.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Description: tag, all lines (outside program- listings and CDATA sections) just containing
+ a ' *' (blank-asterisk) are converted to paragraph breaks.
+ -->
+ <input>/**
+ * SECTION:test
+ *
+ * Description: The following line is ' *' (blank-asterisk).
+ *
+ * So this is considered a new paragraph.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>The following line is ' *' (blank-asterisk).
+
+So this is considered a new paragraph.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: The following line is ' *' (blank-asterisk).
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:test
+ *
+ * The following line is ' *' (blank-asterisk).
+ *
+ * So this is considered a new paragraph.
+ */</output>
+</test>
+
+<test>
+ <!--
+ ' * ' (blank-asterisk-blank) are also converted to paragraph breaks.
+ -->
+ <input>/**
+ * SECTION:test
+ *
+ * The following line is ' * ' (blank-asterisk-blank).
+ *
+ * So this is considered a new paragraph.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>The following line is ' * ' (blank-asterisk-blank).
+
+So this is considered a new paragraph.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:test
+ *
+ * The following line is ' * ' (blank-asterisk-blank).
+ *
+ * So this is considered a new paragraph.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Description: tag, ' * ' (blank-asterisk-blank) are also converted to paragraph breaks.
+ -->
+ <input>/**
+ * SECTION:test
+ *
+ * Description: The following line is ' * ' (blank-asterisk-blank).
+ *
+ * So this is considered a new paragraph.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>The following line is ' * ' (blank-asterisk-blank).
+
+So this is considered a new paragraph.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: The following line is ' * ' (blank-asterisk-blank).
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:test
+ *
+ * The following line is ' * ' (blank-asterisk-blank).
+ *
+ * So this is considered a new paragraph.
+ */</output>
+</test>
+
+<test>
+ <!--
+ If you want an "empty line" but not a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank). The "empty line" can be easily recognized in the
+ output as it contains a single space character.
+ -->
+ <input>/**
+ * SECTION:test
+ *
+ * The following line is (blank-asterisk-blank-blank).
+ *
+ * So this is preceded by an empty line and is not considered a new paragraph.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>The following line is (blank-asterisk-blank-blank).
+
+So this is preceded by an empty line and is not considered a new paragraph.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:test
+ *
+ * The following line is (blank-asterisk-blank-blank).
+ *
+ * So this is preceded by an empty line and is not considered a new paragraph.
+ */</output>
+</test>
+
+<test>
+ <!--
+ Description: tag, if you want an "empty line" but not a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank). The "empty line" can be easily recognized in the
+ output as it contains a single space character.
+ -->
+ <input>/**
+ * SECTION:test
+ *
+ * Description: The following line is (blank-asterisk-blank-blank).
+ *
+ * So this is preceded by an empty line and is not considered a new paragraph.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description>The following line is (blank-asterisk-blank-blank).
+
+So this is preceded by an empty line and is not considered a new paragraph.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: The following line is (blank-asterisk-blank-blank).
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * SECTION:test
+ *
+ * The following line is (blank-asterisk-blank-blank).
+ *
+ * So this is preceded by an empty line and is not considered a new paragraph.
+ */</output>
+</test>
+
+<test>
+ <!--
+ If you want an "empty line" but not a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank). The "empty line" can be easily recognized in the
+ output as it contains a single space character.
+ -->
+ <input><![CDATA[/**
+ * SECTION:test
+ *
+ * <example>
+ * <title>Iterating over attributes</title>
+ * <programlisting>
+ * void
+ * print_attributes (GIBaseInfo *info)
+ * {
+ * GIAttributeIter iter = { 0, };
+ * char *name;
+ * char *value;
+ *
+ * while (g_base_info_iterate_attributes (info, &iter, &name, &value))
+ * {
+ * g_print ("attribute name: %s value: %s", name, value);
+ * }
+ * }
+ * </programlisting>
+ * </example>
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description><![CDATA[<example>
+<title>Iterating over attributes</title>
+<programlisting>
+void
+print_attributes (GIBaseInfo *info)
+{
+ GIAttributeIter iter = { 0, };
+ char *name;
+ char *value;
+
+ while (g_base_info_iterate_attributes (info, &iter, &name, &value))
+ {
+ g_print ("attribute name: %s value: %s", name, value);
+ }
+}
+</programlisting>
+</example>]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * SECTION:test
+ *
+ * <example>
+ * <title>Iterating over attributes</title>
+ * <programlisting>
+ * void
+ * print_attributes (GIBaseInfo *info)
+ * {
+ * GIAttributeIter iter = { 0, };
+ * char *name;
+ * char *value;
+ *
+ * while (g_base_info_iterate_attributes (info, &iter, &name, &value))
+ * {
+ * g_print ("attribute name: %s value: %s", name, value);
+ * }
+ * }
+ * </programlisting>
+ * </example>
+ */]]></output>
+</test>
+
+<test>
+ <!--
+ Description: tag, if you want an "empty line" but not a paragraph break, change that into ' * '
+ (blank-asterisk-blank-blank). The "empty line" can be easily recognized in the
+ output as it contains a single space character.
+ -->
+ <input><![CDATA[/**
+ * SECTION:test
+ *
+ * Description: <example>
+ * <title>Iterating over attributes</title>
+ * <programlisting>
+ * void
+ * print_attributes (GIBaseInfo *info)
+ * {
+ * GIAttributeIter iter = { 0, };
+ * char *name;
+ * char *value;
+ *
+ * while (g_base_info_iterate_attributes (info, &iter, &name, &value))
+ * {
+ * g_print ("attribute name: %s value: %s", name, value);
+ * }
+ * }
+ * </programlisting>
+ * </example>
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:test</name>
+ </identifier>
+ <description><![CDATA[<example>
+<title>Iterating over attributes</title>
+<programlisting>
+void
+print_attributes (GIBaseInfo *info)
+{
+ GIAttributeIter iter = { 0, };
+ char *name;
+ char *value;
+
+ while (g_base_info_iterate_attributes (info, &iter, &name, &value))
+ {
+ g_print ("attribute name: %s value: %s", name, value);
+ }
+}
+</programlisting>
+</example>]]></description>
+ </docblock>
+ <messages>
+ <message><![CDATA[4: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: <example>
+ ^]]></message>
+ </messages>
+ </parser>
+ <output><![CDATA[/**
+ * SECTION:test
+ *
+ * <example>
+ * <title>Iterating over attributes</title>
+ * <programlisting>
+ * void
+ * print_attributes (GIBaseInfo *info)
+ * {
+ * GIAttributeIter iter = { 0, };
+ * char *name;
+ * char *value;
+ *
+ * while (g_base_info_iterate_attributes (info, &iter, &name, &value))
+ * {
+ * g_print ("attribute name: %s value: %s", name, value);
+ * }
+ * }
+ * </programlisting>
+ * </example>
+ */]]></output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/syntax_whitespace.xml b/tests/scanner/annotationparser/gi/syntax_whitespace.xml
new file mode 100644
index 00000000..3857ea64
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/syntax_whitespace.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * whitespace_test:
+ * @object: (skip):
+ *
+ * A #AnnotationObject
+ *
+ *
+ * @func: The callback
+ *
+ *
+ * Test overriding via the "Rename To" annotation.
+ *
+ *
+ * Returns: nothing
+ *
+ *
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>whitespace_test</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>object</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </parameter>
+ <parameter>
+ <name>func</name>
+ <description>The callback</description>
+ </parameter>
+ </parameters>
+ <description>A #AnnotationObject
+
+
+
+Test overriding via the "Rename To" annotation.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>nothing</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>8: Warning: Test: "@func" parameter unexpected at this location:
+ * @func: The callback
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * whitespace_test:
+ * @object: (skip):
+ * @func: The callback
+ *
+ * A #AnnotationObject
+ *
+ *
+ *
+ * Test overriding via the "Rename To" annotation.
+ *
+ * Returns: nothing
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ *atk_text_get_default_attributes:
+ *@text: an #AtkText
+ *
+ *Creates ...
+ *
+ *Returns: (transfer full): an ...
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>atk_text_get_default_attributes</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>text</name>
+ <description>an #AtkText</description>
+ </parameter>
+ </parameters>
+ <description>Creates ...</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>an ...</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * atk_text_get_default_attributes:
+ * @text: an #AtkText
+ *
+ * Creates ...
+ *
+ * Returns: (transfer full): an ...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/tag.xml b/tests/scanner/annotationparser/gi/tag.xml
new file mode 100644
index 00000000..8480d4b4
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/tag.xml
@@ -0,0 +1,401 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * test_tag_missing_colon:
+ *
+ * Forgotten colon below will result in a warning.
+ *
+ * Returns: (allow-none) return value
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_tag_missing_colon</name>
+ </identifier>
+ <description>Forgotten colon below will result in a warning.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>return value</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: missing ":" at column 25:
+ * Returns: (allow-none) return value
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_tag_missing_colon:
+ *
+ * Forgotten colon below will result in a warning.
+ *
+ * Returns: (allow-none): return value
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_unexpected_tag:
+ *
+ * @param1: first parameter
+ * does something
+ * Returns: something
+ * returning something
+ *
+ * Probably intended as the comment block description part but in reality belongs to
+ * the "Returns:"" tag description field.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_unexpected_tag</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <description>first parameter
+does something</description>
+ </parameter>
+ </parameters>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>something
+returning something
+
+Probably intended as the comment block description part but in reality belongs to
+the "Returns:"" tag description field.</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: "@param1" parameter unexpected at this location:
+ * @param1: first parameter
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_unexpected_tag:
+ * @param1: first parameter
+ * does something
+ *
+ * Returns: something
+ * returning something
+ *
+ * Probably intended as the comment block description part but in reality belongs to
+ * the "Returns:"" tag description field.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_unknown_tag:
+ *
+ * Foo: something
+ *
+ * Returns: True
+ * Moo: anything
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_unknown_tag</name>
+ </identifier>
+ <description>Foo: something</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>True
+Moo: anything</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_unknown_tag:
+ *
+ * Foo: something
+ *
+ * Returns: True
+ * Moo: anything
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_multiline_tag:
+ *
+ * Returns:
+ * True
+ * Since:
+ * 1.0: yeah
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiline_tag</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>True</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <description>1.0: yeah</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_multiline_tag:
+ *
+ * Returns: True
+ * Since: 1.0: yeah
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_multiline_annotations_on_tag:
+ *
+ * Annotations spanning multiple lines are not valid
+ *
+ * Returns: (allow-none)
+ * (transfer full): something
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiline_annotations_on_tag</name>
+ </identifier>
+ <description>Annotations spanning multiple lines are not valid</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>
+(transfer full): something</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>7: Error: Test: ignoring invalid multiline annotation continuation:
+ * (transfer full): something
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiline_annotations_on_tag:
+ *
+ * Annotations spanning multiple lines are not valid
+ *
+ * Returns: (allow-none):
+ * (transfer full): something
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_multiline_annotations_on_tag:
+ *
+ * Annotations spanning multiple lines are not valid
+ *
+ * Returns: (allow-none): Returns tag having a second line which looks
+ * (like an annotation), but isn't. This should not result in a warning.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiline_annotations_on_tag</name>
+ </identifier>
+ <description>Annotations spanning multiple lines are not valid</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>Returns tag having a second line which looks
+(like an annotation), but isn't. This should not result in a warning.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_multiline_annotations_on_tag:
+ *
+ * Annotations spanning multiple lines are not valid
+ *
+ * Returns: (allow-none): Returns tag having a second line which looks
+ * (like an annotation), but isn't. This should not result in a warning.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * gdk_device_list_axes:
+ * @device: a pointer #GdkDevice
+ *
+ * Returns a #GList of #GdkAtom<!-- -->s, containing the labels for
+ * the axes that @device currently has.
+ *
+ * Returns: (transfer container) (element-type GdkAtom):
+ * A #GList of #GdkAtom<!-- -->s, free
+ * with g_list_free().
+ *
+ * Since: 3.0
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gdk_device_list_axes</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>device</name>
+ <description>a pointer #GdkDevice</description>
+ </parameter>
+ </parameters>
+ <description>Returns a #GList of #GdkAtom<!-- -->s, containing the labels for
+the axes that @device currently has.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>container</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>GdkAtom</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>
+ A #GList of #GdkAtom<!-- -->s, free
+ with g_list_free().</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>3.0</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * gdk_device_list_axes:
+ * @device: a pointer #GdkDevice
+ *
+ * Returns a #GList of #GdkAtom<!-- -->s, containing the labels for
+ * the axes that @device currently has.
+ *
+ * Returns: (transfer container) (element-type GdkAtom):
+ * A #GList of #GdkAtom<!-- -->s, free
+ * with g_list_free().
+ * Since: 3.0
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * FsSession:codec-preferences:
+ *
+ * Type: GLib.List(FsCodec)
+ * Transfer: full
+ *
+ * This is the current preferences list for the local codecs. It is
+ * set by the user to specify the codec options and priorities. The user may
+ * change its value with fs_session_set_codec_preferences() at any time
+ * during a session. It is a #GList of #FsCodec.
+ * The user must free this codec list using fs_codec_list_destroy() when done.
+ *
+ * The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
+ * or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
+ * payload type of the codec will be "reserved" and not be used by any
+ * dynamically assigned payload type.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>FsSession:codec-preferences</name>
+ <annotations>
+ <annotation>
+ <name>type</name>
+ <options>
+ <option>
+ <name>GLib.List(FsCodec)</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ </identifier>
+ <description>This is the current preferences list for the local codecs. It is
+set by the user to specify the codec options and priorities. The user may
+change its value with fs_session_set_codec_preferences() at any time
+during a session. It is a #GList of #FsCodec.
+The user must free this codec list using fs_codec_list_destroy() when done.
+
+The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
+or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
+payload type of the codec will be "reserved" and not be used by any
+dynamically assigned payload type.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GObject-Introspection specific GTK-Doc tag "Type" has been deprecated, please use annotations on the identifier instead:
+ * Type: GLib.List(FsCodec)
+ ^</message>
+ <message>5: Warning: Test: GObject-Introspection specific GTK-Doc tag "Transfer" has been deprecated, please use annotations on the identifier instead:
+ * Transfer: full
+ ^</message>
+ </messages>
+ </parser>
+ <output> /**
+ * FsSession:codec-preferences: (type GLib.List(FsCodec)) (transfer full)
+ *
+ * This is the current preferences list for the local codecs. It is
+ * set by the user to specify the codec options and priorities. The user may
+ * change its value with fs_session_set_codec_preferences() at any time
+ * during a session. It is a #GList of #FsCodec.
+ * The user must free this codec list using fs_codec_list_destroy() when done.
+ *
+ * The payload type may be a valid dynamic PT (96-127), %FS_CODEC_ID_DISABLE
+ * or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
+ * payload type of the codec will be "reserved" and not be used by any
+ * dynamically assigned payload type.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/tag_deprecated.xml b/tests/scanner/annotationparser/gi/tag_deprecated.xml
new file mode 100644
index 00000000..f1e8ca60
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/tag_deprecated.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Deprecated: 0.6: Use something else instead
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <value>0.6</value>
+ <description>Use something else instead</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Deprecated: 0.6: Use something else instead
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Deprecated: 0.6
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <value>0.6</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Deprecated: 0.6
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_tag_not_annotatable:
+ *
+ * Tags (except Returns:) don't have annotations
+ *
+ * Deprecated: (allow-none): 2.24
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_tag_not_annotatable</name>
+ </identifier>
+ <description>Tags (except Returns:) don't have annotations</description>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <value>2.24</value>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Error: Test: annotations not supported for tag "Deprecated:".</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_tag_not_annotatable:
+ *
+ * Tags (except Returns:) don't have annotations
+ *
+ * Deprecated: 2.24
+ */</output>
+</test>
+
+<test>
+ <!--
+ Multiple "Deprecated:" tags
+ -->
+ <input>/**
+ * test_multiple_tags:
+ *
+ * Deprecated: 3.0
+ * Deprecated: 2.0
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiple_tags</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <value>2.0</value>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>5: Error: Test: multiple "Deprecated:" tags for identifier "test_multiple_tags":
+ * Deprecated: 2.0
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiple_tags:
+ *
+ * Deprecated: 2.0
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/tag_description.xml b/tests/scanner/annotationparser/gi/tag_description.xml
new file mode 100644
index 00000000..3dff7f33
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/tag_description.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * shiny_function:
+ *
+ * Description: This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>shiny_function</name>
+ </identifier>
+ <description>This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: This is a callback with a 'closure' argument that is not named
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * shiny_function:
+ *
+ * This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * shiny_function:
+ * Description: This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>shiny_function</name>
+ </identifier>
+ <description>This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</description>
+ </docblock>
+ <messages>
+ <message>3: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: This is a callback with a 'closure' argument that is not named
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * shiny_function:
+ *
+ * This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * shiny_function:
+ *
+ * Some description here, but also below...
+ *
+ * Description: This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>shiny_function</name>
+ </identifier>
+ <description>Some description here, but also below...
+
+This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.</description>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: This is a callback with a 'closure' argument that is not named
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * shiny_function:
+ *
+ * Some description here, but also below...
+ *
+ * This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * shiny_function:
+ *
+ * Description: This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ *
+ * etc...
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>shiny_function</name>
+ </identifier>
+ <description>This is a callback with a 'closure' argument that is not named
+'user_data' and hence has to be annotated.
+
+ etc...</description>
+ </docblock>
+ <messages>
+ <message>4: Warning: Test: GTK-Doc tag "Description:" has been deprecated:
+ * Description: This is a callback with a 'closure' argument that is not named
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * shiny_function:
+ *
+ * This is a callback with a 'closure' argument that is not named
+ * 'user_data' and hence has to be annotated.
+ *
+ * etc...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/tag_returns.xml b/tests/scanner/annotationparser/gi/tag_returns.xml
new file mode 100644
index 00000000..8ccfaa63
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/tag_returns.xml
@@ -0,0 +1,595 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns: (allow-none): some boolean
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_string_out</name>
+ </identifier>
+ <description>Test returning a string as an out parameter</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>some boolean</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns: (allow-none): some boolean
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns: (allow-none)): some boolean
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_string_out</name>
+ </identifier>
+ <description>Test returning a string as an out parameter</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * Returns: (allow-none)): some boolean
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns:
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_unexpected_tag:
+ * @param1: first parameter
+ * Returns: something
+ *
+ * Tags should go after the comment block description
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_unexpected_tag</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>param1</name>
+ <description>first parameter</description>
+ </parameter>
+ </parameters>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>something
+
+Tags should go after the comment block description</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_unexpected_tag:
+ * @param1: first parameter
+ *
+ * Returns: something
+ *
+ * Tags should go after the comment block description
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "Return value:" tag
+ -->
+ <input>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Return value: (allow-none): some boolean
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_string_out</name>
+ </identifier>
+ <description>Test returning a string as an out parameter</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>some boolean</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns: (allow-none): some boolean
+ */</output>
+</test>
+
+<test>
+ <!--
+ Deprecated "@returns" as a parameter
+ -->
+ <input>/**
+ * annotation_object_string_out:
+ * @returns: (allow-none): some boolean
+ *
+ * Test returning a string as an out parameter
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_string_out</name>
+ </identifier>
+ <description>Test returning a string as an out parameter</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>some boolean</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns: (allow-none): some boolean
+ */</output>
+</test>
+
+<test>
+ <!--
+ Variation of "@returns" as a parameter
+ -->
+ <input>/**
+ * annotation_object_string_out:
+ * @returns: (allow-none)): some boolean
+ *
+ * Test returning a string as an out parameter
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_string_out</name>
+ </identifier>
+ <description>Test returning a string as an out parameter</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>3: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * @returns: (allow-none)): some boolean
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns:
+ */</output>
+</test>
+
+<test>
+ <!--
+ Variation of "@returns" as a parameter
+ -->
+ <input>/**
+ * annotation_object_string_out:
+ * @returns:
+ *
+ * Test returning a string as an out parameter
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_string_out</name>
+ </identifier>
+ <description>Test returning a string as an out parameter</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns:
+ */</output>
+</test>
+
+<test>
+ <!--
+ Variation of multiple "Returns:" notations
+ -->
+ <input>/**
+ * test_multiple_returns_tag_and_parameter:
+ *
+ * Multiple return value warnings are checked for when a returns
+ * parameter is encountered.
+ *
+ * Return Value: something
+ * @returns: something else
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiple_returns_tag_and_parameter</name>
+ </identifier>
+ <description>Multiple return value warnings are checked for when a returns
+parameter is encountered.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>something else</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>8: Warning: Test: "@returns" parameter unexpected at this location:
+ * @returns: something else
+ ^</message>
+ <message>8: Error: Test: encountered multiple "Returns" parameters or tags for "test_multiple_returns_tag_and_parameter".</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiple_returns_tag_and_parameter:
+ *
+ * Multiple return value warnings are checked for when a returns
+ * parameter is encountered.
+ *
+ * Returns: something else
+ */</output>
+</test>
+
+<test>
+ <!--
+ Variation of multiple "Returns:" notations
+ -->
+ <input>/**
+ * test_multiple_returns_tag_and_parameter:
+ * @returns: something
+ *
+ * Multiple return value warnings are checked for when a returns
+ * parameter is encountered.
+ *
+ * Return Value: something else
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiple_returns_tag_and_parameter</name>
+ </identifier>
+ <description>Multiple return value warnings are checked for when a returns
+parameter is encountered.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>something else</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>8: Error: Test: encountered multiple return value parameters or tags for "test_multiple_returns_tag_and_parameter".</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiple_returns_tag_and_parameter:
+ *
+ * Multiple return value warnings are checked for when a returns
+ * parameter is encountered.
+ *
+ * Returns: something else
+ */</output>
+</test>
+
+<test>
+ <!--
+ Variation of multiple "Returns:" notations
+ -->
+ <input>/**
+ * test_multiple_returns_tag_and_parameter:
+ * @returns: something
+ *
+ * Multiple return value warnings are checked for when a returns
+ * parameter is encountered.
+ *
+ * Returns: something else
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiple_returns_tag_and_parameter</name>
+ </identifier>
+ <description>Multiple return value warnings are checked for when a returns
+parameter is encountered.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>something else</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>8: Error: Test: encountered multiple return value parameters or tags for "test_multiple_returns_tag_and_parameter".</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiple_returns_tag_and_parameter:
+ *
+ * Multiple return value warnings are checked for when a returns
+ * parameter is encountered.
+ *
+ * Returns: something else
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * gtk_rc_get_im_module_path:
+ * @returns: a newly-allocated string containing the path in which to
+ * look for IM modules.
+ *
+ * Obtains the path in which to look for IM modules. See the documentation
+ * of the <link linkend="im-module-path"><envar>GTK_PATH</envar></link>
+ * environment variable for more details about looking up modules. This
+ * function is useful solely for utilities supplied with GTK+ and should
+ * not be used by applications under normal circumstances.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gtk_rc_get_im_module_path</name>
+ </identifier>
+ <description><![CDATA[Obtains the path in which to look for IM modules. See the documentation
+of the <link linkend="im-module-path"><envar>GTK_PATH</envar></link>
+environment variable for more details about looking up modules. This
+function is useful solely for utilities supplied with GTK+ and should
+not be used by applications under normal circumstances.]]></description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>a newly-allocated string containing the path in which to
+ look for IM modules.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * gtk_rc_get_im_module_path:
+ *
+ * Obtains the path in which to look for IM modules. See the documentation
+ * of the <link linkend="im-module-path"><envar>GTK_PATH</envar></link>
+ * environment variable for more details about looking up modules. This
+ * function is useful solely for utilities supplied with GTK+ and should
+ * not be used by applications under normal circumstances.
+ *
+ * Returns: a newly-allocated string containing the path in which to
+ * look for IM modules.
+ */]]></output>
+</test>
+
+<test>
+ <!--
+ Technically not a valid Returns: tag, but we need to support this for backwards compatibility
+ with the old annotationparser.
+ -->
+ <input>/**
+ * clutter_text_coords_to_position:
+ * @self: a #ClutterText
+ * @x: the X coordinate, relative to the actor
+ * @y: the Y coordinate, relative to the actor
+ *
+ * Retrieves the position of the character at the given coordinates.
+ *
+ * Return: the position of the character
+ *
+ * Since: 1.10
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>clutter_text_coords_to_position</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>a #ClutterText</description>
+ </parameter>
+ <parameter>
+ <name>x</name>
+ <description>the X coordinate, relative to the actor</description>
+ </parameter>
+ <parameter>
+ <name>y</name>
+ <description>the Y coordinate, relative to the actor</description>
+ </parameter>
+ </parameters>
+ <description>Retrieves the position of the character at the given coordinates.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>the position of the character</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>1.10</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * clutter_text_coords_to_position:
+ * @self: a #ClutterText
+ * @x: the X coordinate, relative to the actor
+ * @y: the Y coordinate, relative to the actor
+ *
+ * Retrieves the position of the character at the given coordinates.
+ *
+ * Returns: the position of the character
+ * Since: 1.10
+ */</output>
+</test>
+
+<test>
+ <!--
+ Technically not a valid Returns: tag, but we need to support this for backwards compatibility
+ with the old annotationparser.
+ -->
+ <input>/**
+ * clutter_text_coords_to_position:
+ * @self: a #ClutterText
+ * @x: the X coordinate, relative to the actor
+ * @y: the Y coordinate, relative to the actor
+ *
+ * Retrieves the position of the character at the given coordinates.
+ *
+ * Returns value: the position of the character
+ *
+ * Since: 1.10
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>clutter_text_coords_to_position</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>a #ClutterText</description>
+ </parameter>
+ <parameter>
+ <name>x</name>
+ <description>the X coordinate, relative to the actor</description>
+ </parameter>
+ <parameter>
+ <name>y</name>
+ <description>the Y coordinate, relative to the actor</description>
+ </parameter>
+ </parameters>
+ <description>Retrieves the position of the character at the given coordinates.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>the position of the character</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>1.10</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * clutter_text_coords_to_position:
+ * @self: a #ClutterText
+ * @x: the X coordinate, relative to the actor
+ * @y: the Y coordinate, relative to the actor
+ *
+ * Retrieves the position of the character at the given coordinates.
+ *
+ * Returns: the position of the character
+ * Since: 1.10
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns: (out): some boolean
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_object_string_out</name>
+ </identifier>
+ <description>Test returning a string as an out parameter</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>out</name>
+ </annotation>
+ </annotations>
+ <description>some boolean</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Warning: Test: unexpected annotation: out</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_object_string_out:
+ *
+ * Test returning a string as an out parameter
+ *
+ * Returns: (out): some boolean
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/tag_since.xml b/tests/scanner/annotationparser/gi/tag_since.xml
new file mode 100644
index 00000000..06116aa1
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/tag_since.xml
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Since: 0.6
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>0.6</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Since: 0.6
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Since: (invalid)): 0.6
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>since</name>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>4: Error: Test: unbalanced parentheses, annotations will be ignored:
+ * Since: (invalid)): 0.6
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Since:
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Since: this function is available since version 0.6
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>since</name>
+ <description>this function is available since version 0.6</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Since: this function is available since version 0.6
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Since: 0.6: this function is available since version 0.6
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>0.6</value>
+ <description>this function is available since version 0.6</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Since: 0.6: this function is available since version 0.6
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_tag_not_annotatable:
+ *
+ * Tags (except Returns:) don't have annotations
+ *
+ * Since: (allow-none): 2.24
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_tag_not_annotatable</name>
+ </identifier>
+ <description>Tags (except Returns:) don't have annotations</description>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>2.24</value>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Error: Test: annotations not supported for tag "Since:".</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_tag_not_annotatable:
+ *
+ * Tags (except Returns:) don't have annotations
+ *
+ * Since: 2.24
+ */</output>
+</test>
+
+<test>
+ <!--
+ Multiple "Since:" tags
+ -->
+ <input>/**
+ * test_multiple_tags:
+ *
+ * Since: 3.0
+ * Since: 2.0: one of these "Since:"
+ * tags is wrong...
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiple_tags</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>2.0</value>
+ <description>one of these "Since:"
+tags is wrong...</description>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>5: Error: Test: multiple "Since:" tags for identifier "test_multiple_tags":
+ * Since: 2.0: one of these "Since:"
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiple_tags:
+ *
+ * Since: 2.0: one of these "Since:"
+ * tags is wrong...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gi/tag_stability.xml b/tests/scanner/annotationparser/gi/tag_stability.xml
new file mode 100644
index 00000000..25c907ff
--- /dev/null
+++ b/tests/scanner/annotationparser/gi/tag_stability.xml
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Stability: Stable
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>stability</name>
+ <value>Stable</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Stability: Stable
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Stability: Unstable
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>stability</name>
+ <value>Unstable</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Stability: Unstable
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Stability: Private
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>stability</name>
+ <value>Private</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Stability: Private
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_versioned:
+ *
+ * Stability: behavior tends to vary depending on the phase of the moon.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_versioned</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>stability</name>
+ <description>behavior tends to vary depending on the phase of the moon.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_versioned:
+ *
+ * Stability: behavior tends to vary depending on the phase of the moon.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * test_tag_not_annotatable:
+ *
+ * Tags (except Returns:) don't have annotations
+ *
+ * Stability: (allow-none): Private
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_tag_not_annotatable</name>
+ </identifier>
+ <description>Tags (except Returns:) don't have annotations</description>
+ <tags>
+ <tag>
+ <name>stability</name>
+ <value>Private</value>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>6: Error: Test: annotations not supported for tag "Stability:".</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_tag_not_annotatable:
+ *
+ * Tags (except Returns:) don't have annotations
+ *
+ * Stability: Private
+ */</output>
+</test>
+
+<test>
+ <!--
+ Multiple "Stability:" tags
+ -->
+ <input>/**
+ * test_multiple_tags:
+ *
+ * Stability: Public
+ * Stability: Private
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_multiple_tags</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>stability</name>
+ <value>Private</value>
+ </tag>
+ </tags>
+ </docblock>
+ <messages>
+ <message>5: Error: Test: multiple "Stability:" tags for identifier "test_multiple_tags":
+ * Stability: Private
+ ^</message>
+ </messages>
+ </parser>
+ <output>/**
+ * test_multiple_tags:
+ *
+ * Stability: Private
+ */</output>
+</test>
+
+<test>
+ <!--
+ "Stability:" description
+ -->
+ <input>/**
+ * test_stability_description:
+ *
+ * Stability: Unstable: maybe one day this will work
+ * correctly...
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test_stability_description</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>stability</name>
+ <value>Unstable</value>
+ <description>maybe one day this will work
+ correctly...</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * test_stability_description:
+ *
+ * Stability: Unstable: maybe one day this will work
+ * correctly...
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/annotations/tester.c.xml b/tests/scanner/annotationparser/gtkdoc/annotations/tester.c.xml
new file mode 100644
index 00000000..d28d5d9b
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/annotations/tester.c.xml
@@ -0,0 +1,482 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:tester</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>module for gtk-doc unit test</description>
+ </parameter>
+ </parameters>
+ <description>This file contains non-sense code for the sole purpose of testing the docs.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_array_length:
+ * @list: a #GtkListStore
+ * @n_columns: number of columns
+ * @types: (array length=n_columns): list of types
+ *
+ * Document parameter relation for array length.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_array_length</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>list</name>
+ <description>a #GtkListStore</description>
+ </parameter>
+ <parameter>
+ <name>n_columns</name>
+ <description>number of columns</description>
+ </parameter>
+ <parameter>
+ <name>types</name>
+ <annotations>
+ <annotation>
+ <name>array</name>
+ <options>
+ <option>
+ <name>length</name>
+ <value>n_columns</value>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>list of types</description>
+ </parameter>
+ </parameters>
+ <description>Document parameter relation for array length.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_array_length:
+ * @list: a #GtkListStore
+ * @n_columns: number of columns
+ * @types: (array length=n_columns): list of types
+ *
+ * Document parameter relation for array length.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_nullable:
+ * @uri: a uri
+ * @label: (allow-none): an optional string, which is used in ways too
+ * complicated to describe in a single line, making it necessary to wrap it
+ *
+ * Document optional parameters.
+ *
+ * Returns: (transfer full) (allow-none): Returns stuff which you have to
+ * free after use, whose description is also rather long
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_nullable</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>uri</name>
+ <description>a uri</description>
+ </parameter>
+ <parameter>
+ <name>label</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>an optional string, which is used in ways too
+ complicated to describe in a single line, making it necessary to wrap it</description>
+ </parameter>
+ </parameters>
+ <description>Document optional parameters.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>Returns stuff which you have to
+ free after use, whose description is also rather long</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_nullable:
+ * @uri: a uri
+ * @label: (allow-none): an optional string, which is used in ways too
+ * complicated to describe in a single line, making it necessary to wrap it
+ *
+ * Document optional parameters.
+ *
+ * Returns: (transfer full) (allow-none): Returns stuff which you have to
+ * free after use, whose description is also rather long
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_elementtype:
+ * @list: (element-type GObject): list of #GObject instances to search
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_elementtype</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>list</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>GObject</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>list of #GObject instances to search</description>
+ </parameter>
+ </parameters>
+ <description>Document optional parameters.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>%TRUE for success</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_elementtype:
+ * @list: (element-type GObject): list of #GObject instances to search
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_elementtype_transfer:
+ * @list: (element-type utf8) (transfer full): list of #GObject instances to search
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_elementtype_transfer</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>list</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>utf8</name>
+ </option>
+ </options>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>full</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>list of #GObject instances to search</description>
+ </parameter>
+ </parameters>
+ <description>Document optional parameters.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>%TRUE for success</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_elementtype_transfer:
+ * @list: (element-type utf8) (transfer full): list of #GObject instances to search
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_elementtype_returns:
+ *
+ * Document optional parameters.
+ *
+ * Returns: (element-type GObject): A list of #GObject instances.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_elementtype_returns</name>
+ </identifier>
+ <description>Document optional parameters.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>element-type</name>
+ <options>
+ <option>
+ <name>GObject</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>A list of #GObject instances.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_elementtype_returns:
+ *
+ * Document optional parameters.
+ *
+ * Returns: (element-type GObject): A list of #GObject instances.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_outparams:
+ * @list: (out) (transfer none): a pointer to take a list
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_outparams</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>list</name>
+ <annotations>
+ <annotation>
+ <name>out</name>
+ </annotation>
+ <annotation>
+ <name>transfer</name>
+ <options>
+ <option>
+ <name>none</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a pointer to take a list</description>
+ </parameter>
+ </parameters>
+ <description>Document optional parameters.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>%TRUE for success</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_outparams:
+ * @list: (out) (transfer none): a pointer to take a list
+ *
+ * Document optional parameters.
+ *
+ * Returns: %TRUE for success
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_skip: (skip)
+ * @list: a pointer to take a list
+ *
+ * Documentation for this function.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_skip</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>list</name>
+ <description>a pointer to take a list</description>
+ </parameter>
+ </parameters>
+ <description>Documentation for this function.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_skip: (skip)
+ * @list: a pointer to take a list
+ *
+ * Documentation for this function.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_skip_return: (skip)
+ * @list: a pointer to take a list
+ *
+ * Documentation for this function.
+ *
+ * Returns: (skip): %TRUE for success
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_skip_return</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>list</name>
+ <description>a pointer to take a list</description>
+ </parameter>
+ </parameters>
+ <description>Documentation for this function.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <annotations>
+ <annotation>
+ <name>skip</name>
+ </annotation>
+ </annotations>
+ <description>%TRUE for success</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_skip_return: (skip)
+ * @list: a pointer to take a list
+ *
+ * Documentation for this function.
+ *
+ * Returns: (skip): %TRUE for success
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * annotation_scope:
+ * @callback: (scope async): a callback
+ * @user_data: data to pass to callback
+ *
+ * Documentation for this function.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>annotation_scope</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>callback</name>
+ <annotations>
+ <annotation>
+ <name>scope</name>
+ <options>
+ <option>
+ <name>async</name>
+ </option>
+ </options>
+ </annotation>
+ </annotations>
+ <description>a callback</description>
+ </parameter>
+ <parameter>
+ <name>user_data</name>
+ <description>data to pass to callback</description>
+ </parameter>
+ </parameters>
+ <description>Documentation for this function.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * annotation_scope:
+ * @callback: (scope async): a callback
+ * @user_data: data to pass to callback
+ *
+ * Documentation for this function.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/annotations/tester.h.xml b/tests/scanner/annotationparser/gtkdoc/annotations/tester.h.xml
new file mode 100644
index 00000000..0917cd95
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/annotations/tester.h.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * GtkdocAnnotation:
+ * @that: (allow-none): eventualy points to something
+ *
+ * small struct
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocAnnotation</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>that</name>
+ <annotations>
+ <annotation>
+ <name>allow-none</name>
+ </annotation>
+ </annotations>
+ <description>eventualy points to something</description>
+ </parameter>
+ </parameters>
+ <description>small struct</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocAnnotation:
+ * @that: (allow-none): eventualy points to something
+ *
+ * small struct
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/bugs/tester.c.xml b/tests/scanner/annotationparser/gtkdoc/bugs/tester.c.xml
new file mode 100644
index 00000000..09ab9773
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/bugs/tester.c.xml
@@ -0,0 +1,1108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input><![CDATA[/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ *
+ * Some special characters need escaping. The tests should pass 100\%.
+ * Try a <ulink url="http://www.gtk.org/gtk-doc/#Top">link containing a # char</ulink>.
+ *
+ * <refsect2 id="dummy-id">
+ * <title>more details</title>
+ * <para>
+ * Second paragraph inside subsection.
+ * </para>
+ * </refsect2>
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:tester</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>module for gtk-doc unit test</description>
+ </parameter>
+ </parameters>
+ <description><![CDATA[This file contains non-sense code for the sole purpose of testing the docs.
+
+As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+returns nothing.
+
+Some special characters need escaping. The tests should pass 100\%.
+Try a <ulink url="http://www.gtk.org/gtk-doc/#Top">link containing a # char</ulink>.
+
+<refsect2 id="dummy-id">
+<title>more details</title>
+<para>
+Second paragraph inside subsection.
+</para>
+</refsect2>]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ *
+ * Some special characters need escaping. The tests should pass 100\%.
+ * Try a <ulink url="http://www.gtk.org/gtk-doc/#Top">link containing a # char</ulink>.
+ *
+ * <refsect2 id="dummy-id">
+ * <title>more details</title>
+ * <para>
+ * Second paragraph inside subsection.
+ * </para>
+ * </refsect2>
+ */]]></output>
+</test>
+
+<test>
+ <input>/**
+ * bug_141869_a:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=141869
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_141869_a</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>pid</name>
+ <description>arg</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=141869</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_141869_a:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=141869
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_141869_b:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=141869
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_141869_b</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>pid</name>
+ <description>arg</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=141869</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_141869_b:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=141869
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_379466:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=379466
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_379466</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>pid</name>
+ <description>arg</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=379466</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_379466:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=379466
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_380824:
+ * @arg: arg
+ *
+ * Returns a value.
+ * http://bugzilla.gnome.org/show_bug.cgi?id=380824
+ *
+ * Since: 0.1
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_380824</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>arg</name>
+ <description>arg</description>
+ </parameter>
+ </parameters>
+ <description>Returns a value.
+http://bugzilla.gnome.org/show_bug.cgi?id=380824</description>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>0.1</value>
+ </tag>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_380824:
+ * @arg: arg
+ *
+ * Returns a value.
+ * http://bugzilla.gnome.org/show_bug.cgi?id=380824
+ *
+ * Since: 0.1
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_411739:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=411739
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_411739</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=411739</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_411739:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=411739
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_419997:
+ * @const_values: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=419997
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_419997</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>const_values</name>
+ <description>arg</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=419997</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_419997:
+ * @const_values: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=419997
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_445693:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=445693
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_445693</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>pid</name>
+ <description>arg</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=445693</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_445693:
+ * @pid: arg
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=445693
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_471014:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=471014
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_471014</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=471014</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_471014:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=471014
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug446648:
+ * @BUG_446648_FOO: foo
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=446648
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug446648</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>BUG_446648_FOO</name>
+ <description>foo</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=446648</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug446648:
+ * @BUG_446648_FOO: foo
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=446648
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_552602:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=552602
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_552602</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=552602</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_552602:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=552602
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_574654a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=574654
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_574654a</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=574654</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_574654a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=574654
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_574654b:
+ * @offset: skip this many items
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=574654
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_574654b</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>offset</name>
+ <description>skip this many items</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=574654</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_574654b:
+ * @offset: skip this many items
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=574654
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_580300a_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_580300a_get_type</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=580300</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_580300a_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_580300b_get_type:
+ * @a: value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_580300b_get_type</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>value</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=580300</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_580300b_get_type:
+ * @a: value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_580300c_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_580300c_get_type</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=580300</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_580300c_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_580300d_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_580300d_get_type</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=580300</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_580300d_get_type:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=580300
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_597937:
+ * @function_arg: value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=597937
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_597937</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>function_arg</name>
+ <description>value</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=597937</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_597937:
+ * @function_arg: value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=597937
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_602518a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_602518a</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=602518</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_602518a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_602518b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_602518b</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=602518</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_602518b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_602518c:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_602518c</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=602518</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_602518c:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=602518
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_607445:
+ * @a: parameter
+ * @n: parameter
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=607445
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_607445</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>parameter</description>
+ </parameter>
+ <parameter>
+ <name>n</name>
+ <description>parameter</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=607445</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_607445:
+ * @a: parameter
+ * @n: parameter
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=607445
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_610257:
+ * @der: parameter
+ * @len: parameter
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=610257
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_610257</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>der</name>
+ <description>parameter</description>
+ </parameter>
+ <parameter>
+ <name>len</name>
+ <description>parameter</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=610257</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_610257:
+ * @der: parameter
+ * @len: parameter
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=610257
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * bug_623968a:
+ *
+ * <para>test</para>
+ * <refsect3>
+ * <title>subsect</title>
+ * <para>test</para>
+ * </refsect3>
+ **/]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_623968a</name>
+ </identifier>
+ <description><![CDATA[<para>test</para>
+<refsect3>
+ <title>subsect</title>
+ <para>test</para>
+</refsect3>]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * bug_623968a:
+ *
+ * <para>test</para>
+ * <refsect3>
+ * <title>subsect</title>
+ * <para>test</para>
+ * </refsect3>
+ */]]></output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * bug_623968b:
+ *
+ * test
+ *
+ * <refsect3>
+ * <title>subsect</title>
+ * <para>test</para>
+ * </refsect3>
+ **/]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_623968b</name>
+ </identifier>
+ <description><![CDATA[test
+
+<refsect3>
+ <title>subsect</title>
+ <para>test</para>
+</refsect3>]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * bug_623968b:
+ *
+ * test
+ *
+ * <refsect3>
+ * <title>subsect</title>
+ * <para>test</para>
+ * </refsect3>
+ */]]></output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * bug_623968c:
+ *
+ * <para>test</para>
+ **/]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_623968c</name>
+ </identifier>
+ <description><![CDATA[<para>test</para>]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * bug_623968c:
+ *
+ * <para>test</para>
+ */]]></output>
+</test>
+
+<test>
+ <input>/**
+ * bug_624200a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624200
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_624200a</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=624200</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_624200a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624200
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_624200b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624200
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_624200b</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=624200</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_624200b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624200
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_638330:
+ * @arg1: arg1
+ * @data: data
+ * @length: length
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=638330
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_638330</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>arg1</name>
+ <description>arg1</description>
+ </parameter>
+ <parameter>
+ <name>data</name>
+ <description>data</description>
+ </parameter>
+ <parameter>
+ <name>length</name>
+ <description>length</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=638330</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_638330:
+ * @arg1: arg1
+ * @data: data
+ * @length: length
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=638330
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_000000_va1:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_000000_va1</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>name</name>
+ <description>a name</description>
+ </parameter>
+ <parameter>
+ <name>...</name>
+ <description>A printf-style message to output</description>
+ </parameter>
+ </parameters>
+ <description>Outputs a message.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_000000_va1:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_624001a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_624001a</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=624001</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_624001a:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_624001b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_624001b</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=624001</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_624001b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_624001c:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_624001c</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=624001</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_624001c:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_624001d:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_624001d</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=624001</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_624001d:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_624001e:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_624001e</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=624001</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_624001e:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=624001
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * deprecation_notice:
+ *
+ * Foo.
+ *
+ * Deprecated: 3.10: Use named icon "bar" instead.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>deprecation_notice</name>
+ </identifier>
+ <description>Foo.</description>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <value>3.10</value>
+ <description>Use named icon "bar" instead.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * deprecation_notice:
+ *
+ * Foo.
+ *
+ * Deprecated: 3.10: Use named icon "bar" instead.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/bugs/tester.h.xml b/tests/scanner/annotationparser/gtkdoc/bugs/tester.h.xml
new file mode 100644
index 00000000..5dad3cb8
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/bugs/tester.h.xml
@@ -0,0 +1,925 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * Bug324535:
+ * @BUG_324535_A: enum 1
+ * @BUG_324535_B: enum 2
+ * @BUG_324535_C: enum 3
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=324535
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug324535</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>BUG_324535_A</name>
+ <description>enum 1</description>
+ </parameter>
+ <parameter>
+ <name>BUG_324535_B</name>
+ <description>enum 2</description>
+ </parameter>
+ <parameter>
+ <name>BUG_324535_C</name>
+ <description>enum 3</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=324535</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug324535:
+ * @BUG_324535_A: enum 1
+ * @BUG_324535_B: enum 2
+ * @BUG_324535_C: enum 3
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=324535
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_481811:
+ * @x: argument
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=481811
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_481811</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>x</name>
+ <description>argument</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=481811</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_481811:
+ * @x: argument
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=481811
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_501038:
+ * @a: value
+ * @b: deprecated value
+ * @_b: scrambled deprecated value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=501038
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_501038</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>value</description>
+ </parameter>
+ <parameter>
+ <name>b</name>
+ <description>deprecated value</description>
+ </parameter>
+ <parameter>
+ <name>_b</name>
+ <description>scrambled deprecated value</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=501038</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_501038:
+ * @a: value
+ * @b: deprecated value
+ * @_b: scrambled deprecated value
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=501038
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_460127:
+ * @a: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=460127
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_460127</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>field</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=460127</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_460127:
+ * @a: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=460127
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_477532:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=477532
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_477532</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=477532</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_477532:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=477532
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug446648:
+ * @BUG_446648_FOO: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=446648
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug446648</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>BUG_446648_FOO</name>
+ <description>field</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=446648</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug446648:
+ * @BUG_446648_FOO: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=446648
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug512154:
+ * @index: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512154
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug512154</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>index</name>
+ <description>field</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=512154</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug512154:
+ * @index: field
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512154
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_512155a_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_512155a_function_pointer_t</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>arg1</name>
+ <description>param 1</description>
+ </parameter>
+ <parameter>
+ <name>arg2</name>
+ <description>param 1</description>
+ </parameter>
+ <parameter>
+ <name>arg3</name>
+ <description>param 1</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=512155</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_512155a_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_512155b_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_512155b_function_pointer_t</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>arg1</name>
+ <description>param 1</description>
+ </parameter>
+ <parameter>
+ <name>arg2</name>
+ <description>param 1</description>
+ </parameter>
+ <parameter>
+ <name>arg3</name>
+ <description>param 1</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=512155</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_512155b_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_512155c_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_512155c_function_pointer_t</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>arg1</name>
+ <description>param 1</description>
+ </parameter>
+ <parameter>
+ <name>arg2</name>
+ <description>param 1</description>
+ </parameter>
+ <parameter>
+ <name>arg3</name>
+ <description>param 1</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=512155</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_512155c_function_pointer_t:
+ * @arg1: param 1
+ * @arg2: param 1
+ * @arg3: param 1
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=512155
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * BUG_530758:
+ *
+ * {{![CDATA[http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1]]!}}
+ *
+ * <ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1">Test</ulink>
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>BUG_530758</name>
+ </identifier>
+ <description><![CDATA[{{![CDATA[http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1]]!}}
+
+<ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1">Test</ulink>]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * BUG_530758:
+ *
+ * {{![CDATA[http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1]]!}}
+ *
+ * <ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=530758#c1">Test</ulink>
+ */]]></output>
+</test>
+
+<test>
+ <input>/**
+ * bug_532395a:
+ * @number: a number
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=532395
+ *
+ * Returns: number
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_532395a</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>number</name>
+ <description>a number</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=532395</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>number</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_532395a:
+ * @number: a number
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=532395
+ *
+ * Returns: number
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_532395b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=532395
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_532395b</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=532395</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_532395b:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=532395
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_544172:
+ * @self: object pointer.
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=544172
+ *
+ * Returns: result or %NULL.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_544172</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>object pointer.</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=544172</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result or %NULL.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_544172:
+ * @self: object pointer.
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=544172
+ *
+ * Returns: result or %NULL.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_554833:
+ * @i: value;
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=554833
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_554833</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>i</name>
+ <description>value;</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=554833</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_554833:
+ * @i: value;
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=554833
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * bug_554833_new:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=554833
+ *
+ * Returns: result
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>bug_554833_new</name>
+ </identifier>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=554833</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>result</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * bug_554833_new:
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=554833
+ *
+ * Returns: result
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug165425a:
+ * @i: data as int
+ * @f: data as float
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=165425
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug165425a</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>i</name>
+ <description>data as int</description>
+ </parameter>
+ <parameter>
+ <name>f</name>
+ <description>data as float</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=165425</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug165425a:
+ * @i: data as int
+ * @f: data as float
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=165425
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug165425b:
+ * @i: data as int
+ * @f: data as float
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=165425
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug165425b</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>i</name>
+ <description>data as int</description>
+ </parameter>
+ <parameter>
+ <name>f</name>
+ <description>data as float</description>
+ </parameter>
+ </parameters>
+ <description>http://bugzilla.gnome.org/show_bug.cgi?id=165425</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug165425b:
+ * @i: data as int
+ * @f: data as float
+ *
+ * http://bugzilla.gnome.org/show_bug.cgi?id=165425
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug642998:
+ * @red: red color intensity, from 0–255
+ * @green: green color intensity, from 0–255
+ * @blue: blue color intensity, from 0–255
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=642998
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug642998</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>red</name>
+ <description>red color intensity, from 0–255</description>
+ </parameter>
+ <parameter>
+ <name>green</name>
+ <description>green color intensity, from 0–255</description>
+ </parameter>
+ <parameter>
+ <name>blue</name>
+ <description>blue color intensity, from 0–255</description>
+ </parameter>
+ </parameters>
+ <description>https://bugzilla.gnome.org/show_bug.cgi?id=642998</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug642998:
+ * @red: red color intensity, from 0–255
+ * @green: green color intensity, from 0–255
+ * @blue: blue color intensity, from 0–255
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=642998
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug644291:
+ * @BUG_644291_START: foo
+ * @BUG_644291_TEXT: bar
+ * @BUG_644291_END: milk
+ * @BUG_644291_ATTRIBUTE: comes
+ * @BUG_644291_XMLNS: from
+ * @BUG_644291_ASSIGN_TO: cows
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=644291
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug644291</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>BUG_644291_START</name>
+ <description>foo</description>
+ </parameter>
+ <parameter>
+ <name>BUG_644291_TEXT</name>
+ <description>bar</description>
+ </parameter>
+ <parameter>
+ <name>BUG_644291_END</name>
+ <description>milk</description>
+ </parameter>
+ <parameter>
+ <name>BUG_644291_ATTRIBUTE</name>
+ <description>comes</description>
+ </parameter>
+ <parameter>
+ <name>BUG_644291_XMLNS</name>
+ <description>from</description>
+ </parameter>
+ <parameter>
+ <name>BUG_644291_ASSIGN_TO</name>
+ <description>cows</description>
+ </parameter>
+ </parameters>
+ <description>https://bugzilla.gnome.org/show_bug.cgi?id=644291</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug644291:
+ * @BUG_644291_START: foo
+ * @BUG_644291_TEXT: bar
+ * @BUG_644291_END: milk
+ * @BUG_644291_ATTRIBUTE: comes
+ * @BUG_644291_XMLNS: from
+ * @BUG_644291_ASSIGN_TO: cows
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=644291
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * BUG_000000_VA2:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>BUG_000000_VA2</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>name</name>
+ <description>a name</description>
+ </parameter>
+ <parameter>
+ <name>...</name>
+ <description>A printf-style message to output</description>
+ </parameter>
+ </parameters>
+ <description>Outputs a message.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * BUG_000000_VA2:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * BUG_000000_VA3:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>BUG_000000_VA3</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>name</name>
+ <description>a name</description>
+ </parameter>
+ <parameter>
+ <name>...</name>
+ <description>A printf-style message to output</description>
+ </parameter>
+ </parameters>
+ <description>Outputs a message.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * BUG_000000_VA3:
+ * @name: a name
+ * @...: A printf-style message to output
+ *
+ * Outputs a message.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * Bug000000Scope:
+ *
+ * Opaque structure.
+ * "warning: Field descriptions for Bug000000Scope are missing in source code comment block."
+ * but not if we remove the blank line before "int b";
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>Bug000000Scope</name>
+ </identifier>
+ <description>Opaque structure.
+"warning: Field descriptions for Bug000000Scope are missing in source code comment block."
+but not if we remove the blank line before "int b";</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * Bug000000Scope:
+ *
+ * Opaque structure.
+ * "warning: Field descriptions for Bug000000Scope are missing in source code comment block."
+ * but not if we remove the blank line before "int b";
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * gst_play_marshal_BUFFER__BOXED:
+ * @closure: test
+ * @return_value: test
+ * @marshal_data: test
+ *
+ * test.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gst_play_marshal_BUFFER__BOXED</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>closure</name>
+ <description>test</description>
+ </parameter>
+ <parameter>
+ <name>return_value</name>
+ <description>test</description>
+ </parameter>
+ <parameter>
+ <name>marshal_data</name>
+ <description>test</description>
+ </parameter>
+ </parameters>
+ <description>test.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * gst_play_marshal_BUFFER__BOXED:
+ * @closure: test
+ * @return_value: test
+ * @marshal_data: test
+ *
+ * test.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * BUG_656773a:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>BUG_656773a</name>
+ </identifier>
+ <description>https://bugzilla.gnome.org/show_bug.cgi?id=656773</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * BUG_656773a:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * BUG_656773b:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>BUG_656773b</name>
+ </identifier>
+ <description>https://bugzilla.gnome.org/show_bug.cgi?id=656773</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * BUG_656773b:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * BUG_656773c:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>BUG_656773c</name>
+ </identifier>
+ <description>https://bugzilla.gnome.org/show_bug.cgi?id=656773</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * BUG_656773c:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656773
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * BUG_656946:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656946
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>BUG_656946</name>
+ </identifier>
+ <description>https://bugzilla.gnome.org/show_bug.cgi?id=656946</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * BUG_656946:
+ *
+ * https://bugzilla.gnome.org/show_bug.cgi?id=656946
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/empty/tester.c.xml b/tests/scanner/annotationparser/gtkdoc/empty/tester.c.xml
new file mode 100644
index 00000000..65bda61f
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/empty/tester.c.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input><![CDATA[/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:tester</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>module for gtk-doc unit test</description>
+ </parameter>
+ </parameters>
+ <description><![CDATA[This file contains non-sense code for the sole purpose of testing the docs.
+
+As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+returns nothing.]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * SECTION:tester
+ * @short_description: module for gtk-doc unit test
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * As described in http://bugzilla.gnome.org/show_bug.cgi?id=457077 it
+ * returns nothing.
+ */]]></output>
+</test>
+
+<test>
+ <input>/**
+ * test:
+ * @a: arg
+ *
+ * lonely function
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>test</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>arg</description>
+ </parameter>
+ </parameters>
+ <description>lonely function</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * test:
+ * @a: arg
+ *
+ * lonely function
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/fail/tester.c.xml b/tests/scanner/annotationparser/gtkdoc/fail/tester.c.xml
new file mode 100644
index 00000000..40fbbff5
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/fail/tester.c.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/*
+ * SECTION:tester_nodocs
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterNoDocs
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</input>
+</test>
+
+<test>
+ <input>/**
+ * SECTION:tester_nolongdesc
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterNoLongDesc
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:tester_nolongdesc</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>module for gtk-doc unit test</description>
+ </parameter>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocTesterNoLongDesc</description>
+ </parameter>
+ </parameters>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:tester_nolongdesc
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterNoLongDesc
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * SECTION:tester_noshortdesc
+ * @title: GtkdocTesterNoShortDesc
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:tester_noshortdesc</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocTesterNoShortDesc</description>
+ </parameter>
+ </parameters>
+ <description>This file contains non-sense code for the sole purpose of testing the docs.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:tester_noshortdesc
+ * @title: GtkdocTesterNoShortDesc
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * SECTION:tester_brokendocs
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterBrokenDocs
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:tester_brokendocs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>short_description</name>
+ <description>module for gtk-doc unit test</description>
+ </parameter>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocTesterBrokenDocs</description>
+ </parameter>
+ </parameters>
+ <description>This file contains non-sense code for the sole purpose of testing the docs.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:tester_brokendocs
+ * @short_description: module for gtk-doc unit test
+ * @title: GtkdocTesterBrokenDocs
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * func_no_docs:
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>func_no_docs</name>
+ </identifier>
+ </docblock>
+ </parser>
+ <output>/**
+ * func_no_docs:
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * func_no_item_docs:
+ *
+ * Here we document the function but not the parameters.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>func_no_item_docs</name>
+ </identifier>
+ <description>Here we document the function but not the parameters.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * func_no_item_docs:
+ *
+ * Here we document the function but not the parameters.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * func_incomplete_docs:
+ * @a: a value
+ *
+ * Here we document the function but not all the parameters.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>func_incomplete_docs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>a value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the function but not all the parameters.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * func_incomplete_docs:
+ * @a: a value
+ *
+ * Here we document the function but not all the parameters.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * func_unused_docs:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the function and more than the actual parameters.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>func_unused_docs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>b</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>c</name>
+ <description>an unexisting value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the function and more than the actual parameters.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * func_unused_docs:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the function and more than the actual parameters.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/fail/tester.h.xml b/tests/scanner/annotationparser/gtkdoc/fail/tester.h.xml
new file mode 100644
index 00000000..069ae71a
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/fail/tester.h.xml
@@ -0,0 +1,281 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+<input>/**
+ * MACRO_NO_ITEM_DOCS:
+ *
+ * Here we document the macro but not the parameters.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>MACRO_NO_ITEM_DOCS</name>
+ </identifier>
+ <description>Here we document the macro but not the parameters.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * MACRO_NO_ITEM_DOCS:
+ *
+ * Here we document the macro but not the parameters.
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * MACRO_INCOMPLETE_DOCS:
+ * @a: a value
+ *
+ * Here we document the macro but not all the parameters.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>MACRO_INCOMPLETE_DOCS</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>a value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the macro but not all the parameters.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * MACRO_INCOMPLETE_DOCS:
+ * @a: a value
+ *
+ * Here we document the macro but not all the parameters.
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * MACRO_UNUSED_DOCS:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the macro and more than the actual parameters.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>MACRO_UNUSED_DOCS</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>b</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>c</name>
+ <description>an unexisting value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the macro and more than the actual parameters.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * MACRO_UNUSED_DOCS:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the macro and more than the actual parameters.
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * EnumNoItemDocs:
+ *
+ * Here we document the enum but not the values.
+ * http://bugzilla.gnome.org/show_bug.cgi?id=568711
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>EnumNoItemDocs</name>
+ </identifier>
+ <description>Here we document the enum but not the values.
+http://bugzilla.gnome.org/show_bug.cgi?id=568711</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * EnumNoItemDocs:
+ *
+ * Here we document the enum but not the values.
+ * http://bugzilla.gnome.org/show_bug.cgi?id=568711
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * EnumIncompleteDocs:
+ * @ENUM_INCOMPLETE_DOCS_1: a value
+ *
+ * Here we document the enum but not all the values.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>EnumIncompleteDocs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>ENUM_INCOMPLETE_DOCS_1</name>
+ <description>a value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the enum but not all the values.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * EnumIncompleteDocs:
+ * @ENUM_INCOMPLETE_DOCS_1: a value
+ *
+ * Here we document the enum but not all the values.
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * EnumUnusedDocs:
+ * @ENUM_UNUSED_DOCS_1: a value
+ * @ENUM_UNUSED_DOCS_2: a value
+ * @ENUM_UNUSED_DOCS_3: an unexisting value
+ *
+ * Here we document the enum and more than the actual values.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>EnumUnusedDocs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>ENUM_UNUSED_DOCS_1</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>ENUM_UNUSED_DOCS_2</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>ENUM_UNUSED_DOCS_3</name>
+ <description>an unexisting value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the enum and more than the actual values.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * EnumUnusedDocs:
+ * @ENUM_UNUSED_DOCS_1: a value
+ * @ENUM_UNUSED_DOCS_2: a value
+ * @ENUM_UNUSED_DOCS_3: an unexisting value
+ *
+ * Here we document the enum and more than the actual values.
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * StructNoItemDocs:
+ *
+ * Here we document the struct but not the values.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>StructNoItemDocs</name>
+ </identifier>
+ <description>Here we document the struct but not the values.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * StructNoItemDocs:
+ *
+ * Here we document the struct but not the values.
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * StructIncompleteDocs:
+ * @a: a value
+ *
+ * Here we document the struct but not all the values.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>StructIncompleteDocs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>a value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the struct but not all the values.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * StructIncompleteDocs:
+ * @a: a value
+ *
+ * Here we document the struct but not all the values.
+ */</output>
+</test>
+
+<test>
+<input>/**
+ * StructUnusedDocs:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the struct and more than the actual values.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>StructUnusedDocs</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>a</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>b</name>
+ <description>a value</description>
+ </parameter>
+ <parameter>
+ <name>c</name>
+ <description>an unexisting value</description>
+ </parameter>
+ </parameters>
+ <description>Here we document the struct and more than the actual values.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * StructUnusedDocs:
+ * @a: a value
+ * @b: a value
+ * @c: an unexisting value
+ *
+ * Here we document the struct and more than the actual values.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/gobject/giface.c.xml b/tests/scanner/annotationparser/gtkdoc/gobject/giface.c.xml
new file mode 100644
index 00000000..c295edbc
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/gobject/giface.c.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input><![CDATA[/**
+ * SECTION:iface
+ * @title: GtkdocIface
+ * @short_description: interface for gtk-doc unit test
+ * @see_also: #GtkdocObject
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ * We can link to the #GtkdocIface:itest property and the #GtkdocIface::itest
+ * signal.
+ * An instance can be configured using the gtkdoc_iface_configure() function.
+ *
+ * I can haz pictures too!
+ * <mediaobject>
+ * <imageobject><imagedata fileref="home.png" format="PNG"/></imageobject>
+ * <caption><para>Home sweet home.</para></caption>
+ * </mediaobject>
+ *
+ * Just incase you wonder, special caracters can be escaped with a \ like in \%
+ * or \# or even \@.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:iface</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocIface</description>
+ </parameter>
+ <parameter>
+ <name>short_description</name>
+ <description>interface for gtk-doc unit test</description>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#GtkdocObject</description>
+ </parameter>
+ </parameters>
+ <description><![CDATA[This file contains non-sense code for the sole purpose of testing the docs.
+We can link to the #GtkdocIface:itest property and the #GtkdocIface::itest
+signal.
+An instance can be configured using the gtkdoc_iface_configure() function.
+
+I can haz pictures too!
+<mediaobject>
+ <imageobject><imagedata fileref="home.png" format="PNG"/></imageobject>
+ <caption><para>Home sweet home.</para></caption>
+</mediaobject>
+
+Just incase you wonder, special caracters can be escaped with a \ like in \%
+or \# or even \@.]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * SECTION:iface
+ * @title: GtkdocIface
+ * @short_description: interface for gtk-doc unit test
+ * @see_also: #GtkdocObject
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ * We can link to the #GtkdocIface:itest property and the #GtkdocIface::itest
+ * signal.
+ * An instance can be configured using the gtkdoc_iface_configure() function.
+ *
+ * I can haz pictures too!
+ * <mediaobject>
+ * <imageobject><imagedata fileref="home.png" format="PNG"/></imageobject>
+ * <caption><para>Home sweet home.</para></caption>
+ * </mediaobject>
+ *
+ * Just incase you wonder, special caracters can be escaped with a \ like in \%
+ * or \# or even \@.
+ */]]></output>
+</test>
+
+<test>
+ <input>/**
+ * SECTION:iface2
+ * @title: GtkdocIface2
+ * @short_description: interface with a prerequisite for gtk-doc unit test
+ * @see_also: #GtkdocObject, #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:iface2</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocIface2</description>
+ </parameter>
+ <parameter>
+ <name>short_description</name>
+ <description>interface with a prerequisite for gtk-doc unit test</description>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#GtkdocObject, #GtkdocIface</description>
+ </parameter>
+ </parameters>
+ <description>This file contains non-sense code for the sole purpose of testing the docs.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:iface2
+ * @title: GtkdocIface2
+ * @short_description: interface with a prerequisite for gtk-doc unit test
+ * @see_also: #GtkdocObject, #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * gtkdoc_iface_configure:
+ * @config: settings
+ *
+ * Configure a new instance
+ *
+ * Returns: %TRUE for sucess or %FALSE in case of an error
+ * Since: 0.1
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gtkdoc_iface_configure</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>config</name>
+ <description>settings</description>
+ </parameter>
+ </parameters>
+ <description>Configure a new instance</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>%TRUE for sucess or %FALSE in case of an error</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>0.1</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * gtkdoc_iface_configure:
+ * @config: settings
+ *
+ * Configure a new instance
+ *
+ * Returns: %TRUE for sucess or %FALSE in case of an error
+ * Since: 0.1
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocIface::itest:
+ * @self: myself
+ *
+ * The event has been triggered.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocIface::itest</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>myself</description>
+ </parameter>
+ </parameters>
+ <description>The event has been triggered.</description>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkdocIface::itest:
+ * @self: myself
+ *
+ * The event has been triggered.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/gobject/giface.h.xml b/tests/scanner/annotationparser/gtkdoc/gobject/giface.h.xml
new file mode 100644
index 00000000..e3ed09ca
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/gobject/giface.h.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * GtkdocIface:
+ *
+ * opaque instance of gtk-doc unit test interface
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocIface</name>
+ </identifier>
+ <description>opaque instance of gtk-doc unit test interface</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocIface:
+ *
+ * opaque instance of gtk-doc unit test interface
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocIface2:
+ *
+ * opaque instance of gtk-doc unit test interface
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocIface2</name>
+ </identifier>
+ <description>opaque instance of gtk-doc unit test interface</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocIface2:
+ *
+ * opaque instance of gtk-doc unit test interface
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocIfaceInterface:
+ * @parent: this is a bug :/
+ * @test: overideable method
+ *
+ * class data of gtk-doc unit test interface
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocIfaceInterface</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>parent</name>
+ <description>this is a bug :/</description>
+ </parameter>
+ <parameter>
+ <name>test</name>
+ <description>overideable method</description>
+ </parameter>
+ </parameters>
+ <description>class data of gtk-doc unit test interface</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocIfaceInterface:
+ * @parent: this is a bug :/
+ * @test: overideable method
+ *
+ * class data of gtk-doc unit test interface
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GTKDOC_IFACE_MACRO_DUMMY:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro does nothing.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GTKDOC_IFACE_MACRO_DUMMY</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>parameter_1</name>
+ <description>first arg</description>
+ </parameter>
+ <parameter>
+ <name>parameter_2</name>
+ <description>second arg</description>
+ </parameter>
+ </parameters>
+ <description>This macro does nothing.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GTKDOC_IFACE_MACRO_DUMMY:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro does nothing.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GTKDOC_IFACE_MACRO_SUM:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro adds its args.
+ *
+ * Returns: the sum of @parameter_1 and @parameter_2
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GTKDOC_IFACE_MACRO_SUM</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>parameter_1</name>
+ <description>first arg</description>
+ </parameter>
+ <parameter>
+ <name>parameter_2</name>
+ <description>second arg</description>
+ </parameter>
+ </parameters>
+ <description>This macro adds its args.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>the sum of @parameter_1 and @parameter_2</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * GTKDOC_IFACE_MACRO_SUM:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro adds its args.
+ *
+ * Returns: the sum of @parameter_1 and @parameter_2
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/gobject/gobject.c.xml b/tests/scanner/annotationparser/gtkdoc/gobject/gobject.c.xml
new file mode 100644
index 00000000..b54a1a74
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/gobject/gobject.c.xml
@@ -0,0 +1,616 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input><![CDATA[/**
+ * SECTION:object
+ * @title: GtkdocObject
+ * @short_description: class for gtk-doc unit test
+ * @see_also: #GtkdocIface
+ * @Image: object.png
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ * We can link to the #GtkdocObject:otest property and the #GtkdocObject::otest
+ * signal.
+ *
+ * When subclassing it is useful to override the #GtkdocObjectClass.test()
+ * method. The #GtkdocObjectClass.foo_bar() vmethod lets you refine your
+ * frobnicator.
+ *
+ * A new instance can be created using the gtkdoc_object_new() function. The
+ * whole lifecycle usualy looks like shown in this example:
+ * |[{{!-- language="C" --!}}
+ * GObject *myobj;
+ *
+ * myobj = gtkdoc_object_new();
+ * // do somehing
+ * g_object_unref (myobj);
+ * ]|
+ *
+ * # Examples #
+ *
+ * You can also change parameters:
+ * <informalexample>
+ * <programlisting language="c"><xi:include xmlns:xi="http://www.w3.org/2003/XInclude" parse="text" href="../../examples/gobject.c" /></programlisting>
+ * </informalexample>
+ *
+ * This example serves two main purposes:
+ * - testing conversion (long description
+ * follows here)
+ * - catching bugs
+ * - having an example
+ *
+ * Nothing more to say.
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:object</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocObject</description>
+ </parameter>
+ <parameter>
+ <name>short_description</name>
+ <description>class for gtk-doc unit test</description>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#GtkdocIface</description>
+ </parameter>
+ <parameter>
+ <name>Image</name>
+ <description>object.png</description>
+ </parameter>
+ </parameters>
+ <description><![CDATA[This file contains non-sense code for the sole purpose of testing the docs.
+We can link to the #GtkdocObject:otest property and the #GtkdocObject::otest
+signal.
+
+When subclassing it is useful to override the #GtkdocObjectClass.test()
+method. The #GtkdocObjectClass.foo_bar() vmethod lets you refine your
+frobnicator.
+
+A new instance can be created using the gtkdoc_object_new() function. The
+whole lifecycle usualy looks like shown in this example:
+|[{{!-- language="C" --!}}
+GObject *myobj;
+
+myobj = gtkdoc_object_new();
+// do somehing
+g_object_unref (myobj);
+]|
+
+# Examples #
+
+You can also change parameters:
+<informalexample>
+<programlisting language="c"><xi:include xmlns:xi="http://www.w3.org/2003/XInclude" parse="text" href="../../examples/gobject.c" /></programlisting>
+</informalexample>
+
+This example serves two main purposes:
+- testing conversion (long description
+ follows here)
+- catching bugs
+- having an example
+
+Nothing more to say.]]></description>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * SECTION:object
+ * @title: GtkdocObject
+ * @short_description: class for gtk-doc unit test
+ * @see_also: #GtkdocIface
+ * @Image: object.png
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ * We can link to the #GtkdocObject:otest property and the #GtkdocObject::otest
+ * signal.
+ *
+ * When subclassing it is useful to override the #GtkdocObjectClass.test()
+ * method. The #GtkdocObjectClass.foo_bar() vmethod lets you refine your
+ * frobnicator.
+ *
+ * A new instance can be created using the gtkdoc_object_new() function. The
+ * whole lifecycle usualy looks like shown in this example:
+ * |[{{!-- language="C" --!}}
+ * GObject *myobj;
+ *
+ * myobj = gtkdoc_object_new();
+ * // do somehing
+ * g_object_unref (myobj);
+ * ]|
+ *
+ * # Examples #
+ *
+ * You can also change parameters:
+ * <informalexample>
+ * <programlisting language="c"><xi:include xmlns:xi="http://www.w3.org/2003/XInclude" parse="text" href="../../examples/gobject.c" /></programlisting>
+ * </informalexample>
+ *
+ * This example serves two main purposes:
+ * - testing conversion (long description
+ * follows here)
+ * - catching bugs
+ * - having an example
+ *
+ * Nothing more to say.
+ */]]></output>
+</test>
+
+<test>
+ <input>/**
+ * SECTION:object2
+ * @title: GtkdocObject2
+ * @short_description: class with interface for gtk-doc unit test
+ * @see_also: #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * Internals
+ * =========
+ *
+ * All the internal details go here or not:
+ * - single item list
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:object2</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocObject2</description>
+ </parameter>
+ <parameter>
+ <name>short_description</name>
+ <description>class with interface for gtk-doc unit test</description>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#GtkdocIface</description>
+ </parameter>
+ </parameters>
+ <description>This file contains non-sense code for the sole purpose of testing the docs.
+
+Internals
+=========
+
+All the internal details go here or not:
+- single item list</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:object2
+ * @title: GtkdocObject2
+ * @short_description: class with interface for gtk-doc unit test
+ * @see_also: #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ *
+ * Internals
+ * =========
+ *
+ * All the internal details go here or not:
+ * - single item list
+ */</output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * gtkdoc_object_new:
+ *
+ * Create a new instance
+ * <note><para>
+ * This will only work if you have called g_type_init() before.
+ * </para></note>
+ *
+ * Returns: the instance or %NULL in case of an error
+ * Since: 0.1
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gtkdoc_object_new</name>
+ </identifier>
+ <description><![CDATA[Create a new instance
+<note><para>
+ This will only work if you have called g_type_init() before.
+</para></note>]]></description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>the instance or %NULL in case of an error</description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>0.1</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * gtkdoc_object_new:
+ *
+ * Create a new instance
+ * <note><para>
+ * This will only work if you have called g_type_init() before.
+ * </para></note>
+ *
+ * Returns: the instance or %NULL in case of an error
+ * Since: 0.1
+ */]]></output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * gtkdoc_object_set_otest:
+ * @self: the object
+ * @value: the new otest value, whose description extends further than one
+ * line will allow
+ *
+ * Set the #GtkdocObject:otest property. This is a long paragraph.
+ *
+ * Oh, btw. setting the property directly saves us one method.
+ *
+ * Deprecated: Use g_object_set(obj,&quot;otest&quot;,value,NULL); instead.
+ * Since: 0.5
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gtkdoc_object_set_otest</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>the object</description>
+ </parameter>
+ <parameter>
+ <name>value</name>
+ <description>the new otest value, whose description extends further than one
+ line will allow</description>
+ </parameter>
+ </parameters>
+ <description>Set the #GtkdocObject:otest property. This is a long paragraph.
+
+Oh, btw. setting the property directly saves us one method.</description>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <description><![CDATA[Use g_object_set(obj,&quot;otest&quot;,value,NULL); instead.]]></description>
+ </tag>
+ <tag>
+ <name>since</name>
+ <value>0.5</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * gtkdoc_object_set_otest:
+ * @self: the object
+ * @value: the new otest value, whose description extends further than one
+ * line will allow
+ *
+ * Set the #GtkdocObject:otest property. This is a long paragraph.
+ *
+ * Oh, btw. setting the property directly saves us one method.
+ *
+ * Deprecated: Use g_object_set(obj,&quot;otest&quot;,value,NULL); instead.
+ * Since: 0.5
+ */]]></output>
+</test>
+
+<test>
+ <input><![CDATA[/**
+ * gtkdoc_object_frobnicate:
+ * @self: the object
+ * @n: number of iterations
+ *
+ * Frobnicate the content of @self @n times. This implements a
+ * complex algorithm (http://en.wikipedia.org/wiki/Algorithm).
+ * <footnote>
+ * <para>
+ * Negative frobnication can lead to unexpected behaviour.
+ * </para>
+ * </footnote>
+ *
+ * Since: 0.5
+ */]]></input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gtkdoc_object_frobnicate</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>the object</description>
+ </parameter>
+ <parameter>
+ <name>n</name>
+ <description>number of iterations</description>
+ </parameter>
+ </parameters>
+ <description><![CDATA[Frobnicate the content of @self @n times. This implements a
+complex algorithm (http://en.wikipedia.org/wiki/Algorithm).
+<footnote>
+ <para>
+ Negative frobnication can lead to unexpected behaviour.
+ </para>
+</footnote>]]></description>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>0.5</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output><![CDATA[/**
+ * gtkdoc_object_frobnicate:
+ * @self: the object
+ * @n: number of iterations
+ *
+ * Frobnicate the content of @self @n times. This implements a
+ * complex algorithm (http://en.wikipedia.org/wiki/Algorithm).
+ * <footnote>
+ * <para>
+ * Negative frobnication can lead to unexpected behaviour.
+ * </para>
+ * </footnote>
+ *
+ * Since: 0.5
+ */]]></output>
+</test>
+
+<test>
+ <input>/**
+ * gtkdoc_object_fooify:
+ * @self: the object
+ * @...: a NULL terminated list of arguments
+ *
+ * Fooify the content of @self.
+ *
+ * Returns: %TRUE for success
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>gtkdoc_object_fooify</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>the object</description>
+ </parameter>
+ <parameter>
+ <name>...</name>
+ <description>a NULL terminated list of arguments</description>
+ </parameter>
+ </parameters>
+ <description>Fooify the content of @self.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>%TRUE for success</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * gtkdoc_object_fooify:
+ * @self: the object
+ * @...: a NULL terminated list of arguments
+ *
+ * Fooify the content of @self.
+ *
+ * Returns: %TRUE for success
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject::otest:
+ * @self: myself
+ *
+ * The event has been triggered.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject::otest</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>myself</description>
+ </parameter>
+ </parameters>
+ <description>The event has been triggered.</description>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkdocObject::otest:
+ * @self: myself
+ *
+ * The event has been triggered.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject::dep-otest:
+ * @self: myself
+ *
+ * Here's an example signal handler.
+ * |[
+ * static gchar*
+ * otest_callback (GObject *o,
+ * gpointer user_data)
+ * {
+ * gdouble value;
+ *
+ * value = abs (o->value);
+ *
+ * return value;
+ * }
+ * ]|
+ *
+ * Deprecated: Use the #GtkdocObject::otest signal instead.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject::dep-otest</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>self</name>
+ <description>myself</description>
+ </parameter>
+ </parameters>
+ <description>Here's an example signal handler.
+|[
+static gchar*
+otest_callback (GObject *o,
+ gpointer user_data)
+{
+ gdouble value;
+
+ value = abs (o->value);
+
+ return value;
+}
+]|</description>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <description>Use the #GtkdocObject::otest signal instead.</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkdocObject::dep-otest:
+ * @self: myself
+ *
+ * Here's an example signal handler.
+ * |[
+ * static gchar*
+ * otest_callback (GObject *o,
+ * gpointer user_data)
+ * {
+ * gdouble value;
+ *
+ * value = abs (o->value);
+ *
+ * return value;
+ * }
+ * ]|
+ *
+ * Deprecated: Use the #GtkdocObject::otest signal instead.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject::strings-changed:
+ *
+ * Something has happened.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject::strings-changed</name>
+ </identifier>
+ <description>Something has happened.</description>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkdocObject::strings-changed:
+ *
+ * Something has happened.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject::variant-changed:
+ *
+ * Something has happened.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject::variant-changed</name>
+ </identifier>
+ <description>Something has happened.</description>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkdocObject::variant-changed:
+ *
+ * Something has happened.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject:otest:
+ *
+ * Since: 0.1
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject:otest</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>0.1</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkdocObject:otest:
+ *
+ * Since: 0.1
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject:dep-otest:
+ *
+ * Deprecated: use #GtkdocObject:otest property
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject:dep-otest</name>
+ </identifier>
+ <tags>
+ <tag>
+ <name>deprecated</name>
+ <description>use #GtkdocObject:otest property</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output> /**
+ * GtkdocObject:dep-otest:
+ *
+ * Deprecated: use #GtkdocObject:otest property
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/gobject/gobject.h.xml b/tests/scanner/annotationparser/gtkdoc/gobject/gobject.h.xml
new file mode 100644
index 00000000..ec68a7f0
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/gobject/gobject.h.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * GtkdocObject:
+ *
+ * instance data of gtk-doc unit test class
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject</name>
+ </identifier>
+ <description>instance data of gtk-doc unit test class</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocObject:
+ *
+ * instance data of gtk-doc unit test class
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObjectClass:
+ * @parent: this is a bug :/
+ * @test: overideable method
+ * @ping: can be used before calling the @test() function
+ * @foo_bar: lets you refine your frobnicator
+ *
+ * class data of gtk-doc unit test class
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObjectClass</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>parent</name>
+ <description>this is a bug :/</description>
+ </parameter>
+ <parameter>
+ <name>test</name>
+ <description>overideable method</description>
+ </parameter>
+ <parameter>
+ <name>ping</name>
+ <description>can be used before calling the @test() function</description>
+ </parameter>
+ <parameter>
+ <name>foo_bar</name>
+ <description>lets you refine your frobnicator</description>
+ </parameter>
+ </parameters>
+ <description>class data of gtk-doc unit test class</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocObjectClass:
+ * @parent: this is a bug :/
+ * @test: overideable method
+ * @ping: can be used before calling the @test() function
+ * @foo_bar: lets you refine your frobnicator
+ *
+ * class data of gtk-doc unit test class
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject2:
+ *
+ * instance data of gtk-doc unit test class
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject2</name>
+ </identifier>
+ <description>instance data of gtk-doc unit test class</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocObject2:
+ *
+ * instance data of gtk-doc unit test class
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocObject2Class:
+ * @parent: this is a bug :/
+ *
+ * class data of gtk-doc unit test class
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocObject2Class</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>parent</name>
+ <description>this is a bug :/</description>
+ </parameter>
+ </parameters>
+ <description>class data of gtk-doc unit test class</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocObject2Class:
+ * @parent: this is a bug :/
+ *
+ * class data of gtk-doc unit test class
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GTKDOC_OBJECT_MACRO_DUMMY:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro does nothing.
+ *
+ * Since: 0.1
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GTKDOC_OBJECT_MACRO_DUMMY</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>parameter_1</name>
+ <description>first arg</description>
+ </parameter>
+ <parameter>
+ <name>parameter_2</name>
+ <description>second arg</description>
+ </parameter>
+ </parameters>
+ <description>This macro does nothing.</description>
+ <tags>
+ <tag>
+ <name>since</name>
+ <value>0.1</value>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * GTKDOC_OBJECT_MACRO_DUMMY:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro does nothing.
+ *
+ * Since: 0.1
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GTKDOC_OBJECT_MACRO_SUM:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro adds its args.
+ *
+ * Returns: the sum of @parameter_1 and @parameter_2
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GTKDOC_OBJECT_MACRO_SUM</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>parameter_1</name>
+ <description>first arg</description>
+ </parameter>
+ <parameter>
+ <name>parameter_2</name>
+ <description>second arg</description>
+ </parameter>
+ </parameters>
+ <description>This macro adds its args.</description>
+ <tags>
+ <tag>
+ <name>returns</name>
+ <description>the sum of @parameter_1 and @parameter_2</description>
+ </tag>
+ </tags>
+ </docblock>
+ </parser>
+ <output>/**
+ * GTKDOC_OBJECT_MACRO_SUM:
+ * @parameter_1: first arg
+ * @parameter_2: second arg
+ *
+ * This macro adds its args.
+ *
+ * Returns: the sum of @parameter_1 and @parameter_2
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/gobject/gtypes.c.xml b/tests/scanner/annotationparser/gtkdoc/gobject/gtypes.c.xml
new file mode 100644
index 00000000..17d23562
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/gobject/gtypes.c.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * SECTION:types
+ * @title: GtkdocTypes
+ * @short_description: other gobject types for gtk-doc unit test
+ * @see_also: #GtkdocObject, #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>SECTION:types</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>title</name>
+ <description>GtkdocTypes</description>
+ </parameter>
+ <parameter>
+ <name>short_description</name>
+ <description>other gobject types for gtk-doc unit test</description>
+ </parameter>
+ <parameter>
+ <name>see_also</name>
+ <description>#GtkdocObject, #GtkdocIface</description>
+ </parameter>
+ </parameters>
+ <description>This file contains non-sense code for the sole purpose of testing the docs.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * SECTION:types
+ * @title: GtkdocTypes
+ * @short_description: other gobject types for gtk-doc unit test
+ * @see_also: #GtkdocObject, #GtkdocIface
+ *
+ * This file contains non-sense code for the sole purpose of testing the docs.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/gtkdoc/gobject/gtypes.h.xml b/tests/scanner/annotationparser/gtkdoc/gobject/gtypes.h.xml
new file mode 100644
index 00000000..7331a556
--- /dev/null
+++ b/tests/scanner/annotationparser/gtkdoc/gobject/gtypes.h.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<tests xmlns="http://schemas.gnome.org/gobject-introspection/2013/test">
+
+<test>
+ <input>/**
+ * GtkdocEnum:
+ * @GTKDOC_ENUM_V1: first
+ * @GTKDOC_ENUM_V2: second
+ * Since: 0.10
+ *
+ * Enum values for the #GtkdocEnum type.
+ */</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocEnum</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>GTKDOC_ENUM_V1</name>
+ <description>first</description>
+ </parameter>
+ <parameter>
+ <name>GTKDOC_ENUM_V2</name>
+ <description>second
+ Since: 0.10</description>
+ </parameter>
+ </parameters>
+ <description>Enum values for the #GtkdocEnum type.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocEnum:
+ * @GTKDOC_ENUM_V1: first
+ * @GTKDOC_ENUM_V2: second
+ * Since: 0.10
+ *
+ * Enum values for the #GtkdocEnum type.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocPlainOldData:
+ * @n: Some integer member.
+ * @x: Some floating point member.
+ *
+ * Unboxed plain old data that should default to public members.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocPlainOldData</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>n</name>
+ <description>Some integer member.</description>
+ </parameter>
+ <parameter>
+ <name>x</name>
+ <description>Some floating point member.</description>
+ </parameter>
+ </parameters>
+ <description>Unboxed plain old data that should default to public members.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocPlainOldData:
+ * @n: Some integer member.
+ * @x: Some floating point member.
+ *
+ * Unboxed plain old data that should default to public members.
+ */</output>
+</test>
+
+<test>
+ <input>/**
+ * GtkdocBoxedPlainOldData:
+ * @n: Some integer member.
+ * @x: Some floating point member.
+ *
+ * Boxed plain old data that should default to public members.
+ **/</input>
+ <parser>
+ <docblock>
+ <identifier>
+ <name>GtkdocBoxedPlainOldData</name>
+ </identifier>
+ <parameters>
+ <parameter>
+ <name>n</name>
+ <description>Some integer member.</description>
+ </parameter>
+ <parameter>
+ <name>x</name>
+ <description>Some floating point member.</description>
+ </parameter>
+ </parameters>
+ <description>Boxed plain old data that should default to public members.</description>
+ </docblock>
+ </parser>
+ <output>/**
+ * GtkdocBoxedPlainOldData:
+ * @n: Some integer member.
+ * @x: Some floating point member.
+ *
+ * Boxed plain old data that should default to public members.
+ */</output>
+</test>
+
+</tests>
diff --git a/tests/scanner/annotationparser/test_parser.py b/tests/scanner/annotationparser/test_parser.py
new file mode 100644
index 00000000..79cc8622
--- /dev/null
+++ b/tests/scanner/annotationparser/test_parser.py
@@ -0,0 +1,461 @@
+# -*- Mode: Python -*-
+# GObject-Introspection - a framework for introspecting GObject libraries
+# Copyright (C) 2012 Dieter Verfaillie <dieterv@optionexplicit.be>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+
+
+'''
+test_parser.py
+
+Tests ensuring annotationparser.py continues to function correctly.
+'''
+
+
+import difflib
+import os
+import subprocess
+import unittest
+import xml.etree.ElementTree as etree
+
+from giscanner.annotationparser import GtkDocCommentBlockParser, GtkDocCommentBlockWriter
+from giscanner.ast import Namespace
+from giscanner.message import MessageLogger, WARNING, ERROR, FATAL
+
+
+XML_NS = 'http://schemas.gnome.org/gobject-introspection/2013/test'
+XML_SCHEMA = os.path.abspath(os.path.join(os.path.dirname(__file__), 'tests.xsd'))
+XML_LINT = None
+
+
+class ChunkedIO(object):
+ def __init__(self):
+ self.buffer = []
+
+ def write(self, s):
+ self.buffer.append(s)
+
+ def getvalue(self):
+ return self.buffer
+
+
+def ns(x):
+ return x.replace('{}', '{%s}' % (XML_NS, ))
+
+
+def validate(tests_file):
+ global XML_LINT
+
+ try:
+ cmd = ['xmllint', '--noout', '--nonet', '--schema', XML_SCHEMA, tests_file]
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ stdout, stderr = p.communicate()
+ except OSError:
+ if XML_LINT is None:
+ XML_LINT = False
+ print('warning: xmllint not found, validation of test definition files will be skipped')
+ else:
+ if p.returncode != 0:
+ raise SystemExit(stdout)
+
+
+class TestCommentBlock(unittest.TestCase):
+ @classmethod
+ def __create_test__(cls, logger, testcase):
+ def do_test(self):
+ output = ChunkedIO()
+ logger._output = output
+
+ # Parse GTK-Doc comment block
+ commentblock = testcase.find(ns('{}input')).text
+ parsed_docblock = GtkDocCommentBlockParser().parse_comment_block(commentblock, 'test.c', 1)
+ parsed_tree = self.parsed2tree(parsed_docblock).split('\n')
+ emitted_messages = [w[w.find(':') + 1:].strip() for w in output.getvalue()]
+
+ # Get expected parser output
+ expected_docblock = testcase.find(ns('{}parser/{}docblock'))
+ expected_tree = self.expected2tree(expected_docblock).split('\n')
+
+ expected_messages = []
+ for w in testcase.findall(ns('{}parser/{}messages/{}message')):
+ expected_messages.append(w.text.strip())
+
+ # Compare parsed with expected GtkDocCommentBlock
+ msg = 'Parsed GtkDocCommentBlock object tree does not match expected output:\n\n'
+ msg += '%s\n\n' % (commentblock, )
+
+ diff = difflib.unified_diff(expected_tree, parsed_tree,
+ 'Expected GtkDocCommentBlock', 'Parsed GtkDocCommentBlock',
+ n=max(len(expected_tree), len(parsed_tree)),
+ lineterm='')
+ for line in diff:
+ msg += '%s\n' % (line, )
+
+ self.assertTrue(parsed_tree == expected_tree, msg)
+
+ # Compare emitted with expected messages
+ msg = 'Emitted messages do not match expected messages:\n\n'
+ msg += '%s\n\n' % (commentblock, )
+ msg += self._diff_messages(expected_messages, emitted_messages)
+ self.assertTrue(len(expected_messages) == len(emitted_messages), msg)
+
+ for emitted_message, expected_message in zip(emitted_messages, expected_messages):
+ msg = 'Emitted message does not match expected message:\n\n'
+ msg += '%s\n\n' % (commentblock, )
+ msg += self._diff_messages([expected_message], [emitted_message])
+ self.assertTrue(expected_message == emitted_message, msg)
+
+ # Compare serialized with expected comment block
+ expected_serialized = testcase.find(ns('{}output'))
+ indent = True
+
+ if expected_serialized is None:
+ expected_serialized = ''
+ else:
+ if 'indent' in expected_serialized.attrib:
+ indent = expected_serialized.attrib['indent']
+ if indent.lower() in ('false', '0'):
+ indent = False
+ elif indent.lower() in ('true', '1'):
+ indent = True
+ else:
+ self.assert_(False, 'Unknown value for "indent" attribute: %s' % (indent))
+
+ expected_serialized = expected_serialized.text + '\n' or None
+
+ commentblockwriter = GtkDocCommentBlockWriter(indent=indent)
+ serialized = commentblockwriter.write(parsed_docblock)
+
+ msg = 'Serialized comment block does not match expected output:\n\n'
+ msg += self._diff_messages(expected_serialized.split('\n'), serialized.split('\n'))
+ self.assertTrue(expected_serialized == serialized, msg)
+
+ return do_test
+
+ def parsed2tree(self, docblock):
+ parsed = ''
+
+ if docblock is not None:
+ parsed += '<docblock>\n'
+
+ parsed += ' <identifier>\n'
+ parsed += ' <name>%s</name>\n' % (docblock.name, )
+ if docblock.annotations:
+ parsed += ' <annotations>\n'
+ for ann_name, ann_options in docblock.annotations.items():
+ parsed += ' <annotation>\n'
+ parsed += ' <name>%s</name>\n' % (ann_name, )
+ if ann_options:
+ parsed += ' <options>\n'
+ if isinstance(ann_options, list):
+ for option in ann_options:
+ parsed += ' <option>\n'
+ parsed += ' <name>%s</name>\n' % (option, )
+ parsed += ' </option>\n'
+ else:
+ for (option, value) in ann_options.items():
+ parsed += ' <option>\n'
+ parsed += ' <name>%s</name>\n' % (option, )
+ if value:
+ parsed += ' <value>%s</value>\n' % (value, )
+ parsed += ' </option>\n'
+ parsed += ' </options>\n'
+ parsed += ' </annotation>\n'
+ parsed += ' </annotations>\n'
+ parsed += ' </identifier>\n'
+
+ if docblock.params:
+ parsed += ' <parameters>\n'
+ for param_name in docblock.params:
+ param = docblock.params.get(param_name)
+ parsed += ' <parameter>\n'
+ parsed += ' <name>%s</name>\n' % (param_name, )
+ if param.annotations:
+ parsed += ' <annotations>\n'
+ for ann_name, ann_options in param.annotations.items():
+ parsed += ' <annotation>\n'
+ parsed += ' <name>%s</name>\n' % (ann_name, )
+ if ann_options:
+ parsed += ' <options>\n'
+ if isinstance(ann_options, list):
+ for option in ann_options:
+ parsed += ' <option>\n'
+ parsed += ' <name>%s</name>\n' % (option, )
+ parsed += ' </option>\n'
+ else:
+ for (option, value) in ann_options.items():
+ parsed += ' <option>\n'
+ parsed += ' <name>%s</name>\n' % (option, )
+ if value:
+ parsed += ' <value>%s</value>\n' % (value, )
+ parsed += ' </option>\n'
+ parsed += ' </options>\n'
+ parsed += ' </annotation>\n'
+ parsed += ' </annotations>\n'
+ if param.description:
+ parsed += ' <description>%s</description>\n' % (param.description, )
+ parsed += ' </parameter>\n'
+ parsed += ' </parameters>\n'
+
+ if docblock.description:
+ parsed += ' <description>%s</description>\n' % (docblock.description, )
+
+ if docblock.tags:
+ parsed += ' <tags>\n'
+ for tag_name in docblock.tags:
+ tag = docblock.tags.get(tag_name)
+ parsed += ' <tag>\n'
+ parsed += ' <name>%s</name>\n' % (tag_name, )
+ if tag.annotations:
+ parsed += ' <annotations>\n'
+ for ann_name, ann_options in tag.annotations.items():
+ parsed += ' <annotation>\n'
+ parsed += ' <name>%s</name>\n' % (ann_name, )
+ if ann_options:
+ parsed += ' <options>\n'
+ if isinstance(ann_options, list):
+ for option in ann_options:
+ parsed += ' <option>\n'
+ parsed += ' <name>%s</name>\n' % (option, )
+ parsed += ' </option>\n'
+ else:
+ for (option, value) in ann_options.items():
+ parsed += ' <option>\n'
+ parsed += ' <name>%s</name>\n' % (option, )
+ if value:
+ parsed += ' <value>%s</value>\n' % (value, )
+ parsed += ' </option>\n'
+ parsed += ' </options>\n'
+ parsed += ' </annotation>\n'
+ parsed += ' </annotations>\n'
+ if tag.value:
+ parsed += ' <value>%s</value>\n' % (tag.value, )
+ if tag.description:
+ parsed += ' <description>%s</description>\n' % (tag.description, )
+ parsed += ' </tag>\n'
+ parsed += ' </tags>\n'
+
+ parsed += '</docblock>'
+
+ return parsed
+
+ def expected2tree(self, docblock):
+ expected = ''
+
+ if docblock is not None:
+ expected += '<docblock>\n'
+
+ if docblock.find(ns('{}identifier')) is not None:
+ expected += ' <identifier>\n'
+ expected += ' <name>%s</name>\n' % (docblock.find(ns('{}identifier/{}name')).text, )
+ annotations = docblock.find(ns('{}identifier/{}annotations'))
+ if annotations is not None:
+ expected += ' <annotations>\n'
+ for annotation in annotations.findall(ns('{}annotation')):
+ expected += ' <annotation>\n'
+ expected += ' <name>%s</name>\n' % (annotation.find(ns('{}name')).text, )
+ if annotation.find(ns('{}options')) is not None:
+ expected += ' <options>\n'
+ for option in annotation.findall(ns('{}options/{}option')):
+ expected += ' <option>\n'
+ if option.find(ns('{}name')) is not None:
+ expected += ' <name>%s</name>\n' % (option.find(ns('{}name')).text, )
+ if option.find(ns('{}value')) is not None:
+ expected += ' <value>%s</value>\n' % (option.find(ns('{}value')).text, )
+ expected += ' </option>\n'
+ expected += ' </options>\n'
+ expected += ' </annotation>\n'
+ expected += ' </annotations>\n'
+ expected += ' </identifier>\n'
+
+ parameters = docblock.find(ns('{}parameters'))
+ if parameters is not None:
+ expected += ' <parameters>\n'
+ for parameter in parameters.findall(ns('{}parameter')):
+ expected += ' <parameter>\n'
+ expected += ' <name>%s</name>\n' % (parameter.find(ns('{}name')).text, )
+ annotations = parameter.find(ns('{}annotations'))
+ if annotations is not None:
+ expected += ' <annotations>\n'
+ for annotation in parameter.findall(ns('{}annotations/{}annotation')):
+ expected += ' <annotation>\n'
+ expected += ' <name>%s</name>\n' % (annotation.find(ns('{}name')).text, )
+ if annotation.find(ns('{}options')) is not None:
+ expected += ' <options>\n'
+ for option in annotation.findall(ns('{}options/{}option')):
+ expected += ' <option>\n'
+ if option.find(ns('{}name')) is not None:
+ expected += ' <name>%s</name>\n' % (option.find(ns('{}name')).text, )
+ if option.find(ns('{}value')) is not None:
+ expected += ' <value>%s</value>\n' % (option.find(ns('{}value')).text, )
+ expected += ' </option>\n'
+ expected += ' </options>\n'
+ expected += ' </annotation>\n'
+ expected += ' </annotations>\n'
+ if parameter.find(ns('{}description')) is not None:
+ expected += ' <description>%s</description>\n' % (parameter.find(ns('{}description')).text, )
+ expected += ' </parameter>\n'
+ expected += ' </parameters>\n'
+
+ description = docblock.find(ns('{}description'))
+ if description is not None:
+ expected += ' <description>%s</description>\n' % (description.text, )
+
+ tags = docblock.find(ns('{}tags'))
+ if tags is not None:
+ expected += ' <tags>\n'
+ for tag in tags.findall(ns('{}tag')):
+ expected += ' <tag>\n'
+ expected += ' <name>%s</name>\n' % (tag.find(ns('{}name')).text, )
+ annotations = tag.find(ns('{}annotations'))
+ if annotations is not None:
+ expected += ' <annotations>\n'
+ for annotation in tag.findall(ns('{}annotations/{}annotation')):
+ expected += ' <annotation>\n'
+ expected += ' <name>%s</name>\n' % (annotation.find(ns('{}name')).text, )
+ if annotation.find(ns('{}options')) is not None:
+ expected += ' <options>\n'
+ for option in annotation.findall(ns('{}options/{}option')):
+ expected += ' <option>\n'
+ if option.find(ns('{}name')) is not None:
+ expected += ' <name>%s</name>\n' % (option.find(ns('{}name')).text, )
+ if option.find(ns('{}value')) is not None:
+ expected += ' <value>%s</value>\n' % (option.find(ns('{}value')).text, )
+ expected += ' </option>\n'
+ expected += ' </options>\n'
+ expected += ' </annotation>\n'
+ expected += ' </annotations>\n'
+ if tag.find(ns('{}value')) is not None:
+ expected += ' <value>%s</value>\n' % (tag.find(ns('{}value')).text, )
+ if tag.find(ns('{}description')) is not None:
+ expected += ' <description>%s</description>\n' % (tag.find(ns('{}description')).text, )
+ expected += ' </tag>\n'
+ expected += ' </tags>\n'
+
+ expected += '</docblock>'
+
+ return expected
+
+ def _diff_messages(self, a, b):
+ retval = ''
+ started = False
+
+ for group in difflib.SequenceMatcher(None, a, b).get_grouped_opcodes(3):
+ if not started:
+ started = True
+ retval += '--- expected\n'
+ retval += '+++ emitted\n'
+
+ for tag, i1, i2, j1, j2 in group:
+ if tag == 'equal':
+ for line in a[i1:i2]:
+ for l in line.split('\n'):
+ retval += ' ' + l + '\n'
+ continue
+
+ if tag in ('replace', 'delete'):
+ for line in a[i1:i2]:
+ for l in line.split('\n'):
+ retval += '-' + l + '\n'
+
+ if tag in ('replace', 'insert'):
+ for line in b[j1:j2]:
+ for l in line.split('\n'):
+ retval += '+' + l + '\n'
+
+ return retval
+
+
+def create_test_case(logger, tests_dir, tests_file):
+ tests_tree = etree.parse(tests_file).getroot()
+
+ fix_cdata_elements = tests_tree.findall(ns('{}test/{}input'))
+ fix_cdata_elements += tests_tree.findall(ns('.//{}description'))
+ fix_cdata_elements += tests_tree.findall(ns('{}test/{}output'))
+
+ for element in fix_cdata_elements:
+ if element.text:
+ element.text = element.text.replace('{{?', '<!')
+ element.text = element.text.replace('}}', '>')
+
+ test_methods = {}
+ for counter, test in enumerate(tests_tree.findall(ns('{}test'))):
+ test_name = 'test_%03d' % (counter + 1)
+ test_method = TestCommentBlock.__create_test__(logger, test)
+ test_method.__name__ = test_name
+ test_methods[test_name] = test_method
+
+ # Dynamically generate a new subclass of TestCommentBlock in TitleCase
+ # with generated test methods.
+ test_class_name = os.path.relpath(tests_file[:-4], tests_dir)
+ test_class_name = test_class_name.replace('/', ' ').replace('\\', ' ').replace('.', ' ')
+ test_class_name = 'Test' + test_class_name.title().replace(' ', '')
+ return type(test_class_name, (TestCommentBlock,), test_methods)
+
+
+def create_test_cases():
+ # Initialize message logger
+ namespace = Namespace('Test', '1.0')
+ logger = MessageLogger.get(namespace=namespace)
+ logger.enable_warnings((WARNING, ERROR, FATAL))
+ test_cases = {}
+
+ # Load test cases from disc
+ tests_dir = os.path.dirname(os.path.abspath(__file__))
+
+ for dirpath, dirnames, filenames in os.walk(tests_dir):
+ for filename in filenames:
+ tests_file = os.path.join(dirpath, filename)
+ if os.path.basename(tests_file).endswith('.xml'):
+ validate(tests_file)
+ test_case = create_test_case(logger, tests_dir, tests_file)
+ test_cases[test_case.__name__] = test_case
+
+ return test_cases
+
+
+# We currently need to push all the new test cases into the modules globals
+# in order for parameterized tests to work. Ideally all that should be needed
+# is the "load_tests" hook, but this does not work in the case were the tests
+# are run in parameterized mode, e.g: python -m unittest test_parser.Test...
+_all_tests = create_test_cases()
+globals().update(_all_tests)
+
+
+# Hook function for Python test loader.
+def load_tests(loader, tests, pattern):
+ suite = unittest.TestSuite()
+ # add standard tests from module
+ suite.addTests(tests)
+
+ # Initialize message logger
+ namespace = Namespace('Test', '1.0')
+ logger = MessageLogger.get(namespace=namespace)
+ logger.enable_warnings((WARNING, ERROR, FATAL))
+
+ # Load test cases from disc
+ tests_dir = os.path.dirname(os.path.abspath(__file__))
+
+ for name, test_case in _all_tests.iteritems():
+ tests = loader.loadTestsFromTestCase(test_case)
+ suite.addTests(tests)
+ return suite
+
+
+if __name__ == '__main__':
+ # Run test suite
+ unittest.main()
diff --git a/tests/scanner/annotationparser/test_patterns.py b/tests/scanner/annotationparser/test_patterns.py
new file mode 100644
index 00000000..774d674c
--- /dev/null
+++ b/tests/scanner/annotationparser/test_patterns.py
@@ -0,0 +1,943 @@
+# -*- Mode: Python -*-
+# GObject-Introspection - a framework for introspecting GObject libraries
+# Copyright (C) 2012 Dieter Verfaillie <dieterv@optionexplicit.be>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+
+
+'''
+test_patterns.py
+
+Tests ensuring the regular expression programs used
+in annotationparser.py continue to function correctly.
+Each regular expression program is tested on input that
+should not match and input that should match. When input
+should match, resulting symbolic groups are verified
+against the expected output.
+'''
+
+
+from giscanner.annotationparser import (COMMENT_BLOCK_START_RE, COMMENT_BLOCK_END_RE,
+ COMMENT_ASTERISK_RE, INDENTATION_RE, EMPTY_LINE_RE,
+ SECTION_RE, SYMBOL_RE, PROPERTY_RE,
+ SIGNAL_RE, PARAMETER_RE, TAG_RE,
+ TAG_VALUE_VERSION_RE, TAG_VALUE_STABILITY_RE)
+import unittest
+
+
+comment_start_tests = [
+ (COMMENT_BLOCK_START_RE, '/**',
+ {'code': '',
+ 'token': '/**',
+ 'comment': ''}),
+ (COMMENT_BLOCK_START_RE, ' /**',
+ {'code': '',
+ 'token': '/**',
+ 'comment': ''}),
+ (COMMENT_BLOCK_START_RE, ' /** ',
+ {'code': '',
+ 'token': '/**',
+ 'comment': ''}),
+ (COMMENT_BLOCK_START_RE, 'xyz /** ',
+ {'code': 'xyz',
+ 'token': '/**',
+ 'comment': ''}),
+ (COMMENT_BLOCK_START_RE, ' xyz /** ',
+ {'code': ' xyz',
+ 'token': '/**',
+ 'comment': ''}),
+ (COMMENT_BLOCK_START_RE, '/** xyz',
+ {'code': '',
+ 'token': '/**',
+ 'comment': 'xyz'}),
+ (COMMENT_BLOCK_START_RE, ' /**xyz',
+ {'code': '',
+ 'token': '/**',
+ 'comment': 'xyz'}),
+ (COMMENT_BLOCK_START_RE, ' /** xyz',
+ {'code': '',
+ 'token': '/**',
+ 'comment': 'xyz'}),
+ (COMMENT_BLOCK_START_RE, '/***',
+ None),
+ (COMMENT_BLOCK_START_RE, ' /***',
+ None),
+ (COMMENT_BLOCK_START_RE, ' /*** ',
+ None),
+ (COMMENT_BLOCK_START_RE, '/*** xyz',
+ None),
+ (COMMENT_BLOCK_START_RE, '/***** xyz',
+ None),
+ (COMMENT_BLOCK_START_RE, ' /*****xyz',
+ None),
+ (COMMENT_BLOCK_START_RE, ' /**/',
+ None),
+]
+
+
+comment_end_tests = [
+ (COMMENT_BLOCK_END_RE, '*/',
+ {'comment': '',
+ 'token': '*/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, ' */',
+ {'comment': '',
+ 'token': '*/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, ' */ ',
+ {'comment': '',
+ 'token': '*/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, '*/xyz',
+ {'comment': '',
+ 'token': '*/',
+ 'code': 'xyz'}),
+ (COMMENT_BLOCK_END_RE, ' */xyz',
+ {'comment': '',
+ 'token': '*/',
+ 'code': 'xyz'}),
+ (COMMENT_BLOCK_END_RE, ' */ xyz',
+ {'comment': '',
+ 'token': '*/',
+ 'code': ' xyz'}),
+ (COMMENT_BLOCK_END_RE, '**/',
+ {'comment': '',
+ 'token': '**/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, ' **/',
+ {'comment': '',
+ 'token': '**/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, ' **/ ',
+ {'comment': '',
+ 'token': '**/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, 'test */',
+ {'comment': 'test',
+ 'token': '*/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, ' test*/',
+ {'comment': 'test',
+ 'token': '*/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, 'test */ xyz',
+ {'comment': 'test',
+ 'token': '*/',
+ 'code': ' xyz'}),
+ (COMMENT_BLOCK_END_RE, ' test*/ xyz ',
+ {'comment': 'test',
+ 'token': '*/',
+ 'code': ' xyz'}),
+ (COMMENT_BLOCK_END_RE, 'test **/',
+ {'comment': 'test',
+ 'token': '**/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, ' test**/',
+ {'comment': 'test',
+ 'token': '**/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, 'test *****/',
+ {'comment': 'test',
+ 'token': '*****/',
+ 'code': ''}),
+ (COMMENT_BLOCK_END_RE, ' test*****/',
+ {'comment': 'test',
+ 'token': '*****/',
+ 'code': ''})]
+
+
+comment_asterisk_tests = [
+ (COMMENT_ASTERISK_RE, '*',
+ {'comment': ''}),
+ (COMMENT_ASTERISK_RE, '* ',
+ {'comment': ''}),
+ (COMMENT_ASTERISK_RE, ' *',
+ {'comment': ''}),
+ (COMMENT_ASTERISK_RE, ' * ',
+ {'comment': ''}),
+ (COMMENT_ASTERISK_RE, ' * ',
+ {'comment': ''}),
+ (COMMENT_ASTERISK_RE, ' * test',
+ {'comment': ''}),
+ (COMMENT_ASTERISK_RE, 'test * ',
+ {'comment': 'test'})]
+
+
+indentaton_tests = [
+ (INDENTATION_RE, '',
+ {'indentation': ''}),
+ (INDENTATION_RE, ' ',
+ {'indentation': ' '}),
+ (INDENTATION_RE, ' ',
+ {'indentation': ' '}),
+ (INDENTATION_RE, ' x',
+ {'indentation': ' '}),
+ (INDENTATION_RE, ' *',
+ {'indentation': ' '})]
+
+
+empty_line_tests = [
+ (EMPTY_LINE_RE, '',
+ {}),
+ (EMPTY_LINE_RE, ' ',
+ {}),
+ (EMPTY_LINE_RE, ' .',
+ None)]
+
+
+identifier_section_tests = [
+ (SECTION_RE, 'TSIEOCN',
+ None),
+ (SECTION_RE, 'section',
+ None),
+ (SECTION_RE, 'section:',
+ None),
+ (SECTION_RE, 'section:test',
+ None),
+ (SECTION_RE, 'SECTION',
+ None),
+ (SECTION_RE, 'SECTION \t ',
+ None),
+ (SECTION_RE, ' \t SECTION \t ',
+ None),
+ (SECTION_RE, 'SECTION: \t ',
+ None),
+ (SECTION_RE, 'SECTION : ',
+ None),
+ (SECTION_RE, ' SECTION : ',
+ None),
+ (SECTION_RE, 'SECTION:gtkwidget',
+ {'delimiter': ':',
+ 'section_name': 'gtkwidget'}),
+ (SECTION_RE, 'SECTION:gtkwidget ',
+ {'delimiter': ':',
+ 'section_name': 'gtkwidget'}),
+ (SECTION_RE, ' SECTION:gtkwidget',
+ {'delimiter': ':',
+ 'section_name': 'gtkwidget'}),
+ (SECTION_RE, ' SECTION:gtkwidget\t ',
+ {'delimiter': ':',
+ 'section_name': 'gtkwidget'}),
+ (SECTION_RE, 'SECTION: gtkwidget ',
+ {'delimiter': ':',
+ 'section_name': 'gtkwidget'}),
+ (SECTION_RE, 'SECTION : gtkwidget',
+ {'delimiter': ':',
+ 'section_name': 'gtkwidget'}),
+ (SECTION_RE, 'SECTION gtkwidget \f ',
+ {'delimiter': '',
+ 'section_name': 'gtkwidget'})]
+
+identifier_symbol_tests = [
+ (SYMBOL_RE, 'GBaseFinalizeFunc:',
+ {'delimiter': ':',
+ 'symbol_name': 'GBaseFinalizeFunc',
+ 'fields': ''}),
+ (SYMBOL_RE, 'gtk_widget_show ',
+ {'delimiter': '',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, ' gtk_widget_show',
+ {'delimiter': '',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, ' gtk_widget_show ',
+ {'delimiter': '',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, 'gtk_widget_show:',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, 'gtk_widget_show :',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, 'gtk_widget_show: ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, 'gtk_widget_show : ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, ' gtk_widget_show:',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, ' gtk_widget_show :',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, ' gtk_widget_show: ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, ' gtk_widget_show : ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': ''}),
+ (SYMBOL_RE, 'gtk_widget_show:(skip):',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, 'gtk_widget_show (skip)',
+ {'delimiter': '',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, 'gtk_widget_show: (skip)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, 'gtk_widget_show : (skip)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, 'gtk_widget_show: (skip)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, 'gtk_widget_show : (skip)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, ' gtk_widget_show:(skip)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, ' gtk_widget_show :(skip)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, ' gtk_widget_show: (skip)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, ' gtk_widget_show : (skip) \t ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, ' gtk_widget_show : (skip) \t ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)'}),
+ (SYMBOL_RE, 'gtk_widget_show:(skip)(test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)(test1)'}),
+ (SYMBOL_RE, 'gtk_widget_show (skip)(test1)',
+ {'delimiter': '',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip)(test1)'}),
+ (SYMBOL_RE, 'gtk_widget_show: (skip) (test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, 'gtk_widget_show : (skip) (test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, 'gtk_widget_show: (skip) (test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, 'gtk_widget_show : (skip) (test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, ' gtk_widget_show:(skip) (test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, ' gtk_widget_show :(skip) (test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, ' gtk_widget_show: (skip) (test1)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, ' gtk_widget_show : (skip) (test1) ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1)'}),
+ (SYMBOL_RE, 'gtk_widget_show: (skip) (test1) (test-2)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, 'gtk_widget_show : (skip) (test1) (test-2)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, 'gtk_widget_show: (skip) (test1) (test-2)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, 'gtk_widget_show : (skip) (test1) (test-2)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, ' gtk_widget_show:(skip) (test1) (test-2)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, ' gtk_widget_show :(skip) (test1) (test-2)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, ' gtk_widget_show: (skip) (test1) (test-2)',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, ' gtk_widget_show : (skip) (test1) (test-2) ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ (SYMBOL_RE, ' gtk_widget_show : (skip) (test1) (test-2) ',
+ {'delimiter': ':',
+ 'symbol_name': 'gtk_widget_show',
+ 'fields': '(skip) (test1) (test-2)'}),
+ # constants
+ (SYMBOL_RE, 'MY_CONSTANT:',
+ {'delimiter': ':',
+ 'symbol_name': 'MY_CONSTANT',
+ 'fields': ''}),
+ # structs
+ (SYMBOL_RE, 'FooWidget:',
+ {'delimiter': ':',
+ 'symbol_name': 'FooWidget',
+ 'fields': ''}),
+ # enums
+ (SYMBOL_RE, 'Something:',
+ {'delimiter': ':',
+ 'symbol_name': 'Something',
+ 'fields': ''}),
+ # annotations with multiple closing parentheses
+ (SYMBOL_RE, 'FooWidget: (transfer full) (type GLib.List(utf8))',
+ {'delimiter': ':',
+ 'symbol_name': 'FooWidget',
+ 'fields': '(transfer full) (type GLib.List(utf8))'}),
+ (SYMBOL_RE, 'FooWidget: (transfer full) (type GLib.List((utf8)))',
+ {'delimiter': ':',
+ 'symbol_name': 'FooWidget',
+ 'fields': '(transfer full) (type GLib.List((utf8)))'}),
+ (SYMBOL_RE, 'FooWidget: (transfer full) (type GLib.List(GLib.List(utf8)))',
+ {'delimiter': ':',
+ 'symbol_name': 'FooWidget',
+ 'fields': '(transfer full) (type GLib.List(GLib.List(utf8)))'}),
+ (SYMBOL_RE, 'FooWidget: (type GLib.List(GLib.List(utf8))) (transfer full)',
+ {'delimiter': ':',
+ 'symbol_name': 'FooWidget',
+ 'fields': '(type GLib.List(GLib.List(utf8))) (transfer full)'}),
+ (SYMBOL_RE, 'FooWidget: (type GLib.List(GLib.List(utf8)))(transfer full)(type GLib.List(GLib.List(utf8)))',
+ {'delimiter': ':',
+ 'symbol_name': 'FooWidget',
+ 'fields': '(type GLib.List(GLib.List(utf8)))(transfer full)(type GLib.List(GLib.List(utf8)))'})]
+
+identifier_property_tests = [
+ # simple property name
+ (PROPERTY_RE, 'GtkWidget:name (skip)',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': '',
+ 'fields': '(skip)'}),
+ (PROPERTY_RE, 'GtkWidget:name',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, ' GtkWidget :name',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, 'GtkWidget: name ',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, ' GtkWidget : name ',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, 'GtkWidget:name:',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'GtkWidget:name: ',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, ' GtkWidget:name:',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'name',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'Something:name:',
+ {'class_name': 'Something',
+ 'property_name': 'name',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'Something:name: ',
+ {'class_name': 'Something',
+ 'property_name': 'name',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, ' Something:name:',
+ {'class_name': 'Something',
+ 'property_name': 'name',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'Weird-thing:name:',
+ None),
+ (PROPERTY_RE, 'really-weird_thing:name:',
+ None),
+ (PROPERTY_RE, 'GWin32InputStream:handle:',
+ {'class_name': 'GWin32InputStream',
+ 'property_name': 'handle',
+ 'delimiter': ':',
+ 'fields': ''}),
+ # properties: property name that contains a dash
+ (PROPERTY_RE, 'GtkWidget:double-buffered (skip)',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': '',
+ 'fields': '(skip)'}),
+ (PROPERTY_RE, 'GtkWidget:double-buffered',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, ' GtkWidget :double-buffered',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, 'GtkWidget: double-buffered ',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, ' GtkWidget : double-buffered ',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': '',
+ 'fields': ''}),
+ (PROPERTY_RE, 'GtkWidget:double-buffered:',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'GtkWidget:double-buffered: ',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, ' GtkWidget:double-buffered:',
+ {'class_name': 'GtkWidget',
+ 'property_name': 'double-buffered',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'Something:double-buffered:',
+ {'class_name': 'Something',
+ 'property_name': 'double-buffered',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'Something:double-buffered: ',
+ {'class_name': 'Something',
+ 'property_name': 'double-buffered',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, ' Something:double-buffered:',
+ {'class_name': 'Something',
+ 'property_name': 'double-buffered',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (PROPERTY_RE, 'Weird-thing:double-buffered:',
+ None),
+ (PROPERTY_RE, 'really-weird_thing:double-buffered:',
+ None),
+ (PROPERTY_RE, ' GMemoryOutputStream:realloc-function: (skip)',
+ {'class_name': 'GMemoryOutputStream',
+ 'property_name': 'realloc-function',
+ 'delimiter': ':',
+ 'fields': '(skip)'}),
+ # properties: data with multiple closing parentheses
+ (PROPERTY_RE, 'GMemoryOutputStream:realloc-function: (transfer full) (type GLib.List(utf8))',
+ {'class_name': 'GMemoryOutputStream',
+ 'property_name': 'realloc-function',
+ 'delimiter': ':',
+ 'fields': '(transfer full) (type GLib.List(utf8))'}),
+ (PROPERTY_RE, 'GMemoryOutputStream:realloc-function: (transfer full) (type GLib.List((utf8)))',
+ {'class_name': 'GMemoryOutputStream',
+ 'property_name': 'realloc-function',
+ 'delimiter': ':',
+ 'fields': '(transfer full) (type GLib.List((utf8)))'}),
+ (PROPERTY_RE, 'GMemoryOutputStream:realloc-function: (transfer full) (type GLib.List(GLib.List(utf8)))',
+ {'class_name': 'GMemoryOutputStream',
+ 'property_name': 'realloc-function',
+ 'delimiter': ':',
+ 'fields': '(transfer full) (type GLib.List(GLib.List(utf8)))'}),
+ (PROPERTY_RE, 'GMemoryOutputStream:realloc-function: (type GLib.List(GLib.List(utf8))) (transfer full)',
+ {'class_name': 'GMemoryOutputStream',
+ 'property_name': 'realloc-function',
+ 'delimiter': ':',
+ 'fields': '(type GLib.List(GLib.List(utf8))) (transfer full)'})]
+
+identifier_signal_tests = [
+ # simple signal name
+ (SIGNAL_RE, 'GtkWidget::changed: (skip)',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'changed',
+ 'delimiter': ':',
+ 'fields': '(skip)'}),
+ (SIGNAL_RE, 'GtkWidget::changed:',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'changed',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (SIGNAL_RE, 'Something::changed:',
+ {'class_name': 'Something',
+ 'signal_name': 'changed',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (SIGNAL_RE, 'Weird-thing::changed:',
+ None),
+ (SIGNAL_RE, 'really-weird_thing::changed:',
+ None),
+ # signals: signal name that contains a dash
+ (SIGNAL_RE, 'GtkWidget::hierarchy-changed: (skip)',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'hierarchy-changed',
+ 'delimiter': ':',
+ 'fields': '(skip)'}),
+ (SIGNAL_RE, 'GtkWidget::hierarchy-changed:',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'hierarchy-changed',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (SIGNAL_RE, 'Something::hierarchy-changed:',
+ {'class_name': 'Something',
+ 'signal_name': 'hierarchy-changed',
+ 'delimiter': ':',
+ 'fields': ''}),
+ (SIGNAL_RE, 'Weird-thing::hierarchy-changed:',
+ None),
+ (SIGNAL_RE, 'really-weird_thing::hierarchy-changed:',
+ None),
+ # signals: data with multiple closing parentheses
+ (SIGNAL_RE, 'GtkWidget::hierarchy-changed: (transfer full) (type GLib.List(utf8))',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'hierarchy-changed',
+ 'delimiter': ':',
+ 'fields': '(transfer full) (type GLib.List(utf8))'}),
+ (SIGNAL_RE, 'GtkWidget::hierarchy-changed: (transfer full) (type GLib.List((utf8)))',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'hierarchy-changed',
+ 'delimiter': ':',
+ 'fields': '(transfer full) (type GLib.List((utf8)))'}),
+ (SIGNAL_RE, 'GtkWidget::hierarchy-changed: (transfer full) (type GLib.List(GLib.List(utf8)))',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'hierarchy-changed',
+ 'delimiter': ':',
+ 'fields': '(transfer full) (type GLib.List(GLib.List(utf8)))'}),
+ (SIGNAL_RE, 'GtkWidget::hierarchy-changed: (type GLib.List(GLib.List(utf8))) (transfer full)',
+ {'class_name': 'GtkWidget',
+ 'signal_name': 'hierarchy-changed',
+ 'delimiter': ':',
+ 'fields': '(type GLib.List(GLib.List(utf8))) (transfer full)'})]
+
+parameter_tests = [
+ (PARAMETER_RE, '@Short_description: Base class for all widgets ',
+ {'parameter_name': 'Short_description',
+ 'fields': 'Base class for all widgets'}),
+ (PARAMETER_RE, '@...: the value of the first property, followed optionally by more',
+ {'parameter_name': '...',
+ 'fields': 'the value of the first property, followed optionally by more'}),
+ (PARAMETER_RE, '@args...: list of arguments',
+ {'parameter_name': 'args...',
+ 'fields': 'list of arguments'}),
+ (PARAMETER_RE, '@widget: a #GtkWidget',
+ {'parameter_name': 'widget',
+ 'fields': 'a #GtkWidget'}),
+ (PARAMETER_RE, '@widget_pointer: (inout) (transfer none): '
+ 'address of a variable that contains @widget',
+ {'parameter_name': 'widget_pointer',
+ 'fields': '(inout) (transfer none): address of a variable that contains @widget'}),
+ (PARAMETER_RE, '@weird_thing: (inout) (transfer none) (allow-none) (attribute) (destroy) '
+ '(foreign) (inout) (out) (transfer) (skip) (method): some weird @thing',
+ {'parameter_name': 'weird_thing',
+ 'fields': '(inout) (transfer none) (allow-none) (attribute) (destroy) '
+ '(foreign) (inout) (out) (transfer) (skip) (method): '
+ 'some weird @thing'}),
+ (PARAMETER_RE, '@data: a pointer to the element data. The data may be moved as elements '
+ 'are added to the #GByteArray.',
+ {'parameter_name': 'data',
+ 'fields': 'a pointer to the element data. The data may be moved as elements '
+ 'are added to the #GByteArray.'}),
+ (PARAMETER_RE, '@a: a #GSequenceIter',
+ {'parameter_name': 'a',
+ 'fields': 'a #GSequenceIter'}),
+ (PARAMETER_RE, '@keys: (array length=n_keys) (element-type GQuark) (allow-none):',
+ {'parameter_name': 'keys',
+ 'fields': '(array length=n_keys) (element-type GQuark) (allow-none):'}),
+ # parentheses in description
+ (PARAMETER_RE, '@foo: This is a foo (be careful using it)',
+ {'parameter_name': 'foo',
+ 'fields': 'This is a foo (be careful using it)'}),
+ (PARAMETER_RE, '@foo: This is a foo (be careful using it) and see also: bar',
+ {'parameter_name': 'foo',
+ 'fields': 'This is a foo (be careful using it) and see also: bar'}),
+ (PARAMETER_RE, '@foo: This is a foo (be careful using it) and see also: bar and baz',
+ {'parameter_name': 'foo',
+ 'fields': 'This is a foo (be careful using it) and see also: bar and baz'}),
+ # annotations with multiple closing parentheses, combined with parentheses in description
+ (PARAMETER_RE, '@foo: (transfer full) (element-type guint8): This is a foo (be careful using it) and see also: bar and baz',
+ {'parameter_name': 'foo',
+ 'fields': '(transfer full) (element-type guint8): This is a foo (be careful using it) and see also: bar and baz'}),
+ (PARAMETER_RE, '@foo: (transfer full) (element-type GLib.List(utf8)): This is a foo (be careful using it) and see also: bar and baz',
+ {'parameter_name': 'foo',
+ 'fields': '(transfer full) (element-type GLib.List(utf8)): This is a foo (be careful using it) and see also: bar and baz'}),
+ (PARAMETER_RE, '@foo: (transfer full) (element-type GLib.List((utf8))): This is a foo (be careful using it) and see also: bar and baz',
+ {'parameter_name': 'foo',
+ 'fields': '(transfer full) (element-type GLib.List((utf8))): This is a foo (be careful using it) and see also: bar and baz'}),
+ (PARAMETER_RE, '@foo: (transfer full) (element-type GLib.List(GLib.List(utf8))): This is a foo (be careful using it) and see also: bar and baz',
+ {'parameter_name': 'foo',
+ 'fields': '(transfer full) (element-type GLib.List(GLib.List(utf8))): This is a foo (be careful using it) and see also: bar and baz'}),
+ (PARAMETER_RE, '@foo: (element-type GLib.List(GLib.List(utf8))) (transfer full): This is a foo (be careful using it) and see also: bar and baz',
+ {'parameter_name': 'foo',
+ 'fields': '(element-type GLib.List(GLib.List(utf8))) (transfer full): This is a foo (be careful using it) and see also: bar and baz'})]
+
+tag_tests = [
+ (TAG_RE, 'Since 3.0',
+ None),
+ (TAG_RE, 'Since: 3.0',
+ {'tag_name': 'Since',
+ 'fields': '3.0'}),
+ (TAG_RE, 'Attributes: (inout) (transfer none): some note about attributes',
+ {'tag_name': 'Attributes',
+ 'fields': '(inout) (transfer none): some note about attributes'}),
+ (TAG_RE, 'Rename to: something_else',
+ {'tag_name': 'Rename to',
+ 'fields': 'something_else'}),
+ (TAG_RE, '@Deprecated: Since 2.8, reference counting is done atomically',
+ None),
+ (TAG_RE, 'Returns %TRUE and does weird things',
+ None),
+ (TAG_RE, 'Returns: a #GtkWidget',
+ {'tag_name': 'Returns',
+ 'fields': 'a #GtkWidget'}),
+ (TAG_RE, 'Return value: (transfer none): The binary data that @text responds. '
+ 'This pointer',
+ {'tag_name': 'Return value',
+ 'fields': '(transfer none): The binary data that @text responds. This pointer'}),
+ (TAG_RE, 'Return value: (transfer full) (array length=out_len) (element-type guint8):',
+ {'tag_name': 'Return value',
+ 'fields': '(transfer full) (array length=out_len) (element-type guint8):'}),
+ (TAG_RE, 'Returns: A boolean value, but let me tell you a bit about this boolean. It',
+ {'tag_name': 'Returns',
+ 'fields': 'A boolean value, but let me tell you a bit about this boolean. It'}),
+ (TAG_RE, 'Returns: (transfer container) (element-type GObject.ParamSpec): a',
+ {'tag_name': 'Returns',
+ 'fields': '(transfer container) (element-type GObject.ParamSpec): a'}),
+ (TAG_RE, 'Return value: (type GLib.HashTable<utf8,GLib.HashTable<utf8,utf8>>) '
+ '(transfer full):',
+ {'tag_name': 'Return value',
+ 'fields': '(type GLib.HashTable<utf8,GLib.HashTable<utf8,utf8>>) (transfer full):'}),
+ # parentheses in description
+ (TAG_RE, 'Returns: Returns a foo (be careful using it)',
+ {'tag_name': 'Returns',
+ 'fields': 'Returns a foo (be careful using it)'}),
+ (TAG_RE, 'Returns: Returns a foo (be careful using it) and see also: bar',
+ {'tag_name': 'Returns',
+ 'fields': 'Returns a foo (be careful using it) and see also: bar'}),
+ (TAG_RE, 'Returns: Returns a foo (be careful using it) and see also: bar and baz',
+ {'tag_name': 'Returns',
+ 'fields': 'Returns a foo (be careful using it) and see also: bar and baz'}),
+ # annotations with multiple closing parentheses, combined with parentheses in description
+ (TAG_RE, 'Returns: (transfer full) (element-type guint8): Returns a foo (be careful using it) and see also: bar and baz',
+ {'tag_name': 'Returns',
+ 'fields': '(transfer full) (element-type guint8): Returns a foo (be careful using it) and see also: bar and baz'}),
+ (TAG_RE, 'Returns: (transfer full) (element-type GLib.List(utf8)): Returns a foo (be careful using it) and see also: bar and baz',
+ {'tag_name': 'Returns',
+ 'fields': '(transfer full) (element-type GLib.List(utf8)): Returns a foo (be careful using it) and see also: bar and baz'}),
+ (TAG_RE, 'Returns: (transfer full) (element-type GLib.List((utf8))): Returns a foo (be careful using it) and see also: bar and baz',
+ {'tag_name': 'Returns',
+ 'fields': '(transfer full) (element-type GLib.List((utf8))): Returns a foo (be careful using it) and see also: bar and baz'}),
+ (TAG_RE, 'Returns: (transfer full) (element-type GLib.List(GLib.List(utf8))): Returns a foo (be careful using it) and see also: bar and baz',
+ {'tag_name': 'Returns',
+ 'fields': '(transfer full) (element-type GLib.List(GLib.List(utf8))): Returns a foo (be careful using it) and see also: bar and baz'}),
+ (TAG_RE, 'Returns: (element-type GLib.List(GLib.List(utf8))) (transfer full): Returns a foo (be careful using it) and see also: bar and baz',
+ {'tag_name': 'Returns',
+ 'fields': '(element-type GLib.List(GLib.List(utf8))) (transfer full): Returns a foo (be careful using it) and see also: bar and baz'}),
+ (TAG_RE, 'Returns: (element-type utf8=invalid GLib.HashTable(utf8,utf8) invalid): returns %NULL.',
+ {'tag_name': 'Returns',
+ 'fields': '(element-type utf8=invalid GLib.HashTable(utf8,utf8) invalid): returns %NULL.'})]
+
+
+tag_value_version_tests = [
+ (TAG_VALUE_VERSION_RE, ' abc',
+ {'value': '',
+ 'delimiter': '',
+ 'description': 'abc'}),
+ (TAG_VALUE_VERSION_RE, '5 abc',
+ {'value': '5',
+ 'delimiter': '',
+ 'description': 'abc'}),
+ (TAG_VALUE_VERSION_RE, '5:abc',
+ {'value': '5',
+ 'delimiter': ':',
+ 'description': 'abc'}),
+ (TAG_VALUE_VERSION_RE, ' 0.1: abc',
+ {'value': '0.1',
+ 'delimiter': ':',
+ 'description': 'abc'}),
+ (TAG_VALUE_VERSION_RE, ' 12.10.3698: abc',
+ {'value': '12.10.3698',
+ 'delimiter': ':',
+ 'description': 'abc'})]
+
+
+tag_value_stability_tests = [
+ (TAG_VALUE_STABILITY_RE, ' abc',
+ {'value': '',
+ 'delimiter': '',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'stable abc',
+ {'value': 'stable',
+ 'delimiter': '',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'unstable abc',
+ {'value': 'unstable',
+ 'delimiter': '',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'private abc',
+ {'value': 'private',
+ 'delimiter': '',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'internal abc',
+ {'value': 'internal',
+ 'delimiter': '',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'StAbLe: abc',
+ {'value': 'StAbLe',
+ 'delimiter': ':',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'uNsTaBlE: abc',
+ {'value': 'uNsTaBlE',
+ 'delimiter': ':',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'PRIVATE: abc',
+ {'value': 'PRIVATE',
+ 'delimiter': ':',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, ' internal : abc',
+ {'value': 'internal',
+ 'delimiter': ':',
+ 'description': 'abc'}),
+ (TAG_VALUE_STABILITY_RE, 'xyz: abc',
+ {'value': '',
+ 'delimiter': '',
+ 'description': 'xyz: abc'})]
+
+
+def create_test_method(testcase):
+ def do_test(self):
+ (program, text, expected) = testcase
+
+ match = program.match(text)
+
+ if match is not None:
+ msg = 'Test matched pattern but specifies no expected named groups.'
+ self.assertTrue(isinstance(expected, dict), msg)
+
+ for group in match.groupdict().keys():
+ msg = 'Test case is missing expected results for named group "%s".' % (group)
+ self.assertTrue(group in expected.keys(), msg)
+
+ if expected is None:
+ msg = 'Program matched text but shouldn\'t:\n"%s"'
+ self.assertTrue(match is None, msg % (text, ))
+ else:
+ msg = 'Program should match text but didn\'t:\n"%s"'
+ self.assertTrue(match is not None, msg % (text, ))
+
+ for key, value in expected.items():
+ msg = 'expected "%s" for "%s" but match returned "%s"'
+ msg = msg % (value, key, match.group(key))
+ self.assertEqual(match.group(key), value, msg)
+
+ return do_test
+
+
+def create_test_case(tests_class_name, testcases):
+ test_methods = {}
+ for (index, testcase) in enumerate(testcases):
+ test_method_name = 'test_%03d' % index
+
+ test_method = create_test_method(testcase)
+ test_method.__name__ = test_method_name
+ test_methods[test_method_name] = test_method
+
+ return type(tests_class_name, (unittest.TestCase,), test_methods)
+
+
+def create_test_cases():
+ test_cases = {}
+ for name, test_data in (('TestCommentStart', comment_start_tests),
+ ('TestCommentEnd', comment_end_tests),
+ ('TestCommentAsterisk', comment_asterisk_tests),
+ ('TestIndentaton', indentaton_tests),
+ ('TestEmptyLine', empty_line_tests),
+ ('TestIdentifierSection', identifier_section_tests),
+ ('TestIdentifierSymbol', identifier_symbol_tests),
+ ('TestIdentifierProperty', identifier_property_tests),
+ ('TestIdentifierSignal', identifier_signal_tests),
+ ('TestParameter', parameter_tests),
+ ('TestTag', tag_tests),
+ ('TestTagValueVersion', tag_value_version_tests),
+ ('TestTagValueStability', tag_value_stability_tests)):
+ test_cases[name] = create_test_case(name, test_data)
+
+ return test_cases
+
+
+# We currently need to push all the new test cases into the modules globals
+# in order for parameterized tests to work. Ideally all that should be needed
+# is the "load_tests" hook, but this does not work in the case were the tests
+# are run in parameterized mode, e.g: python -m unittest test_parser.Test...
+_all_tests = create_test_cases()
+globals().update(_all_tests)
+
+
+# Hook function for Python test loader.
+def load_tests(loader, tests, pattern):
+ suite = unittest.TestSuite()
+ # add standard tests from module
+ suite.addTests(tests)
+
+ for name, test_case in _all_tests.iteritems():
+ tests = loader.loadTestsFromTestCase(test_case)
+ suite.addTests(tests)
+ return suite
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/tests/scanner/annotationparser/tests.xsd b/tests/scanner/annotationparser/tests.xsd
new file mode 100644
index 00000000..ca47cfe7
--- /dev/null
+++ b/tests/scanner/annotationparser/tests.xsd
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:t="http://schemas.gnome.org/gobject-introspection/2013/test"
+ targetNamespace="http://schemas.gnome.org/gobject-introspection/2013/test"
+ elementFormDefault="qualified"
+ version="1.0.0">
+
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+ GObject-Introspection - a framework for introspecting GObject libraries
+ Copyright © 2013 Dieter Verfaillie <dieterv@optionexplicit.be>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.]]>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:simpleType name="PreservedStringtype">
+ <xs:restriction base="xs:string">
+ <xs:whiteSpace value="preserve"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="OutputType">
+ <xs:simpleContent>
+ <xs:extension base="t:PreservedStringtype">
+ <xs:attribute name="indent" type="xs:boolean" default="true" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="tests">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="t:test" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="test">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="input" type="t:PreservedStringtype" />
+ <xs:element ref="t:parser" minOccurs="0" />
+ <xs:element name="output" minOccurs="0" type="t:OutputType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="parser">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="t:docblock" minOccurs="0" />
+ <xs:element ref="t:messages" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="docblock">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="t:identifier" />
+ <xs:element ref="t:parameters" minOccurs="0" />
+ <xs:element name="description" type="t:PreservedStringtype" minOccurs="0" />
+ <xs:element ref="t:tags" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="identifier">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" type="xs:string" />
+ <xs:element ref="t:annotations" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="tags">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="t:tag" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="tag">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" />
+ <xs:element ref="t:annotations" minOccurs="0" />
+ <xs:element name="value" minOccurs="0" />
+ <xs:element name="description" type="t:PreservedStringtype" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="parameters">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="t:parameter" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="parameter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" />
+ <xs:element ref="t:annotations" minOccurs="0" />
+ <xs:element name="description" type="t:PreservedStringtype" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="annotations">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="t:annotation" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="annotation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" />
+ <xs:element ref="t:options" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="options">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="t:option" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="option">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="name" />
+ <xs:element name="value" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="messages">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="message" type="t:PreservedStringtype" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
diff --git a/tests/scanner/barapp.c b/tests/scanner/barapp.c
index db4be8db..ed391204 100644
--- a/tests/scanner/barapp.c
+++ b/tests/scanner/barapp.c
@@ -54,7 +54,6 @@ main(int argc, char **argv)
g_printerr ("usage: barapp --introspect-dump=types.txt,out.xml\\n");
return 1;
}
- g_type_init ();
if (!g_irepository_dump (argv[1] + strlen (prefix), &error))
{
diff --git a/tests/scanner/drawable.c b/tests/scanner/drawable.c
index 6ab8ecf7..e378286b 100644
--- a/tests/scanner/drawable.c
+++ b/tests/scanner/drawable.c
@@ -1,54 +1,54 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
#include "drawable.h"
-G_DEFINE_ABSTRACT_TYPE (TestInheritDrawable, test_inherit_drawable, G_TYPE_OBJECT);
+G_DEFINE_ABSTRACT_TYPE (RegressTestInheritDrawable, regress_test_inherit_drawable, G_TYPE_OBJECT);
static void
-test_inherit_drawable_class_init (TestInheritDrawableClass *klass)
+regress_test_inherit_drawable_class_init (RegressTestInheritDrawableClass *klass)
{
}
static void
-test_inherit_drawable_init (TestInheritDrawable *drawable)
+regress_test_inherit_drawable_init (RegressTestInheritDrawable *drawable)
{
}
-void
-test_inherit_drawable_do_foo (TestInheritDrawable *drawable, int x)
+void
+regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable *drawable, int x)
{
-
+
}
/**
- * test_inherit_drawable_get_origin:
+ * regress_test_inherit_drawable_get_origin:
* @drawable:
* @x: (out):
* @y: (out):
*/
void
-test_inherit_drawable_get_origin (TestInheritDrawable *drawable, int *x, int *y)
+regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable *drawable, int *x, int *y)
{
*x = 0;
*y = 0;
}
/**
- * test_inherit_drawable_get_size:
+ * regress_test_inherit_drawable_get_size:
* @drawable:
* @width: (out):
* @height: (out):
*/
void
-test_inherit_drawable_get_size (TestInheritDrawable *drawable, guint *width, guint *height)
+regress_test_inherit_drawable_get_size (RegressTestInheritDrawable *drawable, guint *width, guint *height)
{
*width = 42;
*height = 42;
}
void
-test_inherit_drawable_do_foo_maybe_throw (TestInheritDrawable *drawable, int x, GError **error)
+regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawable *drawable, int x, GError **error)
{
if (x != 42)
g_set_error(error, 0, 12, "The answer should be 42!");
diff --git a/tests/scanner/drawable.h b/tests/scanner/drawable.h
index d1752e44..58383589 100644
--- a/tests/scanner/drawable.h
+++ b/tests/scanner/drawable.h
@@ -1,33 +1,33 @@
-#ifndef __TEST_INHERIT_DRAWABLE_H__
-#define __TEST_INHERIT_DRAWABLE_H__
+#ifndef __REGRESS_TEST_INHERIT_DRAWABLE_H__
+#define __REGRESS_TEST_INHERIT_DRAWABLE_H__
#include <glib-object.h>
-typedef struct _TestInheritDrawable TestInheritDrawable;
-typedef struct _TestInheritDrawableClass TestInheritDrawableClass;
+typedef struct _RegressTestInheritDrawable RegressTestInheritDrawable;
+typedef struct _RegressTestInheritDrawableClass RegressTestInheritDrawableClass;
-struct _TestInheritDrawable
+struct _RegressTestInheritDrawable
{
GObject parent_instance;
};
-struct _TestInheritDrawableClass
+struct _RegressTestInheritDrawableClass
{
GObjectClass parent_class;
};
-GType test_inherit_drawable_get_type (void) G_GNUC_CONST;
+GType regress_test_inherit_drawable_get_type (void) G_GNUC_CONST;
-void test_inherit_drawable_do_foo (TestInheritDrawable *drawable, int x);
-void test_inherit_drawable_get_origin (TestInheritDrawable *drawable, int *x, int *y);
-void test_inherit_drawable_get_size (TestInheritDrawable *drawable, guint *width, guint *height);
-void test_inherit_drawable_do_foo_maybe_throw (TestInheritDrawable *drawable, int x, GError **error);
+void regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable *drawable, int x);
+void regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable *drawable, int *x, int *y);
+void regress_test_inherit_drawable_get_size (RegressTestInheritDrawable *drawable, guint *width, guint *height);
+void regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawable *drawable, int x, GError **error);
-typedef struct _TestInheritPixmapObjectClass TestInheritPixmapObjectClass;
+typedef struct _RegressTestInheritPixmapObjectClass RegressTestInheritPixmapObjectClass;
-struct _TestInheritPixmapObjectClass
+struct _RegressTestInheritPixmapObjectClass
{
- TestInheritDrawableClass parent_class;
+ RegressTestInheritDrawableClass parent_class;
};
-#endif /* __TEST_INHERIT_DRAWABLE_H__ */
+#endif /* __REGRESS_TEST_INHERIT_DRAWABLE_H__ */
diff --git a/tests/scanner/foo.c b/tests/scanner/foo.c
index f8cc350b..52b9054e 100644
--- a/tests/scanner/foo.c
+++ b/tests/scanner/foo.c
@@ -1,45 +1,44 @@
#include "foo.h"
-#include "girepository.h"
/* A hidden type not exposed publicly, similar to GUPNP's XML wrapper
object */
-typedef struct _FooHidden FooHidden;
-
-int foo_init_argv (int argc, char **argv);
-int foo_init_argv_address (int *argc, char ***argv);
-void foo_private_function (FooObject *foo);
-void foo_test_unsigned (unsigned int uint);
-void foo_interface_do_foo (FooInterface *self, int x);
-void foo_do_foo (FooInterface *self, int x);
-int foo_enum_method (FooEnumType foo_enum);
-FooHidden * foo_hidden_copy (const FooHidden *boxed);
-void foo_hidden_free (FooHidden *boxed);
-GType foo_hidden_get_type (void);
-FooBoxed *foo_boxed_copy (const FooBoxed *boxed);
-void foo_boxed_free (FooBoxed *boxed);
-void foo_dbus_data_free (FooDBusData *boxed);
-FooDBusData *foo_dbus_data_copy (const FooDBusData *boxed);
+typedef struct _RegressFooHidden RegressFooHidden;
+
+int regress_foo_init_argv (int argc, char **argv);
+int regress_foo_init_argv_address (int *argc, char ***argv);
+void regress_foo_private_function (RegressFooObject *regress_foo);
+void regress_foo_test_unsigned (unsigned int uint);
+void regress_foo_interface_do_regress_foo (RegressFooInterface *self, int x);
+void regress_foo_do_regress_foo (RegressFooInterface *self, int x);
+int regress_foo_enum_method (RegressFooEnumType regress_foo_enum);
+RegressFooHidden * regress_foo_hidden_copy (const RegressFooHidden *boxed);
+void regress_foo_hidden_free (RegressFooHidden *boxed);
+GType regress_foo_hidden_get_type (void);
+RegressFooBoxed *regress_foo_boxed_copy (const RegressFooBoxed *boxed);
+void regress_foo_boxed_free (RegressFooBoxed *boxed);
+void regress_foo_dbus_data_free (RegressFooDBusData *boxed);
+RegressFooDBusData *regress_foo_dbus_data_copy (const RegressFooDBusData *boxed);
typedef struct
{
int i;
} PrivateStruct;
-void foo_private_function (FooObject *foo)
+void regress_foo_private_function (RegressFooObject *regress_foo)
{
}
GType
-foo_interface_get_type (void)
+regress_foo_interface_get_type (void)
{
static GType object_type = 0;
if (!object_type)
{
object_type = g_type_register_static_simple (G_TYPE_INTERFACE,
- "FooInterface",
- sizeof (FooInterfaceIface),
+ "RegressFooInterface",
+ sizeof (RegressFooInterfaceIface),
NULL, 0, NULL, 0);
g_type_interface_add_prerequisite (object_type, G_TYPE_OBJECT);
@@ -48,12 +47,12 @@ foo_interface_get_type (void)
return object_type;
}
-void foo_interface_do_foo (FooInterface *self, int x)
+void regress_foo_interface_do_regress_foo (RegressFooInterface *self, int x)
{
- FOO_INTERFACE_GET_INTERFACE(self)->do_foo (self, x);
+ REGRESS_FOO_INTERFACE_GET_INTERFACE(self)->do_regress_foo (self, x);
}
-void foo_interface_static_method (int x)
+void regress_foo_interface_static_method (int x)
{
}
@@ -68,14 +67,14 @@ enum {
LAST_SIGNAL
};
-static guint foo_object_signals[LAST_SIGNAL] = { 0 };
+static guint regress_foo_object_signals[LAST_SIGNAL] = { 0 };
static void
-foo_foo_interface_init (gpointer g_iface,
- gpointer iface_data)
+regress_foo_regress_foo_interface_init (gpointer g_iface,
+ gpointer iface_data)
{
- FooInterfaceIface *iface = (FooInterfaceIface *)g_iface;
- iface->do_foo = foo_do_foo;
+ RegressFooInterfaceIface *iface = (RegressFooInterfaceIface *)g_iface;
+ iface->do_regress_foo = regress_foo_do_regress_foo;
}
enum {
@@ -84,75 +83,68 @@ enum {
};
static void
-foo_sub_interface_class_init (gpointer g_class, gpointer class_data);
+regress_foo_sub_interface_class_init (gpointer g_class, gpointer class_data);
-static guint foo_subiface_signals[SUBIFACE_LAST_SIGNAL] = { 0 };
+static guint regress_foo_subiface_signals[SUBIFACE_LAST_SIGNAL] = { 0 };
GType
-foo_sub_interface_get_type (void)
+regress_foo_sub_interface_get_type (void)
{
static GType object_type = 0;
if (!object_type)
{
object_type = g_type_register_static_simple (G_TYPE_INTERFACE,
- "FooSubInterface",
- sizeof (FooSubInterfaceIface),
- foo_sub_interface_class_init, 0, NULL, 0);
+ "RegressFooSubInterface",
+ sizeof (RegressFooSubInterfaceIface),
+ regress_foo_sub_interface_class_init, 0, NULL, 0);
- g_type_interface_add_prerequisite (object_type, FOO_TYPE_INTERFACE);
+ g_type_interface_add_prerequisite (object_type, REGRESS_FOO_TYPE_INTERFACE);
}
return object_type;
}
static void
-foo_sub_interface_class_init (gpointer g_class, gpointer class_data)
+regress_foo_sub_interface_class_init (gpointer g_class, gpointer class_data)
{
- foo_subiface_signals[SUBIFACE_DESTROY_EVENT] =
- g_signal_new ("destroy-event", FOO_TYPE_SUBINTERFACE,
+ regress_foo_subiface_signals[SUBIFACE_DESTROY_EVENT] =
+ g_signal_new ("destroy-event", REGRESS_FOO_TYPE_SUBINTERFACE,
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (FooSubInterfaceIface, destroy_event),
- NULL, NULL,
- gi_cclosure_marshal_generic,
+ G_STRUCT_OFFSET (RegressFooSubInterfaceIface, destroy_event),
+ NULL, NULL, NULL,
G_TYPE_NONE,
0,
G_TYPE_NONE);
}
void
-foo_sub_interface_do_bar (FooSubInterface *self)
+regress_foo_sub_interface_do_bar (RegressFooSubInterface *self)
{
- FOO_SUBINTERFACE_GET_INTERFACE(self)->do_bar (self);
-}
-
-void
-foo_sub_interface_do_moo (FooSubInterface *self, int x, gpointer y)
-{
- FOO_SUBINTERFACE_GET_INTERFACE(self)->do_moo (self, x, y);
+ REGRESS_FOO_SUBINTERFACE_GET_INTERFACE(self)->do_bar (self);
}
/**
- * foo_sub_interface_do_baz:
+ * regress_foo_sub_interface_do_baz:
* @self:
* @callback: (scope call):
* @user_data:
*/
void
-foo_sub_interface_do_baz (FooSubInterface *self, GCallback callback, gpointer user_data)
+regress_foo_sub_interface_do_baz (RegressFooSubInterface *self, GCallback callback, gpointer user_data)
{
- FOO_SUBINTERFACE_GET_INTERFACE(self)->do_baz (self, callback, user_data);
+ REGRESS_FOO_SUBINTERFACE_GET_INTERFACE(self)->do_baz (self, callback, user_data);
}
-G_DEFINE_TYPE_EXTENDED (FooObject, foo_object, G_TYPE_OBJECT,
- 0, G_IMPLEMENT_INTERFACE (FOO_TYPE_INTERFACE,
- foo_foo_interface_init));
+G_DEFINE_TYPE_EXTENDED (RegressFooObject, regress_foo_object, G_TYPE_OBJECT,
+ 0, G_IMPLEMENT_INTERFACE (REGRESS_FOO_TYPE_INTERFACE,
+ regress_foo_regress_foo_interface_init));
static void
-foo_object_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+regress_foo_object_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
switch (prop_id)
{
@@ -167,10 +159,10 @@ foo_object_set_property (GObject *object,
}
static void
-foo_object_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+regress_foo_object_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
switch (prop_id)
{
@@ -185,14 +177,14 @@ foo_object_get_property (GObject *object,
}
static void
-foo_object_class_init (FooObjectClass *klass)
+regress_foo_object_class_init (RegressFooObjectClass *klass)
{
GObjectClass *gobject_class;
gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->set_property = foo_object_set_property;
- gobject_class->get_property = foo_object_get_property;
+ gobject_class->set_property = regress_foo_object_set_property;
+ gobject_class->get_property = regress_foo_object_get_property;
g_object_class_install_property (gobject_class,
PROP_STRING,
@@ -206,9 +198,9 @@ foo_object_class_init (FooObjectClass *klass)
g_param_spec_boxed ("hidden",
"hidden property",
"should not be exposed",
- foo_hidden_get_type (),
+ regress_foo_hidden_get_type (),
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
- foo_object_signals[SIGNAL] =
+ regress_foo_object_signals[SIGNAL] =
g_signal_new ("signal",
G_OBJECT_CLASS_TYPE (gobject_class),
G_SIGNAL_RUN_LAST,
@@ -220,327 +212,325 @@ foo_object_class_init (FooObjectClass *klass)
}
static void
-foo_object_init (FooObject *object)
+regress_foo_object_init (RegressFooObject *object)
{
}
-FooObject *
-foo_object_new (void)
+RegressFooObject *
+regress_foo_object_new (void)
{
- return g_object_new (FOO_TYPE_OBJECT, NULL);
+ return g_object_new (REGRESS_FOO_TYPE_OBJECT, NULL);
}
GObject *
-foo_object_new_as_super (void)
+regress_foo_object_new_as_super (void)
{
- return g_object_new (FOO_TYPE_OBJECT, NULL);
+ return g_object_new (REGRESS_FOO_TYPE_OBJECT, NULL);
}
/**
- * foo_object_external_type:
- * @object: a #FooObject
+ * regress_foo_object_external_type:
+ * @object: a #RegressFooObject
*
* Returns: (transfer none): %NULL always
*/
UtilityObject*
-foo_object_external_type (FooObject *object)
+regress_foo_object_external_type (RegressFooObject *object)
{
return NULL;
}
void
-foo_object_take_all (FooObject *object, int x, ...)
+regress_foo_object_take_all (RegressFooObject *object, int x, ...)
{
}
void
-foo_do_foo (FooInterface *self, int x)
+regress_foo_do_regress_foo (RegressFooInterface *self, int x)
{
}
void
-foo_object_is_it_time_yet (FooObject *object, time_t time)
+regress_foo_object_is_it_time_yet (RegressFooObject *object, time_t time)
{
}
/**
- * foo_object_new_cookie: (skip)
+ * regress_foo_object_new_cookie: (skip)
* @object:
* @target:
*
* Not sure why this test is here...
*/
-FooObjectCookie
-foo_object_new_cookie (FooObject *object, const char *target)
+RegressFooObjectCookie
+regress_foo_object_new_cookie (RegressFooObject *object, const char *target)
{
return NULL;
}
const char *
-foo_object_get_name (FooObject *object)
+regress_foo_object_get_name (RegressFooObject *object)
{
- return "foo";
+ return "regress_foo";
}
char *
-foo_object_dup_name (FooObject *object)
+regress_foo_object_dup_name (RegressFooObject *object)
{
- return g_strdup ("foo");
+ return g_strdup ("regress_foo");
}
/**
- * foo_object_read:
+ * regress_foo_object_read: (virtual read_fn)
* @object: obj
* @offset: offset
* @length: length
*
* Read some stuff.
- *
- * Virtual: read_fn
*/
void
-foo_object_read (FooObject *object, int offset, int length)
+regress_foo_object_read (RegressFooObject *object, int offset, int length)
{
}
/**
- * foo_object_skipped_method: (skip)
+ * regress_foo_object_skipped_method: (skip)
* @object: obj
*
* This is only useful from C.
*/
void
-foo_object_skipped_method (FooObject *object)
+regress_foo_object_skipped_method (RegressFooObject *object)
{
}
-G_DEFINE_ABSTRACT_TYPE (FooSubobject, foo_subobject, FOO_TYPE_OBJECT);
+G_DEFINE_ABSTRACT_TYPE (RegressFooSubobject, regress_foo_subobject, REGRESS_FOO_TYPE_OBJECT);
static void
-foo_subobject_class_init (FooSubobjectClass *klass)
+regress_foo_subobject_class_init (RegressFooSubobjectClass *klass)
{
}
static void
-foo_subobject_init (FooSubobject *object)
+regress_foo_subobject_init (RegressFooSubobject *object)
{
}
/**
- * foo_object_get_default:
+ * regress_foo_object_get_default:
*
* This function is intended to match clutter_stage_get_default which
* uses a C sugar return type.
*
- * Return value: (type FooSubobject) (transfer none): The global #FooSubobject
+ * Return value: (type RegressFooSubobject) (transfer none): The global #RegressFooSubobject
*/
-FooObject *
-foo_object_get_default ()
+RegressFooObject *
+regress_foo_object_get_default ()
{
return NULL;
}
-int foo_init (void)
+int regress_foo_init (void)
{
- return FOO_SUCCESS_INT;
+ return REGRESS_FOO_SUCCESS_INT;
}
-int foo_init_argv (int argc, char **argv)
+int regress_foo_init_argv (int argc, char **argv)
{
- return FOO_SUCCESS_INT;
+ return REGRESS_FOO_SUCCESS_INT;
}
-int foo_init_argv_address (int *argc, char ***argv)
+int regress_foo_init_argv_address (int *argc, char ***argv)
{
- return FOO_SUCCESS_INT;
+ return REGRESS_FOO_SUCCESS_INT;
}
GType
-foo_enum_type_get_type (void)
-{
- static GType etype = 0;
- if (G_UNLIKELY(etype == 0)) {
- static const GEnumValue values[] = {
- { FOO_ENUM_ALPHA, "FOO_ENUM_ALPHA", "alpha" },
- { FOO_ENUM_BETA, "FOO_ENUM_BETA", "beta" },
- { FOO_ENUM_DELTA, "FOO_ENUM_DELTA", "delta" },
- { 0, NULL, NULL }
- };
- etype = g_enum_register_static (g_intern_static_string ("FooEnumType"), values);
- }
- return etype;
+regress_foo_enum_type_get_type (void)
+{
+ static GType etype = 0;
+ if (G_UNLIKELY(etype == 0)) {
+ static const GEnumValue values[] = {
+ { REGRESS_FOO_ENUM_ALPHA, "REGRESS_FOO_ENUM_ALPHA", "alpha" },
+ { REGRESS_FOO_ENUM_BETA, "REGRESS_FOO_ENUM_BETA", "beta" },
+ { REGRESS_FOO_ENUM_DELTA, "REGRESS_FOO_ENUM_DELTA", "delta" },
+ { 0, NULL, NULL }
+ };
+ etype = g_enum_register_static (g_intern_static_string ("RegressFooEnumType"), values);
+ }
+ return etype;
}
-int foo_enum_method (FooEnumType foo_enum)
+int regress_foo_enum_method (RegressFooEnumType regress_foo_enum)
{
return 0;
}
GType
-foo_flags_type_get_type (void)
-{
- static GType etype = 0;
- if (G_UNLIKELY(etype == 0)) {
- static const GFlagsValue values[] = {
- { FOO_FLAGS_FIRST, "FOO_FLAGS_FIRST", "first" },
- { FOO_FLAGS_SECOND, "FOO_FLAGS_SECOND", "second" },
- { FOO_FLAGS_THIRD, "FOO_FLAGS_THIRD", "third" },
- { 0, NULL, NULL }
- };
- etype = g_flags_register_static (g_intern_static_string ("FooFlagsType"), values);
- }
- return etype;
+regress_foo_flags_type_get_type (void)
+{
+ static GType etype = 0;
+ if (G_UNLIKELY(etype == 0)) {
+ static const GFlagsValue values[] = {
+ { REGRESS_FOO_FLAGS_FIRST, "REGRESS_FOO_FLAGS_FIRST", "first" },
+ { REGRESS_FOO_FLAGS_SECOND, "REGRESS_FOO_FLAGS_SECOND", "second" },
+ { REGRESS_FOO_FLAGS_THIRD, "REGRESS_FOO_FLAGS_THIRD", "third" },
+ { 0, NULL, NULL }
+ };
+ etype = g_flags_register_static (g_intern_static_string ("RegressFooFlagsType"), values);
+ }
+ return etype;
}
-struct _FooBoxed
+struct _RegressFooBoxed
{
int private;
};
-FooBoxed *
-foo_boxed_copy (const FooBoxed *boxed)
+RegressFooBoxed *
+regress_foo_boxed_copy (const RegressFooBoxed *boxed)
{
- return (FooBoxed *)g_memdup (boxed, sizeof (FooBoxed));
+ return (RegressFooBoxed *)g_memdup (boxed, sizeof (RegressFooBoxed));
}
void
-foo_boxed_free (FooBoxed *boxed)
+regress_foo_boxed_free (RegressFooBoxed *boxed)
{
- g_slice_free (FooBoxed, boxed);
+ g_slice_free (RegressFooBoxed, boxed);
}
GType
-foo_boxed_get_type (void)
+regress_foo_boxed_get_type (void)
{
static GType our_type = 0;
if (our_type == 0)
- our_type = g_boxed_type_register_static ("FooBoxed",
- (GBoxedCopyFunc) foo_boxed_copy,
- (GBoxedFreeFunc) foo_boxed_free);
+ our_type = g_boxed_type_register_static ("RegressFooBoxed",
+ (GBoxedCopyFunc) regress_foo_boxed_copy,
+ (GBoxedFreeFunc) regress_foo_boxed_free);
return our_type;
}
-FooBoxed *
-foo_boxed_new (void)
+RegressFooBoxed *
+regress_foo_boxed_new (void)
{
- return g_slice_new0 (FooBoxed);
+ return g_slice_new0 (RegressFooBoxed);
}
void
-foo_boxed_method (FooBoxed *boxed)
+regress_foo_boxed_method (RegressFooBoxed *boxed)
{
}
-/* FooDbus */
-struct _FooDBusData
+/* RegressFooDbus */
+struct _RegressFooDBusData
{
double private;
};
-FooDBusData *
-foo_dbus_data_copy (const FooDBusData *boxed)
+RegressFooDBusData *
+regress_foo_dbus_data_copy (const RegressFooDBusData *boxed)
{
- return (FooDBusData *)g_memdup (boxed, sizeof (FooDBusData));
+ return (RegressFooDBusData *)g_memdup (boxed, sizeof (RegressFooDBusData));
}
void
-foo_dbus_data_free (FooDBusData *boxed)
+regress_foo_dbus_data_free (RegressFooDBusData *boxed)
{
- g_slice_free (FooDBusData, boxed);
+ g_slice_free (RegressFooDBusData, boxed);
}
GType
-foo_dbus_data_get_type (void)
+regress_foo_dbus_data_get_type (void)
{
static GType our_type = 0;
if (our_type == 0)
- our_type = g_boxed_type_register_static ("FooDBusData",
- (GBoxedCopyFunc) foo_dbus_data_copy,
- (GBoxedFreeFunc) foo_dbus_data_free);
+ our_type = g_boxed_type_register_static ("RegressFooDBusData",
+ (GBoxedCopyFunc) regress_foo_dbus_data_copy,
+ (GBoxedFreeFunc) regress_foo_dbus_data_free);
return our_type;
}
GType
-foo_brect_get_type (void)
+regress_foo_brect_get_type (void)
{
static GType our_type = 0;
if (our_type == 0)
- our_type = g_boxed_type_register_static ("FooBRect",
+ our_type = g_boxed_type_register_static ("RegressFooBRect",
(GBoxedCopyFunc) g_memdup, /* Won't work */
(GBoxedFreeFunc) g_free);
return our_type;
}
GType
-foo_bunion_get_type (void)
+regress_foo_bunion_get_type (void)
{
static GType our_type = 0;
if (our_type == 0)
- our_type = g_boxed_type_register_static ("FooBUnion",
+ our_type = g_boxed_type_register_static ("RegressFooBUnion",
(GBoxedCopyFunc) g_memdup, /* Won't work */
(GBoxedFreeFunc) g_free);
return our_type;
}
-void foo_test_unsigned (unsigned int uint)
+void regress_foo_test_unsigned (unsigned int uint)
{
}
/**
- * foo_test_string_array:
+ * regress_foo_test_string_array:
* @array: (array zero-terminated=1):
*/
void
-foo_test_string_array (char **array)
+regress_foo_test_string_array (char **array)
{
}
/**
- * foo_test_string_array_with_g:
+ * regress_foo_test_string_array_with_g:
* @array: (array zero-terminated=1):
*/
void
-foo_test_string_array_with_g (gchar **array)
+regress_foo_test_string_array_with_g (gchar **array)
{
}
/**
- * foo_test_array:
+ * regress_foo_test_array:
*
* Returns: (element-type utf8) (transfer container):
*/
GArray *
-foo_test_array (void)
+regress_foo_test_array (void)
{
return NULL;
}
/**
- * foo_rectangle_new: (skip)
+ * regress_foo_rectangle_new: (skip)
*
* This is a C convenience constructor; we have to (skip)
* it because it's not a boxed type.
*/
-FooRectangle *
-foo_rectangle_new (int x, int y, int width, int height)
+RegressFooRectangle *
+regress_foo_rectangle_new (int x, int y, int width, int height)
{
- FooRectangle *r = g_slice_new (FooRectangle);
+ RegressFooRectangle *r = g_slice_new (RegressFooRectangle);
r->x = x;
r->y = y;
r->width = width;
@@ -549,250 +539,250 @@ foo_rectangle_new (int x, int y, int width, int height)
}
/**
- * foo_rectangle_add:
+ * regress_foo_rectangle_add:
* @r1: (inout): add to this rect
* @r2: source rectangle
*/
void
-foo_rectangle_add(FooRectangle *r1, const FooRectangle *r2)
+regress_foo_rectangle_add(RegressFooRectangle *r1, const RegressFooRectangle *r2)
{
}
-/* FooHidden */
+/* RegressFooHidden */
-struct _FooHidden
+struct _RegressFooHidden
{
char *frob;
};
-FooHidden *
-foo_hidden_copy (const FooHidden *boxed)
+RegressFooHidden *
+regress_foo_hidden_copy (const RegressFooHidden *boxed)
{
- return (FooHidden *)g_memdup (boxed, sizeof (FooHidden));
+ return (RegressFooHidden *)g_memdup (boxed, sizeof (RegressFooHidden));
}
void
-foo_hidden_free (FooHidden *boxed)
+regress_foo_hidden_free (RegressFooHidden *boxed)
{
- g_slice_free (FooHidden, boxed);
+ g_slice_free (RegressFooHidden, boxed);
}
GType
-foo_hidden_get_type (void)
+regress_foo_hidden_get_type (void)
{
static GType our_type = 0;
if (our_type == 0)
- our_type = g_boxed_type_register_static ("FooHidden",
- (GBoxedCopyFunc) foo_hidden_copy,
- (GBoxedFreeFunc) foo_hidden_free);
+ our_type = g_boxed_type_register_static ("RegressFooHidden",
+ (GBoxedCopyFunc) regress_foo_hidden_copy,
+ (GBoxedFreeFunc) regress_foo_hidden_free);
return our_type;
}
GType
-foo_error_get_type (void)
-{
- static GType etype = 0;
- if (G_UNLIKELY(etype == 0)) {
- static const GEnumValue values[] = {
- { FOO_ERROR_GOOD, "FOO_ERROR_GOOD", "good" },
- { FOO_ERROR_BAD, "FOO_ERROR_BAD", "bad" },
- { FOO_ERROR_UGLY, "FOO_ERROR_UGLY", "ugly" },
- { 0, NULL, NULL }
- };
- etype = g_enum_register_static (g_intern_static_string ("FooError"), values);
- }
- return etype;
+regress_foo_error_get_type (void)
+{
+ static GType etype = 0;
+ if (G_UNLIKELY(etype == 0)) {
+ static const GEnumValue values[] = {
+ { REGRESS_FOO_ERROR_GOOD, "REGRESS_FOO_ERROR_GOOD", "good" },
+ { REGRESS_FOO_ERROR_BAD, "REGRESS_FOO_ERROR_BAD", "bad" },
+ { REGRESS_FOO_ERROR_UGLY, "REGRESS_FOO_ERROR_UGLY", "ugly" },
+ { 0, NULL, NULL }
+ };
+ etype = g_enum_register_static (g_intern_static_string ("RegressFooError"), values);
+ }
+ return etype;
}
GQuark
-foo_error_quark (void)
+regress_foo_error_quark (void)
{
- return g_quark_from_static_string ("foo-error-quark");
+ return g_quark_from_static_string ("regress_foo-error-quark");
}
void
-foo_some_variant (guint x, va_list args)
+regress_foo_some_variant (guint x, va_list args)
{
}
-GType foo_tile_handler_get_type(void);
+GType regress_foo_tile_handler_get_type(void);
/* This setup of a totally hidden parent class matches
* http://bugzilla.gnome.org/show_bug.cgi?id=561360
*/
-#define FOO_TYPE_TILE_HANDLER (foo_tile_handler_get_type ())
-#define FOO_TILE_HANDLER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), FOO_TYPE_TILE_HANDLER, FooTileHandler))
-#define FOO_IS_TILE_HANDLER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), FOO_TYPE_TILE_HANDLER))
+#define REGRESS_FOO_TYPE_TILE_HANDLER (regress_foo_tile_handler_get_type ())
+#define REGRESS_FOO_TILE_HANDLER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_FOO_TYPE_TILE_HANDLER, RegressFooTileHandler))
+#define REGRESS_FOO_IS_TILE_HANDLER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REGRESS_FOO_TYPE_TILE_HANDLER))
-struct _FooTileHandler
+struct _RegressFooTileHandler
{
- FooObject parent_instance;
+ RegressFooObject parent_instance;
};
-struct _FooTileHandlerClass
+struct _RegressFooTileHandlerClass
{
- FooObjectClass parent_class;
+ RegressFooObjectClass parent_class;
};
-typedef struct _FooTileHandler FooTileHandler;
-typedef struct _FooTileHandlerClass FooTileHandlerClass;
+typedef struct _RegressFooTileHandler RegressFooTileHandler;
+typedef struct _RegressFooTileHandlerClass RegressFooTileHandlerClass;
-G_DEFINE_TYPE(FooTileHandler, foo_tile_handler, FOO_TYPE_OBJECT);
+G_DEFINE_TYPE(RegressFooTileHandler, regress_foo_tile_handler, REGRESS_FOO_TYPE_OBJECT);
static void
-foo_tile_handler_class_init (FooTileHandlerClass *klass)
+regress_foo_tile_handler_class_init (RegressFooTileHandlerClass *klass)
{
}
static void
-foo_tile_handler_init (FooTileHandler *object)
+regress_foo_tile_handler_init (RegressFooTileHandler *object)
{
}
-struct _FooBuffer
+struct _RegressFooBuffer
{
- FooTileHandler parent_instance;
+ RegressFooTileHandler parent_instance;
};
-struct _FooBufferClass
+struct _RegressFooBufferClass
{
- FooTileHandlerClass parent_class;
+ RegressFooTileHandlerClass parent_class;
};
-G_DEFINE_TYPE(FooBuffer, foo_buffer, FOO_TYPE_TILE_HANDLER);
+G_DEFINE_TYPE(RegressFooBuffer, regress_foo_buffer, REGRESS_FOO_TYPE_TILE_HANDLER);
static void
-foo_buffer_class_init (FooBufferClass *klass)
+regress_foo_buffer_class_init (RegressFooBufferClass *klass)
{
}
static void
-foo_buffer_init (FooBuffer *object)
+regress_foo_buffer_init (RegressFooBuffer *object)
{
}
void
-foo_buffer_some_method (FooBuffer *buffer)
+regress_foo_buffer_some_method (RegressFooBuffer *buffer)
{
}
-struct _FooOtherObject
+struct _RegressFooOtherObject
{
GObject parent_instance;
};
-struct _FooOtherObjectClass
+struct _RegressFooOtherObjectClass
{
GObjectClass parent_class;
};
-G_DEFINE_TYPE(FooOtherObject, foo_other_object, G_TYPE_OBJECT);
+G_DEFINE_TYPE(RegressFooOtherObject, regress_foo_other_object, G_TYPE_OBJECT);
static void
-foo_other_object_class_init (FooOtherObjectClass *klass)
+regress_foo_other_object_class_init (RegressFooOtherObjectClass *klass)
{
}
static void
-foo_other_object_init (FooOtherObject *object)
+regress_foo_other_object_init (RegressFooOtherObject *object)
{
}
-#define FOO_DEFINE_SHOULD_NOT_BE_EXPOSED "should not be exposed"
+#define REGRESS_FOO_DEFINE_SHOULD_NOT_BE_EXPOSED "should not be exposed"
/**
- * foo_skip_me: (skip)
- * @fs: a #FooSkippable
+ * regress_foo_skip_me: (skip)
+ * @fs: a #RegressFooSkippable
*
* Does something that's only interesting from C and should not be
* exposed to language bindings.
*/
void
-foo_skip_me (FooSkippable fs)
+regress_foo_skip_me (RegressFooSkippable fs)
{
}
/**
- * FooForeignStruct: (foreign)
+ * RegressFooForeignStruct: (foreign)
*
*/
-FooForeignStruct*
-foo_foreign_struct_new (void)
+RegressFooForeignStruct*
+regress_foo_foreign_struct_new (void)
{
- return g_slice_new0 (FooForeignStruct);
+ return g_slice_new0 (RegressFooForeignStruct);
}
-FooForeignStruct*
-foo_foreign_struct_copy (FooForeignStruct *original)
+RegressFooForeignStruct*
+regress_foo_foreign_struct_copy (RegressFooForeignStruct *original)
{
- FooForeignStruct *copy;
- copy = foo_foreign_struct_new ();
- copy->foo = original->foo;
- return copy;
+ RegressFooForeignStruct *copy;
+ copy = regress_foo_foreign_struct_new ();
+ copy->regress_foo = original->regress_foo;
+ return copy;
}
/**
- * foo_test_varargs_callback: (skip)
+ * regress_foo_test_varargs_callback: (skip)
*
*/
void
-foo_test_varargs_callback (gint i, FooVarargsCallback callback)
+regress_foo_test_varargs_callback (gint i, RegressFooVarargsCallback callback)
{
}
/**
- * foo_test_varargs_callback2: (skip)
+ * regress_foo_test_varargs_callback2: (skip)
*
*/
void
-foo_test_varargs_callback2 (FooVarargsCallback callback)
+regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback)
{
}
/**
- * foo_test_varargs_callback3: (skip)
+ * regress_foo_test_varargs_callback3: (skip)
*
*/
void
-foo_test_varargs_callback3 (FooVarargsCallback callback,
- FooVarargsCallback callback2)
+regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback,
+ RegressFooVarargsCallback callback2)
{
}
/**
- * foo_object_append_new_stack_layer:
+ * regress_foo_object_append_new_stack_layer:
*
* This shouldn't be scanned as a constructor.
*
* Returns: (transfer none):
*/
-FooOtherObject *
-foo_object_append_new_stack_layer (FooObject *obj, int x)
+RegressFooOtherObject *
+regress_foo_object_append_new_stack_layer (RegressFooObject *obj, int x)
{
return NULL;
}
/**
- * foo_not_a_constructor_new:
+ * regress_foo_not_a_constructor_new:
*
* This should be scanned as a top-level function, and shouldn't cause
* a "Can't find matching type for constructor" warning.
*
* Returns: (transfer none):
*/
-FooObject *
-foo_not_a_constructor_new (void)
+RegressFooObject *
+regress_foo_not_a_constructor_new (void)
{
return NULL;
}
diff --git a/tests/scanner/foo.h b/tests/scanner/foo.h
index f852083c..e097560e 100644
--- a/tests/scanner/foo.h
+++ b/tests/scanner/foo.h
@@ -1,257 +1,253 @@
-#ifndef __FOO_OBJECT_H__
-#define __FOO_OBJECT_H__
+#ifndef __REGRESS_FOO_OBJECT_H__
+#define __REGRESS_FOO_OBJECT_H__
#include <glib-object.h>
#include <gio/gio.h> /* GAsyncReadyCallback */
#include "utility.h"
-#define FOO_SUCCESS_INT 0x1138
+#define REGRESS_FOO_SUCCESS_INT 0x1138
-#define FOO_DEFINE_SHOULD_BE_EXPOSED "should be exposed"
+#define REGRESS_FOO_DEFINE_SHOULD_BE_EXPOSED "should be exposed"
-#define FOO_PIE_IS_TASTY 3.14159
+#define REGRESS_FOO_PIE_IS_TASTY 3.14159
-#define FOO_TYPE_INTERFACE (foo_interface_get_type ())
-#define FOO_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), FOO_TYPE_INTERFACE, FooInterface))
-#define FOO_IS_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), FOO_TYPE_INTERFACE))
-#define FOO_INTERFACE_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), FOO_TYPE_INTERFACE, FooInterfaceIface))
+#define REGRESS_FOO_TYPE_INTERFACE (regress_foo_interface_get_type ())
+#define REGRESS_FOO_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_FOO_TYPE_INTERFACE, RegressFooInterface))
+#define REGRESS_FOO_IS_INTERFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REGRESS_FOO_TYPE_INTERFACE))
+#define REGRESS_FOO_INTERFACE_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), REGRESS_FOO_TYPE_INTERFACE, RegressFooInterfaceIface))
-#define FOO_TYPE_SUBINTERFACE (foo_sub_interface_get_type ())
-#define FOO_SUBINTERFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), FOO_TYPE_SUBINTERFACE, FooSubInterface))
-#define FOO_IS_SUBINTERFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), FOO_TYPE_SUBINTERFACE))
-#define FOO_SUBINTERFACE_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), FOO_TYPE_SUBINTERFACE, FooSubInterfaceIface))
+#define REGRESS_FOO_TYPE_SUBINTERFACE (regress_foo_sub_interface_get_type ())
+#define REGRESS_FOO_SUBINTERFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_FOO_TYPE_SUBINTERFACE, RegressFooSubInterface))
+#define REGRESS_FOO_IS_SUBINTERFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REGRESS_FOO_TYPE_SUBINTERFACE))
+#define REGRESS_FOO_SUBINTERFACE_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), REGRESS_FOO_TYPE_SUBINTERFACE, RegressFooSubInterfaceIface))
-#define FOO_TYPE_OBJECT (foo_object_get_type ())
-#define FOO_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), FOO_TYPE_OBJECT, FooObject))
-#define FOO_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), FOO_TYPE_OBJECT))
+#define REGRESS_FOO_TYPE_OBJECT (regress_foo_object_get_type ())
+#define REGRESS_FOO_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_FOO_TYPE_OBJECT, RegressFooObject))
+#define REGRESS_FOO_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REGRESS_FOO_TYPE_OBJECT))
-#define FOO_TYPE_SUBOBJECT (foo_subobject_get_type ())
-#define FOO_SUBOBJECT(subobject) (G_TYPE_CHECK_INSTANCE_CAST ((subobject), FOO_TYPE_SUBOBJECT, FooSubobject))
-#define FOO_IS_SUBOBJECT(subobject) (G_TYPE_CHECK_INSTANCE_TYPE ((subobject), FOO_TYPE_SUBOBJECT))
+#define REGRESS_FOO_TYPE_SUBOBJECT (regress_foo_subobject_get_type ())
+#define REGRESS_FOO_SUBOBJECT(subobject) (G_TYPE_CHECK_INSTANCE_CAST ((subobject), REGRESS_FOO_TYPE_SUBOBJECT, RegressFooSubobject))
+#define REGRESS_FOO_IS_SUBOBJECT(subobject) (G_TYPE_CHECK_INSTANCE_TYPE ((subobject), REGRESS_FOO_TYPE_SUBOBJECT))
-#define FOO_TYPE_BUFFER (foo_buffer_get_type ())
-#define FOO_BUFFER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), FOO_TYPE_BUFFER, FooBuffer))
-#define FOO_IS_BUFFER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), FOO_TYPE_BUFFER))
+#define REGRESS_FOO_TYPE_BUFFER (regress_foo_buffer_get_type ())
+#define REGRESS_FOO_BUFFER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_FOO_TYPE_BUFFER, RegressFooBuffer))
+#define REGRESS_FOO_IS_BUFFER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REGRESS_FOO_TYPE_BUFFER))
-#define FOO_TYPE_OTHER_OBJECT (foo_other_object_get_type ())
-#define FOO_OTHER_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), FOO_TYPE_OTHER_OBJECT, FooOtherObject))
-#define FOO_IS_OTHER_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), FOO_TYPE_OTHER_OBJECT))
+#define REGRESS_FOO_TYPE_OTHER_OBJECT (regress_foo_other_object_get_type ())
+#define REGRESS_FOO_OTHER_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_FOO_TYPE_OTHER_OBJECT, RegressFooOtherObject))
+#define REGRESS_FOO_IS_OTHER_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), REGRESS_FOO_TYPE_OTHER_OBJECT))
-typedef struct _FooInterface FooInterface;
-typedef struct _FooInterfaceIface FooInterfaceIface;
-typedef struct _FooSubInterface FooSubInterface;
-typedef struct _FooSubInterfaceIface FooSubInterfaceIface;
-typedef struct _FooObject FooObject;
-typedef struct _FooObjectClass FooObjectClass;
-typedef struct _FooSubobject FooSubobject;
-typedef struct _FooSubobjectClass FooSubobjectClass;
-typedef struct _FooBuffer FooBuffer;
-typedef struct _FooBufferClass FooBufferClass;
-typedef struct _FooOtherObject FooOtherObject;
-typedef struct _FooOtherObjectClass FooOtherObjectClass;
+typedef struct _RegressFooInterface RegressFooInterface;
+typedef struct _RegressFooInterfaceIface RegressFooInterfaceIface;
+typedef struct _RegressFooSubInterface RegressFooSubInterface;
+typedef struct _RegressFooSubInterfaceIface RegressFooSubInterfaceIface;
+typedef struct _RegressFooObject RegressFooObject;
+typedef struct _RegressFooObjectClass RegressFooObjectClass;
+typedef struct _RegressFooSubobject RegressFooSubobject;
+typedef struct _RegressFooSubobjectClass RegressFooSubobjectClass;
+typedef struct _RegressFooBuffer RegressFooBuffer;
+typedef struct _RegressFooBufferClass RegressFooBufferClass;
+typedef struct _RegressFooOtherObject RegressFooOtherObject;
+typedef struct _RegressFooOtherObjectClass RegressFooOtherObjectClass;
-struct _FooInterfaceIface
+struct _RegressFooInterfaceIface
{
GTypeInterface parent_iface;
- void (*do_foo) (FooInterface *self, int x);
+ void (*do_regress_foo) (RegressFooInterface *self, int x);
};
-GType foo_interface_get_type (void) G_GNUC_CONST;
+GType regress_foo_interface_get_type (void) G_GNUC_CONST;
-void foo_interface_do_foo (FooInterface *iface, int x);
+void regress_foo_interface_do_regress_foo (RegressFooInterface *iface, int x);
-void foo_interface_static_method (int x);
+void regress_foo_interface_static_method (int x);
-struct _FooSubInterfaceIface
+struct _RegressFooSubInterfaceIface
{
GTypeInterface parent_iface;
/* signals */
- void (*destroy_event) (FooSubInterface *self);
+ void (*destroy_event) (RegressFooSubInterface *self);
/* virtual table */
- void (*do_bar) (FooSubInterface *self);
+ void (*do_bar) (RegressFooSubInterface *self);
- /* explicitly test un-named parameters */
- void (*do_moo) (FooSubInterface *self, int, gpointer);
-
- void (*do_baz) (FooSubInterface *self, GCallback callback, gpointer user_data);
+ void (*do_baz) (RegressFooSubInterface *self, GCallback callback, gpointer user_data);
};
-GType foo_sub_interface_get_type (void) G_GNUC_CONST;
+GType regress_foo_sub_interface_get_type (void) G_GNUC_CONST;
-void foo_sub_interface_do_bar (FooSubInterface *self);
-void foo_sub_interface_do_moo (FooSubInterface *self, int, gpointer);
-void foo_sub_interface_do_baz (FooSubInterface *self,
- GCallback callback,
- gpointer user_data);
+void regress_foo_sub_interface_do_bar (RegressFooSubInterface *self);
+void regress_foo_sub_interface_do_baz (RegressFooSubInterface *self,
+ GCallback callback,
+ gpointer user_data);
-struct _FooObject
+struct _RegressFooObject
{
GObject parent_instance;
int some_int;
};
-struct _FooObjectClass
+struct _RegressFooObjectClass
{
GObjectClass parent_class;
- gboolean (* virtual_method) (FooObject *object, int first_param);
+ gboolean (* virtual_method) (RegressFooObject *object, int first_param);
/* Intended to match GFile */
- void (*read_fn) (FooObject *object, int offset, int length);
+ void (*read_fn) (RegressFooObject *object, int offset, int length);
/* Test reserved stuff */
GCallback _reserved[4];
};
-gint foo_init (void);
+gint regress_foo_init (void);
-GType foo_object_get_type (void) G_GNUC_CONST;
-FooObject* foo_object_new (void);
-UtilityObject* foo_object_external_type (FooObject *object);
-GObject* foo_object_new_as_super (void);
+GType regress_foo_object_get_type (void) G_GNUC_CONST;
+RegressFooObject* regress_foo_object_new (void);
+UtilityObject* regress_foo_object_external_type (RegressFooObject *object);
+GObject* regress_foo_object_new_as_super (void);
-void foo_object_various (FooObject *object, void *data, GType some_type);
+void regress_foo_object_various (RegressFooObject *object, void *data, GType some_type);
-void foo_object_take_all (FooObject *object, int x, ...);
+void regress_foo_object_take_all (RegressFooObject *object, int x, ...);
-typedef gpointer FooObjectCookie;
+typedef gpointer RegressFooObjectCookie;
-FooObjectCookie foo_object_new_cookie (FooObject *object, const char *target);
+RegressFooObjectCookie regress_foo_object_new_cookie (RegressFooObject *object, const char *target);
-void foo_object_is_it_time_yet (FooObject *object, time_t time);
+void regress_foo_object_is_it_time_yet (RegressFooObject *object, time_t time);
-const char * foo_object_get_name (FooObject *object);
+const char * regress_foo_object_get_name (RegressFooObject *object);
-char * foo_object_dup_name (FooObject *object);
+char * regress_foo_object_dup_name (RegressFooObject *object);
-void foo_object_handle_glyph (FooObject *object, UtilityGlyph glyph);
+void regress_foo_object_handle_glyph (RegressFooObject *object, UtilityGlyph glyph);
-gboolean foo_object_virtual_method (FooObject *object, int first_param);
+gboolean regress_foo_object_virtual_method (RegressFooObject *object, int first_param);
-void foo_object_read (FooObject *object, int offset, int length);
+void regress_foo_object_read (RegressFooObject *object, int offset, int length);
-int foo_object_static_meth (void);
+int regress_foo_object_static_meth (void);
-void foo_object_skipped_method (FooObject *object);
+void regress_foo_object_skipped_method (RegressFooObject *object);
-struct _FooSubobject
+struct _RegressFooSubobject
{
- FooObject parent_instance;
+ RegressFooObject parent_instance;
};
-struct _FooSubobjectClass
+struct _RegressFooSubobjectClass
{
- FooObjectClass parent_class;
+ RegressFooObjectClass parent_class;
};
-GType foo_subobject_get_type (void) G_GNUC_CONST;
-FooSubobject* foo_subobject_new (void);
+GType regress_foo_subobject_get_type (void) G_GNUC_CONST;
+RegressFooSubobject* regress_foo_subobject_new (void);
-FooObject * foo_object_get_default (void);
+RegressFooObject * regress_foo_object_get_default (void);
-GType foo_buffer_get_type (void);
+GType regress_foo_buffer_get_type (void);
-void foo_buffer_some_method (FooBuffer *buffer);
+void regress_foo_buffer_some_method (RegressFooBuffer *buffer);
-GType foo_other_object_get_type (void) G_GNUC_CONST;
+GType regress_foo_other_object_get_type (void) G_GNUC_CONST;
-FooObject * foo_not_a_constructor_new (void);
+RegressFooObject * regress_foo_not_a_constructor_new (void);
typedef enum
{
- FOO_ENUM_ALPHA,
- FOO_ENUM_BETA,
- FOO_ENUM_DELTA
-} FooEnumType;
+ REGRESS_FOO_ENUM_ALPHA,
+ REGRESS_FOO_ENUM_BETA,
+ REGRESS_FOO_ENUM_DELTA
+} RegressFooEnumType;
-GType foo_enum_type_get_type (void);
+GType regress_foo_enum_type_get_type (void);
-int foo_enum_type_method (FooEnumType foo_enum);
+int regress_foo_enum_type_method (RegressFooEnumType regress_foo_enum);
-FooEnumType foo_enum_type_returnv (int x);
+RegressFooEnumType regress_foo_enum_type_returnv (int x);
typedef enum
{
- FOO_FLAGS_FIRST = 1 << 0,
- FOO_FLAGS_SECOND = 1 << 1,
- FOO_FLAGS_THIRD = 1 << 2
-} FooFlagsType;
+ REGRESS_FOO_FLAGS_FIRST = 1 << 0,
+ REGRESS_FOO_FLAGS_SECOND = 1 << 1,
+ REGRESS_FOO_FLAGS_THIRD = 1 << 2
+} RegressFooFlagsType;
-GType foo_flags_type_get_type (void);
+GType regress_foo_flags_type_get_type (void);
typedef enum
{
- FOO_ENUM_UN = 1,
- FOO_ENUM_DEUX = 2,
- FOO_ENUM_TROIS = 3,
- FOO_ENUM_NEUF = 9
-} FooEnumNoType;
+ REGRESS_FOO_ENUM_UN = 1,
+ REGRESS_FOO_ENUM_DEUX = 2,
+ REGRESS_FOO_ENUM_TROIS = 3,
+ REGRESS_FOO_ENUM_NEUF = 9
+} RegressFooEnumNoType;
typedef enum
{
- FOO_FLAGS_ETT = 1 << 0,
- FOO_FLAGS_TVA = 1 << 1,
- FOO_FLAGS_FYRA = 1 << 2
-} FooFlagsNoType;
+ REGRESS_FOO_FLAGS_ETT = 1 << 0,
+ REGRESS_FOO_FLAGS_TVA = 1 << 1,
+ REGRESS_FOO_FLAGS_FYRA = 1 << 2
+} RegressFooFlagsNoType;
typedef enum
{
- FOO_ENUM_FULLNAME_ONE = 1,
- FOO_ENUM_FULLNAME_TWO,
- FOO_ENUM_FULLNAME_THREE
-} FooEnumFullname;
+ REGRESS_FOO_ENUM_FULLNAME_ONE = 1,
+ REGRESS_FOO_ENUM_FULLNAME_TWO,
+ REGRESS_FOO_ENUM_FULLNAME_THREE
+} RegressFooEnumFullname;
typedef enum
{
- FOO_ADDRESS_INVALID,
- FOO_ADDRESS_IPV4,
- FOO_ADDRESS_IPV6
-} FooAddressType;
+ REGRESS_FOO_ADDRESS_INVALID,
+ REGRESS_FOO_ADDRESS_IPV4,
+ REGRESS_FOO_ADDRESS_IPV6
+} RegressFooAddressType;
-typedef struct _FooBoxed FooBoxed;
+typedef struct _RegressFooBoxed RegressFooBoxed;
-GType foo_boxed_get_type (void) G_GNUC_CONST;
-FooBoxed* foo_boxed_new (void);
-void foo_boxed_method (FooBoxed* boxed);
+GType regress_foo_boxed_get_type (void) G_GNUC_CONST;
+RegressFooBoxed* regress_foo_boxed_new (void);
+void regress_foo_boxed_method (RegressFooBoxed* boxed);
/* This one tests capitalization handling with respect to DBus */
-typedef struct _FooDBusData FooDBusData;
-GType foo_dbus_data_get_type (void) G_GNUC_CONST;
-void foo_dbus_data_method (FooDBusData* dbusdata);
+typedef struct _RegressFooDBusData RegressFooDBusData;
+GType regress_foo_dbus_data_get_type (void) G_GNUC_CONST;
+void regress_foo_dbus_data_method (RegressFooDBusData* dbusdata);
/* FIXME: Scanner does not support this yet
-const char *FOO_CONSTANT_STR = "foo-constant-str";
-const int FOO_CONSTANT_INT = 10;
-const float FOO_CONSTANT_FLOAT = 10;
+const char *REGRESS_FOO_CONSTANT_STR = "regress_foo-constant-str";
+const int REGRESS_FOO_CONSTANT_INT = 10;
+const float REGRESS_FOO_CONSTANT_FLOAT = 10;
*/
/* Callback */
-typedef gboolean (* FooCallback) (FooObject *foo, gboolean b, gpointer data);
+typedef gboolean (* RegressFooCallback) (RegressFooObject *regress_foo, gboolean b, gpointer data);
/* Invalid comments, should be ignored */
/* @ */
/* @: */
-typedef struct _FooStruct FooStruct;
-typedef struct _FooStructPrivate FooStructPrivate;
+typedef struct _RegressFooStruct RegressFooStruct;
+typedef struct _RegressFooStructPrivate RegressFooStructPrivate;
-struct _FooStruct
+struct _RegressFooStruct
{
- FooStructPrivate *priv;
+ RegressFooStructPrivate *priv;
int member;
};
-typedef struct _FooRectangle FooRectangle;
+typedef struct _RegressFooRectangle RegressFooRectangle;
-struct _FooRectangle
+struct _RegressFooRectangle
{
gint x;
gint y;
@@ -260,81 +256,81 @@ struct _FooRectangle
};
void
-foo_method_external_references (UtilityObject *object,
- UtilityEnumType e,
- UtilityFlagType f,
- UtilityStruct s);
+regress_foo_method_external_references (UtilityObject *object,
+ UtilityEnumType e,
+ UtilityFlagType f,
+ UtilityStruct s);
-void foo_rectangle_add(FooRectangle *r1, const FooRectangle *r2);
+void regress_foo_rectangle_add(RegressFooRectangle *r1, const RegressFooRectangle *r2);
-FooRectangle * foo_rectangle_new (int x, int y, int width, int height);
+RegressFooRectangle * regress_foo_rectangle_new (int x, int y, int width, int height);
-typedef struct _FooEventAny FooEventAny;
-typedef struct _FooEventExpose FooEventExpose;
+typedef struct _RegressFooEventAny RegressFooEventAny;
+typedef struct _RegressFooEventExpose RegressFooEventExpose;
-typedef union _FooEvent FooEvent;
+typedef union _RegressFooEvent RegressFooEvent;
-struct _FooEventAny
+struct _RegressFooEventAny
{
gint8 send_event;
};
-struct _FooEventExpose
+struct _RegressFooEventExpose
{
gint8 send_event;
gint count;
};
-union _FooEvent
+union _RegressFooEvent
{
int type;
- FooEventAny any;
- FooEventExpose expose;
+ RegressFooEventAny any;
+ RegressFooEventExpose expose;
};
-typedef void FooXEvent;
+typedef void RegressFooXEvent;
/* And now some boxed variants */
-typedef struct _FooBRect FooBRect;
+typedef struct _RegressFooBRect RegressFooBRect;
-struct _FooBRect
+struct _RegressFooBRect
{
double x;
double y;
};
-GType foo_brect_get_type (void);
+GType regress_foo_brect_get_type (void);
-FooBRect *foo_brect_new (double x, double y);
+RegressFooBRect *regress_foo_brect_new (double x, double y);
-void foo_brect_add (FooBRect *b1, FooBRect *b2);
+void regress_foo_brect_add (RegressFooBRect *b1, RegressFooBRect *b2);
-typedef union _FooBUnion FooBUnion;
+typedef union _RegressFooBUnion RegressFooBUnion;
-union _FooBUnion
+union _RegressFooBUnion
{
int type;
double v;
- FooBRect *rect;
+ RegressFooBRect *rect;
};
-typedef union _FooUnion FooUnion;
+typedef union _RegressFooUnion RegressFooUnion;
-union _FooUnion
+union _RegressFooUnion
{
- int foo;
+ int regress_foo;
};
-typedef struct _FooUtilityStruct FooUtilityStruct;
-struct _FooUtilityStruct
+typedef struct _RegressFooUtilityStruct RegressFooUtilityStruct;
+struct _RegressFooUtilityStruct
{
UtilityStruct bar;
};
-typedef struct _FooThingWithArray FooThingWithArray;
-struct _FooThingWithArray
+typedef struct _RegressFooThingWithArray RegressFooThingWithArray;
+struct _RegressFooThingWithArray
{
int x;
int y;
@@ -342,100 +338,100 @@ struct _FooThingWithArray
guchar *data;
} ;
-FooBUnion *foo_bunion_new (void);
+RegressFooBUnion *regress_foo_bunion_new (void);
-GType foo_bunion_get_type (void);
+GType regress_foo_bunion_get_type (void);
-int foo_bunion_get_contained_type (FooBUnion *bunion);
+int regress_foo_bunion_get_contained_type (RegressFooBUnion *bunion);
-void foo_test_unsigned_qualifier (unsigned int unsigned_param);
-void foo_test_unsigned_type (unsigned unsigned_param);
+void regress_foo_test_unsigned_qualifier (unsigned int unsigned_param);
+void regress_foo_test_unsigned_type (unsigned unsigned_param);
-void foo_test_string_array (char **array);
+void regress_foo_test_string_array (char **array);
-void foo_test_string_array_with_g (gchar **array);
+void regress_foo_test_string_array_with_g (gchar **array);
-GArray *foo_test_array (void);
+GArray *regress_foo_test_array (void);
-const char * foo_test_const_char_retval (void);
-const FooStruct * foo_test_const_struct_retval (void);
-void foo_test_const_char_param (const char * param);
-void foo_test_const_struct_param (const FooStruct * param);
+const char * regress_foo_test_const_char_retval (void);
+const RegressFooStruct * regress_foo_test_const_struct_retval (void);
+void regress_foo_test_const_char_param (const char * param);
+void regress_foo_test_const_struct_param (const RegressFooStruct * param);
-typedef void (*FooVarargsCallback) (const char * param, ...);
-void foo_test_varargs_callback (gint i, FooVarargsCallback callback);
-void foo_test_varargs_callback2 (FooVarargsCallback callback);
-void foo_test_varargs_callback3 (FooVarargsCallback callback,
- FooVarargsCallback callback2);
+typedef void (*RegressFooVarargsCallback) (const char * param, ...);
+void regress_foo_test_varargs_callback (gint i, RegressFooVarargsCallback callback);
+void regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback);
+void regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback,
+ RegressFooVarargsCallback callback2);
/* Make sure callbacks get the right scope by default */
-void foo_async_ready_callback(GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-void foo_destroy_notify_callback(FooCallback callback,
- gpointer data,
- GDestroyNotify destroy);
+void regress_foo_async_ready_callback(GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+void regress_foo_destroy_notify_callback(RegressFooCallback callback,
+ gpointer data,
+ GDestroyNotify destroy);
typedef enum {
- FOO_ERROR_GOOD,
- FOO_ERROR_BAD,
- FOO_ERROR_UGLY
-} FooError;
-GType foo_error_get_type (void);
+ REGRESS_FOO_ERROR_GOOD,
+ REGRESS_FOO_ERROR_BAD,
+ REGRESS_FOO_ERROR_UGLY
+} RegressFooError;
+GType regress_foo_error_get_type (void);
-GQuark foo_error_quark (void);
+GQuark regress_foo_error_quark (void);
typedef enum
{
- FOO_LAYER_DESKTOP = 0,
- FOO_LAYER_BOTTOM = 1,
- FOO_LAYER_NORMAL = 2,
- FOO_LAYER_TOP = 4, /* Same as DOCK; see EWMH and bug 330717 */
- FOO_LAYER_DOCK = 4,
- FOO_LAYER_FULLSCREEN = 5,
- FOO_LAYER_FOCUSED_WINDOW = 6,
- FOO_LAYER_OVERRIDE_REDIRECT = 7,
- FOO_LAYER_LAST = 8
-} FooStackLayer;
+ REGRESS_FOO_LAYER_DESKTOP = 0,
+ REGRESS_FOO_LAYER_BOTTOM = 1,
+ REGRESS_FOO_LAYER_NORMAL = 2,
+ REGRESS_FOO_LAYER_TOP = 4, /* Same as DOCK; see EWMH and bug 330717 */
+ REGRESS_FOO_LAYER_DOCK = 4,
+ REGRESS_FOO_LAYER_FULLSCREEN = 5,
+ REGRESS_FOO_LAYER_FOCUSED_WINDOW = 6,
+ REGRESS_FOO_LAYER_OVERRIDE_REDIRECT = 7,
+ REGRESS_FOO_LAYER_LAST = 8
+} RegressFooStackLayer;
typedef enum
{
- FOO_SOME_SINGLE_ENUM
-} FooASingle;
+ REGRESS_FOO_SOME_SINGLE_ENUM
+} RegressFooASingle;
/* Should be skipped */
-void foo_some_variant (guint x, va_list args);
-void foo_some_variant_ptr (guint x, va_list *args);
+void regress_foo_some_variant (guint x, va_list args);
+void regress_foo_some_variant_ptr (guint x, va_list *args);
/**
- * FooSkippable: (skip)
- * @FOO_SKIPPABLE_ONE: a skippable enum value
- * @FOO_SKIPPABLE_TWO: another skippable enum value
+ * RegressFooSkippable: (skip)
+ * @REGRESS_FOO_SKIPPABLE_ONE: a skippable enum value
+ * @REGRESS_FOO_SKIPPABLE_TWO: another skippable enum value
*
* Some type that is only interesting from C and should not be
* exposed to language bindings.
*/
typedef enum {
- FOO_SKIPPABLE_ONE,
- FOO_SKIPPABLE_TWO
-} FooSkippable;
-void foo_skip_me (FooSkippable fs);
+ REGRESS_FOO_SKIPPABLE_ONE,
+ REGRESS_FOO_SKIPPABLE_TWO
+} RegressFooSkippable;
+void regress_foo_skip_me (RegressFooSkippable fs);
-typedef struct _FooForeignStruct FooForeignStruct;
+typedef struct _RegressFooForeignStruct RegressFooForeignStruct;
-struct _FooForeignStruct
+struct _RegressFooForeignStruct
{
- int foo;
+ int regress_foo;
};
-FooForeignStruct* foo_foreign_struct_new (void);
-FooForeignStruct* foo_foreign_struct_copy (FooForeignStruct *original);
+RegressFooForeignStruct* regress_foo_foreign_struct_new (void);
+RegressFooForeignStruct* regress_foo_foreign_struct_copy (RegressFooForeignStruct *original);
/* This one should be a global, not a method on UtilityObject since
* it's a separate namespace.
*/
-void foo_object_a_global_method (UtilityObject *obj);
+void regress_foo_object_a_global_method (UtilityObject *obj);
-FooOtherObject * foo_object_append_new_stack_layer (FooObject *obj, int x);
+RegressFooOtherObject * regress_foo_object_append_new_stack_layer (RegressFooObject *obj, int x);
-#endif /* __FOO_OBJECT_H__ */
+#endif /* __REGRESS_FOO_OBJECT_H__ */
diff --git a/tests/scanner/gettype.c b/tests/scanner/gettype.c
index cd816735..a3c2d6be 100644
--- a/tests/scanner/gettype.c
+++ b/tests/scanner/gettype.c
@@ -1,14 +1,14 @@
#include "gettype.h"
-G_DEFINE_TYPE(GetTypeObject, gettype_object, G_TYPE_OBJECT);
+G_DEFINE_TYPE (GetTypeObject, gettype_object, G_TYPE_OBJECT);
static void
-gettype_object_class_init (GetTypeObjectClass *klass)
+gettype_object_class_init (GetTypeObjectClass * klass)
{
}
static void
-gettype_object_init (GetTypeObject *object)
+gettype_object_init (GetTypeObject * object)
{
}
@@ -28,9 +28,9 @@ gettype_object_new (void)
* Returns: 0
*/
GType
-gettype_object_nonmeta1_get_type (GetTypeObject *obj)
+gettype_object_nonmeta1_get_type (GetTypeObject * obj)
{
- return 0;
+ return 0;
}
/**
@@ -44,7 +44,7 @@ gettype_object_nonmeta1_get_type (GetTypeObject *obj)
gboolean
gettype_object_nonmeta2_get_type (void)
{
- return TRUE;
+ return TRUE;
}
/**
@@ -58,5 +58,5 @@ gettype_object_nonmeta2_get_type (void)
gboolean
gettype_object_nonmeta_get_gtype (void)
{
- return TRUE;
+ return TRUE;
}
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 2fba9fd5..4507bc6c 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -3,7 +3,6 @@
#include <stdlib.h>
#include <glib-object.h>
#include <gobject/gvaluecollector.h>
-#include <cairo-gobject.h>
#include "regress.h"
@@ -285,6 +284,7 @@ regress_test_value_return(int i)
/************************************************************************/
/* foreign structs */
+#ifndef _GI_DISABLE_CAIRO
/**
* regress_test_cairo_context_full_return:
*
@@ -365,6 +365,7 @@ regress_test_cairo_surface_full_out (cairo_surface_t **surface)
{
*surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 10, 10);
}
+#endif
/**
* regress_test_gvariant_i:
@@ -907,7 +908,7 @@ regress_test_array_int_null_out (int **arr, int *len)
/* GList */
static /*const*/ GList *
-regress_test_sequence_list()
+regress_test_sequence_list (void)
{
static GList *list = NULL;
if (!list) {
@@ -1028,7 +1029,7 @@ regress_test_glist_null_out (GSList **out_list)
/* GSList */
static /*const*/ GSList *
-regress_test_sequence_slist()
+regress_test_sequence_slist (void)
{
static GSList *list = NULL;
if (!list) {
@@ -1152,7 +1153,7 @@ static char *table_data[3][2] = {
};
static GHashTable *
-regress_test_table_ghash_new_container()
+regress_test_table_ghash_new_container (void)
{
GHashTable *hash;
int i;
@@ -1163,7 +1164,7 @@ regress_test_table_ghash_new_container()
}
static GHashTable *
-regress_test_table_ghash_new_full()
+regress_test_table_ghash_new_full (void)
{
GHashTable *hash;
int i;
@@ -1176,7 +1177,7 @@ regress_test_table_ghash_new_full()
}
static /*const*/ GHashTable *
-regress_test_table_ghash_const()
+regress_test_table_ghash_const (void)
{
static GHashTable *hash = NULL;
if (!hash) {
@@ -1953,6 +1954,53 @@ G_DEFINE_BOXED_TYPE(RegressTestBoxedC,
regress_test_boxed_c_ref,
regress_test_boxed_c_unref);
+struct _RegressTestBoxedD {
+ char *a_string;
+ gint a_int;
+};
+
+RegressTestBoxedD *
+regress_test_boxed_d_new (const char *a_string, int a_int)
+{
+ RegressTestBoxedD *boxed;
+
+ boxed = g_slice_new (RegressTestBoxedD);
+ boxed->a_string = g_strdup (a_string);
+ boxed->a_int = a_int;
+
+ return boxed;
+}
+
+RegressTestBoxedD *
+regress_test_boxed_d_copy (RegressTestBoxedD *boxed)
+{
+ RegressTestBoxedD *ret;
+
+ ret = g_slice_new (RegressTestBoxedD);
+ ret->a_string = g_strdup (boxed->a_string);
+ ret->a_int = boxed->a_int;
+
+ return ret;
+}
+
+void
+regress_test_boxed_d_free (RegressTestBoxedD *boxed)
+{
+ g_free (boxed->a_string);
+ g_slice_free (RegressTestBoxedD, boxed);
+}
+
+int
+regress_test_boxed_d_get_magic (RegressTestBoxedD *boxed)
+{
+ return strlen (boxed->a_string) + boxed->a_int;
+}
+
+G_DEFINE_BOXED_TYPE(RegressTestBoxedD,
+ regress_test_boxed_d,
+ regress_test_boxed_d_copy,
+ regress_test_boxed_d_free);
+
G_DEFINE_TYPE(RegressTestObj, regress_test_obj, G_TYPE_OBJECT);
enum
@@ -2125,6 +2173,7 @@ regress_test_obj_default_matrix (RegressTestObj *obj, const char *somestr)
enum {
REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_PROP,
+ REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_LEN_PROP,
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_HASH_PROP,
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_STRV,
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_OBJ,
@@ -2134,6 +2183,7 @@ enum {
REGRESS_TEST_OBJ_SIGNAL_ALL,
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_INT64_PROP,
REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_UINT64_PROP,
+ REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_INTARRAY_RET,
N_REGRESS_TEST_OBJ_SIGNALS
};
@@ -2192,6 +2242,27 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
G_TYPE_ARRAY);
/**
+ * RegressTestObj::sig-with-array-len-prop:
+ * @self: an object
+ * @arr: (array length=len) (element-type uint) (allow-none): numbers, or %NULL
+ * @len: length of @arr, or 0
+ *
+ * This test signal similar to GSettings::change-event
+ */
+ regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_SIG_NEW_WITH_ARRAY_LEN_PROP] =
+ g_signal_new ("sig-with-array-len-prop",
+ G_TYPE_FROM_CLASS (gobject_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL,
+ NULL,
+ NULL,
+ G_TYPE_NONE,
+ 2,
+ G_TYPE_POINTER,
+ G_TYPE_INT);
+
+ /**
* RegressTestObj::sig-with-hash-prop:
* @self: an object
* @hash: (element-type utf8 GObject.Value):
@@ -2250,6 +2321,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
1,
G_TYPE_OBJECT);
+#ifndef _GI_DISABLE_CAIRO
/**
* RegressTestObj::sig-with-foreign-struct:
* @self: an object
@@ -2266,6 +2338,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
G_TYPE_NONE,
1,
CAIRO_GOBJECT_TYPE_CONTEXT);
+#endif
regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_FIRST] =
g_signal_new ("first",
@@ -2340,6 +2413,25 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
1,
G_TYPE_UINT64);
+ /**
+ * RegressTestObj::sig-with-intarray-ret:
+ * @self: an object
+ * @i: an integer
+ *
+ * Returns: (array zero-terminated=1) (element-type gint) (transfer full):
+ */
+ regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_SIG_WITH_INTARRAY_RET] =
+ g_signal_new ("sig-with-intarray-ret",
+ G_TYPE_FROM_CLASS (gobject_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__BOXED,
+ G_TYPE_ARRAY,
+ 1,
+ G_TYPE_INT);
+
gobject_class->set_property = regress_test_obj_set_property;
gobject_class->get_property = regress_test_obj_get_property;
gobject_class->dispose = regress_test_obj_dispose;
@@ -2363,10 +2455,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
pspec);
/**
- * RegressTestObj:hash-table:
- *
- * Type: GLib.HashTable(utf8,gint8)
- * Transfer: container
+ * RegressTestObj:hash-table: (type GLib.HashTable(utf8,gint8)) (transfer container)
*/
pspec = g_param_spec_boxed ("hash-table",
"GHashTable property",
@@ -2378,10 +2467,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
pspec);
/**
- * RegressTestObj:list:
- *
- * Type: GLib.List(utf8)
- * Transfer: none
+ * RegressTestObj:list: (type GLib.List(utf8)) (transfer none)
*/
pspec = g_param_spec_pointer ("list",
"GList property",
@@ -2392,10 +2478,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
pspec);
/**
- * RegressTestObj:hash-table-old:
- *
- * Type: GLib.HashTable<utf8,gint8>
- * Transfer: container
+ * RegressTestObj:hash-table-old: (type GLib.HashTable<utf8,gint8>) (transfer container)
*/
pspec = g_param_spec_boxed ("hash-table-old",
"GHashTable property with <>",
@@ -2407,10 +2490,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
pspec);
/**
- * RegressTestObj:list-old:
- *
- * Type: GLib.List<utf8>
- * Transfer: none
+ * RegressTestObj:list-old: (type GLib.List<utf8>) (transfer none)
*/
pspec = g_param_spec_pointer ("list-old",
"GList property with ()",
@@ -2553,6 +2633,7 @@ regress_test_obj_emit_sig_with_obj (RegressTestObj *obj)
g_object_unref (obj_param);
}
+#ifndef _GI_DISABLE_CAIRO
void
regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj)
{
@@ -2560,6 +2641,7 @@ regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj)
g_signal_emit_by_name (obj, "sig-with-foreign-struct", cr);
cairo_destroy (cr);
}
+#endif
void
regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj)
@@ -2829,15 +2911,13 @@ regress_test_obj_skip_inout_param (RegressTestObj *obj,
}
/**
- * regress_test_obj_do_matrix:
+ * regress_test_obj_do_matrix: (virtual matrix)
* @obj: A #RegressTestObj
* @somestr: Meaningless string
*
* This method is virtual. Notably its name differs from the virtual
* slot name, which makes it useful for testing bindings handle this
* case.
- *
- * Virtual: matrix
*/
int
regress_test_obj_do_matrix (RegressTestObj *obj, const char *somestr)
@@ -3087,12 +3167,7 @@ regress_test_fundamental_object_init (GTypeInstance * instance, gpointer klass)
}
/**
- * RegressTestFundamentalObject:
- *
- * Ref Func: regress_test_fundamental_object_ref
- * Unref Func: regress_test_fundamental_object_unref
- * Set Value Func: regress_test_value_set_fundamental_object
- * Get Value Func: regress_test_value_get_fundamental_object
+ * RegressTestFundamentalObject: (ref-func regress_test_fundamental_object_ref) (unref-func regress_test_fundamental_object_unref) (set-value-func regress_test_value_set_fundamental_object) (get-value-func regress_test_value_get_fundamental_object)
*/
GType
@@ -3324,6 +3399,20 @@ regress_test_callback_destroy_notify (RegressTestCallbackUserData callback,
}
/**
+ * regress_test_callback_destroy_notify_no_user_data:
+ * @callback: (scope notified):
+ *
+ * Adds a scope notified callback with no user data. This can invoke an error
+ * condition in bindings which needs to be tested.
+ **/
+int
+regress_test_callback_destroy_notify_no_user_data (RegressTestCallbackUserData callback,
+ GDestroyNotify notify)
+{
+ return regress_test_callback_destroy_notify(callback, NULL, notify);
+}
+
+/**
* regress_test_callback_thaw_notifications:
*
* Invokes all callbacks installed by #test_callback_destroy_notify(),
@@ -3500,6 +3589,18 @@ regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback)
callback (error);
}
+/**
+ * regress_test_skip_unannotated_callback: (skip)
+ * @callback: No annotation here
+ *
+ * Should not emit a warning:
+ * https://bugzilla.gnome.org/show_bug.cgi?id=685399
+ */
+void
+regress_test_skip_unannotated_callback (RegressTestCallback callback)
+{
+}
+
/* interface */
static void
@@ -3733,6 +3834,7 @@ regress_test_torture_signature_2 (int x,
*y = x;
*z = x * 2;
*q = g_utf8_strlen (foo, -1) + m;
+ callback(user_data);
notify (user_data);
}
@@ -3879,11 +3981,22 @@ regress_has_parameter_named_attrs (int foo,
/**
* regress_test_versioning:
*
- * Since: 1.32.1
- * Deprecated: 1.33.3: Use foobar instead
- * Stability: Unstable
+ * Since: 1.32.1: Actually, this function was introduced earlier
+ * than this, but it didn't do anything before this version.
+ * Deprecated: 1.33.3: This function has been deprecated,
+ * because it sucks. Use foobar instead.
+ * Stability: Unstable: Maybe someday we will find the time
+ * to stabilize this function. Who knows?
*/
void
regress_test_versioning (void)
{
}
+
+void
+regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
+ const char *name)
+{
+ strncpy (self->name, name, sizeof (self->name) - 1);
+ self->name[sizeof(self->name)-1] = '\0';
+}
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index f2dae494..3f917e62 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -1,10 +1,14 @@
#ifndef __GITESTTYPES_H__
#define __GITESTTYPES_H__
-#include <cairo.h>
+#ifndef _GI_DISABLE_CAIRO
+#include <cairo-gobject.h>
+#endif
#include <glib-object.h>
#include <gio/gio.h>
#include <time.h>
+#include <string.h>
+#include <stdlib.h>
void regress_set_abort_on_error (gboolean abort_on_error);
@@ -129,6 +133,7 @@ int regress_test_int_value_arg(const GValue *v);
const GValue *regress_test_value_return(int i);
/* foreign structs */
+#ifndef _GI_DISABLE_CAIRO
cairo_t *regress_test_cairo_context_full_return (void);
void regress_test_cairo_context_none_in (cairo_t *context);
@@ -136,6 +141,7 @@ cairo_surface_t *regress_test_cairo_surface_none_return (void);
cairo_surface_t *regress_test_cairo_surface_full_return (void);
void regress_test_cairo_surface_none_in (cairo_surface_t *surface);
void regress_test_cairo_surface_full_out (cairo_surface_t **surface);
+#endif
/* versioning (deprecated, since, stability) */
void regress_test_versioning (void);
@@ -150,6 +156,13 @@ GVariant *regress_test_gvariant_as (void);
#define NUM_REGRESS_FOO
+/**
+ * RegressTestEnum:
+ * @REGRESS_TEST_VALUE1: value 1
+ * @REGRESS_TEST_VALUE2: value 2
+ *
+ * By purpose, not all members have documentation
+ */
typedef enum
{
REGRESS_TEST_VALUE1,
@@ -178,6 +191,16 @@ GType regress_test_enum_unsigned_get_type (void) G_GNUC_CONST;
GType regress_test_flags_get_type (void) G_GNUC_CONST;
#define REGRESS_TEST_TYPE_FLAGS (regress_test_flags_get_type ())
+typedef enum
+{
+ REGRESS_TEST_REFERENCE_0 = 2 + 2,
+ REGRESS_TEST_REFERENCE_1 = 1 + 1,
+ REGRESS_TEST_REFERENCE_2 = 6 * 9,
+ REGRESS_TEST_REFERENCE_3 = REGRESS_TEST_REFERENCE_1 + REGRESS_TEST_REFERENCE_1,
+ REGRESS_TEST_REFERENCE_4 = REGRESS_TEST_REFERENCE_2 * REGRESS_TEST_REFERENCE_3,
+ REGRESS_TEST_REFERENCE_5 = ~REGRESS_TEST_REFERENCE_4,
+} RegressTestReferenceEnum;
+
/* this is not registered with GType */
typedef enum
{
@@ -255,10 +278,12 @@ GQuark regress_atest_error_quark (void);
/* constants */
+#define REGRESS_NEGATIVE_INT_CONSTANT -42
#define REGRESS_INT_CONSTANT 4422
#define REGRESS_DOUBLE_CONSTANT 44.22
#define REGRESS_STRING_CONSTANT "Some String"
#define REGRESS_Mixed_Case_Constant 4423
+#define REGRESS_BOOL_CONSTANT TRUE
#define REGRESS_G_GINT64_CONSTANT (G_GINT64_CONSTANT (1000))
#define REGRESS_GUINT64_CONSTANT ((guint64) -1)
@@ -424,6 +449,16 @@ struct _RegressTestBoxedC
GType regress_test_boxed_c_get_type (void);
RegressTestBoxedC *regress_test_boxed_c_new (void);
+typedef struct _RegressTestBoxedD RegressTestBoxedD;
+
+GType regress_test_boxed_d_get_type (void);
+
+RegressTestBoxedD *regress_test_boxed_d_new (const char *a_string, int a_int);
+RegressTestBoxedD *regress_test_boxed_d_copy (RegressTestBoxedD *boxed);
+void regress_test_boxed_d_free (RegressTestBoxedD *boxed);
+
+int regress_test_boxed_d_get_magic (RegressTestBoxedD *boxed);
+
/* gobject */
#define REGRESS_TEST_TYPE_OBJ (regress_test_obj_get_type ())
#define REGRESS_TEST_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), REGRESS_TEST_TYPE_OBJ, RegressTestObj))
@@ -677,6 +712,8 @@ int regress_test_callback_user_data (RegressTestCallbackUserData callback,
int regress_test_callback_destroy_notify (RegressTestCallbackUserData callback,
gpointer user_data,
GDestroyNotify notify);
+int regress_test_callback_destroy_notify_no_user_data (RegressTestCallbackUserData callback,
+ GDestroyNotify notify);
int regress_test_callback_thaw_notifications (void);
void regress_test_callback_async (RegressTestCallbackUserData callback, gpointer user_data);
@@ -694,6 +731,8 @@ void regress_test_gerror_callback (RegressTestCallbackGError callback);
void regress_test_null_gerror_callback (RegressTestCallbackGError callback);
void regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback);
+void regress_test_skip_unannotated_callback (RegressTestCallback callback);
+
typedef struct _RegressTestInterface RegressTestInterface;
/* interface */
@@ -869,6 +908,13 @@ typedef struct {
void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray *str);
+typedef struct {
+ gchar name[32];
+} RegressLikeXklConfigItem;
+
+void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
+ const char *name);
+
#define REGRESS_UTF8_CONSTANT "const \xe2\x99\xa5 utf8"
#ifdef __GNUC__
@@ -886,7 +932,6 @@ void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray *str);
void regress_has_parameter_named_attrs (int foo,
gpointer attributes);
-
typedef struct {
int dummy;
struct {
@@ -897,4 +942,37 @@ typedef struct {
double dummy2;
} RegressLikeGnomeKeyringPasswordSchema;
+/* Ensure we ignore symbols that start with _; in particular we don't
+ * want to issue a namespace warning.
+ */
+#define _DONTSCANTHIS 1
+
+/* https://bugzilla.gnome.org/show_bug.cgi?id=685022 */
+#define REGRESS_MININT64 ((gint64) G_GINT64_CONSTANT(0x8000000000000000))
+#define REGRESS_MAXUINT64 (G_GINT64_CONSTANT(0xffffffffffffffffU))
+
+/* https://bugzilla.gnome.org/show_bug.cgi?id=698367 */
+#ifndef __GI_SCANNER__
+#define REGRESS_DONTSCANTHIS 1
+#else
+#define REGRESS_GI_SCANNER_ELSE 3
+#endif
+#ifndef BLAH
+#ifdef __GI_SCANNER__
+#define REGRESS_GI_SCANNER_IFDEF 3
+#endif
+#endif
+
+/* This struct is one pattern by which padding can be consumed, if
+ * you're willing to take a hard dependency on anonymous unions. */
+typedef struct {
+ int x;
+
+ union {
+ RegressLikeGnomeKeyringPasswordSchema *a[2];
+
+ guint padding[4];
+ };
+} RegressAnAnonymousUnion;
+
#endif /* __GITESTTYPES_H__ */
diff --git a/tests/scanner/test_sourcescanner.py b/tests/scanner/test_sourcescanner.py
new file mode 100644
index 00000000..3963683d
--- /dev/null
+++ b/tests/scanner/test_sourcescanner.py
@@ -0,0 +1,41 @@
+import unittest
+import tempfile
+import os
+
+from giscanner.sourcescanner import SourceScanner
+
+
+two_typedefs_source = """
+/**
+ * Spam:
+ */
+typedef struct _spam Spam;
+
+/**
+ * Eggs:
+ */
+typedef struct _eggs Eggs;
+"""
+
+
+class Test(unittest.TestCase):
+ def setUp(self):
+ self.ss = SourceScanner()
+ tmp_fd, tmp_name = tempfile.mkstemp()
+ file = os.fdopen(tmp_fd, 'wt')
+ file.write(two_typedefs_source)
+ file.close()
+
+ self.ss.parse_files([tmp_name])
+
+ def test_get_symbols_length_consistency(self):
+ self.assertEqual(len(list(self.ss.get_symbols())), 2)
+ self.assertEqual(len(list(self.ss.get_symbols())), 2)
+
+ def test_get_comments_length_consistency(self):
+ self.assertEqual(len(list(self.ss.get_comments())), 2)
+ self.assertEqual(len(list(self.ss.get_comments())), 2)
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/tests/scanner/test_transformer.py b/tests/scanner/test_transformer.py
new file mode 100644
index 00000000..39c54a4d
--- /dev/null
+++ b/tests/scanner/test_transformer.py
@@ -0,0 +1,445 @@
+import unittest
+import tempfile
+import os
+import sys
+import __builtin__
+
+
+os.environ['GI_SCANNER_DISABLE_CACHE'] = '1'
+path = os.getenv('UNINSTALLED_INTROSPECTION_SRCDIR', None)
+assert path is not None
+sys.path.insert(0, path)
+
+# Not correct, but enough to get the tests going uninstalled
+__builtin__.__dict__['DATADIR'] = path
+
+from giscanner import ast
+from giscanner.sourcescanner import SourceScanner
+from giscanner.transformer import Transformer
+from giscanner.message import MessageLogger, WARNING, ERROR, FATAL
+
+
+def create_scanner_from_source_string(source):
+ ss = SourceScanner()
+ tmp_fd, tmp_name = tempfile.mkstemp(suffix='.h', text=True)
+ file = os.fdopen(tmp_fd, 'wt')
+ file.write(source)
+ file.close()
+
+ ss.parse_files([tmp_name])
+ return ss
+
+
+def load_namespace_from_source_string(namespace, source):
+ ss = create_scanner_from_source_string(source)
+ xformer = Transformer(namespace)
+ xformer.parse(ss.get_symbols())
+
+
+class TestStructTypedefs(unittest.TestCase):
+ def setUp(self):
+ # Hack to set logging singleton
+ self.namespace = ast.Namespace('Test', '1.0')
+ logger = MessageLogger.get(namespace=self.namespace)
+ logger.enable_warnings((WARNING, ERROR, FATAL))
+
+ def test_anonymous_typedef(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ int value;
+ } TestStruct;
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+
+ def test_typedef_before(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct _TestStruct TestStruct;
+ struct _TestStruct {
+ int value;
+ };
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+
+ def test_typedef_after(self):
+ load_namespace_from_source_string(self.namespace, """
+ struct _TestStruct {
+ int value;
+ };
+ typedef struct _TestStruct TestStruct;
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+
+ def test_tag_and_typedef(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct _TestStruct {
+ int value;
+ } TestStruct;
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+
+ def test_struct_tag_only(self):
+ load_namespace_from_source_string(self.namespace, """
+ struct TestStruct {
+ int value;
+ };
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+
+ def test_struct_aliases(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ int value;
+ } TestStruct;
+ typedef TestStruct TestStructAlias1;
+ typedef TestStruct TestStructAlias2;
+ """)
+ self.assertEqual(len(self.namespace.names), 3)
+
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+
+ alias = self.namespace.get('StructAlias1')
+ self.assertTrue(isinstance(alias, ast.Alias))
+ self.assertEqual(alias.target, node)
+ self.assertEqual(alias.ctype, 'TestStructAlias1')
+
+ alias = self.namespace.get('StructAlias2')
+ self.assertTrue(isinstance(alias, ast.Alias))
+ self.assertEqual(alias.target, node)
+ self.assertEqual(alias.ctype, 'TestStructAlias2')
+
+ def test_struct_tag_aliases_before(self):
+ # This test is similar to how GObject and GInitiallyUnowned are setup
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct _TestStruct TestStruct;
+ typedef struct _TestStruct TestStructAlias;
+ struct _TestStruct {
+ int value;
+ };
+ """)
+ self.assertEqual(len(self.namespace.names), 2)
+
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+ self.assertEqual(node.ctype, 'TestStruct')
+
+ shared = self.namespace.get('StructAlias')
+ self.assertTrue(shared is not None)
+ self.assertTrue(isinstance(shared, ast.Record))
+ self.assertFalse(shared.disguised)
+ self.assertEqual(len(shared.fields), 1)
+ self.assertEqual(shared.ctype, 'TestStructAlias')
+
+ def test_struct_tag_aliases_after(self):
+ load_namespace_from_source_string(self.namespace, """
+ struct _TestStruct {
+ int value;
+ };
+ typedef struct _TestStruct TestStruct;
+ typedef struct _TestStruct TestStructAlias;
+ """)
+ self.assertEqual(len(self.namespace.names), 2)
+
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(len(node.fields), 1)
+ self.assertEqual(node.ctype, 'TestStruct')
+
+ shared = self.namespace.get('StructAlias')
+ self.assertTrue(shared is not None)
+ self.assertTrue(isinstance(shared, ast.Record))
+ self.assertFalse(shared.disguised)
+ self.assertEqual(len(shared.fields), 1)
+ self.assertEqual(shared.ctype, 'TestStructAlias')
+
+ def test_struct_pointer(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ int value;
+ } TestStruct;
+ typedef TestStruct* TestStructPtr;
+ """)
+ self.assertEqual(len(self.namespace.names), 2)
+
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertEqual(len(node.fields), 1)
+ self.assertEqual(node.ctype, 'TestStruct')
+
+ ptr = self.namespace.get('StructPtr')
+ self.assertTrue(ptr is not None)
+ self.assertTrue(isinstance(ptr, ast.Alias))
+ self.assertEqual(ptr.ctype, 'TestStructPtr')
+ # This loses type information about the struct which seems broken.
+ self.assertEqual(ptr.target, ast.TYPE_ANY)
+
+ def test_struct_tag_pointer(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct _TestStruct TestStruct;
+ struct _TestStruct{
+ int value;
+ };
+ typedef struct _TestStruct* TestStructPtr;
+ """)
+ self.assertEqual(len(self.namespace.names), 2)
+
+ node = self.namespace.get('Struct')
+ self.assertTrue(node is not None)
+ self.assertTrue(isinstance(node, ast.Record))
+ self.assertFalse(node.disguised)
+ self.assertEqual(node.ctype, 'TestStruct')
+ self.assertEqual(len(node.fields), 1)
+
+ ptr = self.namespace.get('StructPtr')
+ self.assertTrue(ptr is not None)
+ # This currently gives a disguised Record instead of an Alias
+ self.assertTrue(isinstance(ptr, ast.Record))
+ self.assertTrue(ptr.disguised)
+ self.assertEqual(len(ptr.fields), 0)
+ self.assertEqual(ptr.ctype, 'TestStructPtr')
+
+
+class TestNestedStructs(unittest.TestCase):
+ def setUp(self):
+ # Hack to set logging singleton
+ self.namespace = ast.Namespace('Test', '1.0')
+ logger = MessageLogger.get(namespace=self.namespace)
+ logger.enable_warnings((WARNING, ERROR, FATAL))
+
+ def test_nested_named(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ int value;
+ } TestSimpleStruct;
+
+ typedef struct {
+ TestSimpleStruct nested_struct;
+ } TestStructWithNested;
+ """)
+ self.assertEqual(len(self.namespace.names), 2)
+ node = self.namespace.get('StructWithNested')
+ self.assertEqual(len(node.fields), 1)
+
+ simple = self.namespace.get('SimpleStruct')
+ self.assertTrue(node is not None)
+
+ field = node.fields[0]
+ self.assertTrue(field is not None)
+ self.assertTrue(isinstance(field, ast.Field))
+ self.assertEqual(field.type, simple)
+ self.assertEqual(field.name, 'nested_struct')
+
+ def test_nested_anonymous(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ struct {
+ int value;
+ };
+ } TestStructWithNestedAnon;
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('StructWithNestedAnon')
+ self.assertEqual(len(node.fields), 1)
+
+ field = node.fields[0]
+ self.assertTrue(field is not None)
+ self.assertTrue(isinstance(field, ast.Field))
+ self.assertEqual(field.name, None)
+
+ anon = field.anonymous_node
+ self.assertTrue(isinstance(anon, ast.Record))
+ self.assertEqual(len(anon.fields), 1)
+
+ anon_field = anon.fields[0]
+ self.assertTrue(anon_field is not None)
+ self.assertTrue(isinstance(anon_field, ast.Field))
+ self.assertEqual(anon_field.name, 'value')
+
+ def test_nested(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ struct {
+ int value;
+ } nested;
+ } TestStructWithNested;
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('StructWithNested')
+ self.assertEqual(len(node.fields), 1)
+
+ field = node.fields[0]
+ self.assertTrue(field is not None)
+ self.assertTrue(isinstance(field, ast.Field))
+ self.assertEqual(field.name, 'nested')
+
+ nested = field.anonymous_node
+ self.assertTrue(isinstance(nested, ast.Record))
+ self.assertEqual(len(nested.fields), 1)
+ self.assertEqual(nested.name, 'nested')
+
+ nested_field = nested.fields[0]
+ self.assertTrue(nested_field is not None)
+ self.assertTrue(isinstance(nested_field, ast.Field))
+ self.assertEqual(nested_field.name, 'value')
+
+ def test_struct_ptr(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ int value;
+ } TestSimpleStruct;
+
+ typedef struct {
+ TestSimpleStruct *struct_ptr;
+ } TestStructWithNestedPtr;
+ """)
+ self.assertEqual(len(self.namespace.names), 2)
+ node = self.namespace.get('StructWithNestedPtr')
+ self.assertEqual(len(node.fields), 1)
+
+ simple = self.namespace.get('SimpleStruct')
+ self.assertTrue(node is not None)
+
+ field = node.fields[0]
+ self.assertTrue(field is not None)
+ self.assertTrue(isinstance(field, ast.Field))
+ self.assertEqual(field.type.ctype, 'TestSimpleStruct*')
+ self.assertEqual(field.name, 'struct_ptr')
+
+
+class TestUnions(unittest.TestCase):
+ def setUp(self):
+ # Hack to set logging singleton
+ self.namespace = ast.Namespace('Test', '1.0')
+ logger = MessageLogger.get(namespace=self.namespace)
+ logger.enable_warnings((WARNING, ERROR, FATAL))
+
+ def test_union_with_struct(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ int value;
+ } TestSimpleStruct;
+
+ typedef union {
+ TestSimpleStruct nested_struct;
+ int value;
+ } TestUnionWithNested;
+ """)
+ self.assertEqual(len(self.namespace.names), 2)
+ node = self.namespace.get('UnionWithNested')
+ self.assertEqual(len(node.fields), 2)
+
+ simple = self.namespace.get('SimpleStruct')
+ self.assertTrue(node is not None)
+
+ field = node.fields[0]
+ self.assertEqual(field.type, simple)
+ self.assertEqual(field.name, 'nested_struct')
+
+ field = node.fields[1]
+ self.assertEqual(field.type.ctype, 'int')
+ self.assertEqual(field.name, 'value')
+
+ def test_nested(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ union {
+ int ival;
+ float fval;
+ } nested;
+ } TestNestedUnion;
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('NestedUnion')
+ self.assertEqual(len(node.fields), 1)
+
+ field = node.fields[0]
+ self.assertEqual(field.name, 'nested')
+
+ nested = field.anonymous_node
+ self.assertTrue(isinstance(nested, ast.Union))
+ self.assertEqual(nested.name, 'nested')
+ self.assertEqual(len(nested.fields), 2)
+
+ self.assertEqual(nested.fields[0].name, 'ival')
+ self.assertEqual(nested.fields[1].name, 'fval')
+
+ def test_nested_anonymous(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef struct {
+ union {
+ int ival;
+ float fval;
+ };
+ } TestStructWithNestedUnion;
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('StructWithNestedUnion')
+ self.assertEqual(len(node.fields), 1)
+
+ field = node.fields[0]
+ self.assertEqual(field.name, None)
+
+ nested = field.anonymous_node
+ self.assertTrue(isinstance(nested, ast.Union))
+ self.assertEqual(nested.name, None)
+ self.assertEqual(len(nested.fields), 2)
+
+ self.assertEqual(nested.fields[0].name, 'ival')
+ self.assertEqual(nested.fields[0].type.ctype, 'int')
+
+ self.assertEqual(nested.fields[1].name, 'fval')
+ self.assertEqual(nested.fields[1].type.ctype, 'float')
+
+
+class TestCallbacks(unittest.TestCase):
+ def setUp(self):
+ # Hack to set logging singleton
+ self.namespace = ast.Namespace('Test', '1.0')
+ logger = MessageLogger.get(namespace=self.namespace)
+ logger.enable_warnings((WARNING, ERROR, FATAL))
+
+ def test_union_with_struct(self):
+ load_namespace_from_source_string(self.namespace, """
+ typedef void (*TestCallback)(int value);
+ """)
+ self.assertEqual(len(self.namespace.names), 1)
+ node = self.namespace.get('Callback')
+ self.assertTrue(isinstance(node, ast.Callback))
+
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/tests/scanner/typedefs.c b/tests/scanner/typedefs.c
new file mode 100644
index 00000000..7c1dea19
--- /dev/null
+++ b/tests/scanner/typedefs.c
@@ -0,0 +1,90 @@
+#include "typedefs.h"
+
+static TypedefsBoxedWithTypedefBefore *
+typedefs_boxed_with_typedef_before_ref(TypedefsBoxedWithTypedefBefore *self)
+{
+ return self;
+}
+
+static void
+typedefs_boxed_with_typedef_before_unref(TypedefsBoxedWithTypedefBefore *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithTypedefBefore,
+ typedefs_boxed_with_typedef_before,
+ typedefs_boxed_with_typedef_before_ref,
+ typedefs_boxed_with_typedef_before_unref);
+
+
+static TypedefsBoxedWithTypedefAfter *
+typedefs_boxed_with_typedef_after_ref(TypedefsBoxedWithTypedefAfter *self)
+{
+ return self;
+}
+
+static void
+typedefs_boxed_with_typedef_after_unref(TypedefsBoxedWithTypedefAfter *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithTypedefAfter,
+ typedefs_boxed_with_typedef_after,
+ typedefs_boxed_with_typedef_after_ref,
+ typedefs_boxed_with_typedef_after_unref);
+
+
+static TypedefsBoxedWithTagAndTypedef *
+typedefs_boxed_with_tag_and_typedef_ref(TypedefsBoxedWithTagAndTypedef *self)
+{
+ return self;
+}
+
+static void
+typedefs_boxed_with_tag_and_typedef_unref(TypedefsBoxedWithTagAndTypedef *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithTagAndTypedef,
+ typedefs_boxed_with_tag_and_typedef,
+ typedefs_boxed_with_tag_and_typedef_ref,
+ typedefs_boxed_with_tag_and_typedef_unref);
+
+
+static TypedefsBoxedWithAnonymousTypedef *
+typedefs_boxed_with_anonymous_typedef_ref(TypedefsBoxedWithAnonymousTypedef *self)
+{
+ return self;
+}
+
+static void
+typedefs_boxed_with_anonymous_typedef_unref(TypedefsBoxedWithAnonymousTypedef *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithAnonymousTypedef,
+ typedefs_boxed_with_anonymous_typedef,
+ typedefs_boxed_with_anonymous_typedef_ref,
+ typedefs_boxed_with_anonymous_typedef_unref);
+
+
+struct _TypedefsBoxedWithHiddenStruct {
+ int value;
+};
+
+static TypedefsBoxedWithHiddenStruct *
+typedefs_boxed_with_hidden_struct_ref(TypedefsBoxedWithHiddenStruct *self)
+{
+ return self;
+}
+
+static void
+typedefs_boxed_with_hidden_struct_unref(TypedefsBoxedWithHiddenStruct *self)
+{
+}
+
+G_DEFINE_BOXED_TYPE (TypedefsBoxedWithHiddenStruct,
+ typedefs_boxed_with_hidden_struct,
+ typedefs_boxed_with_hidden_struct_ref,
+ typedefs_boxed_with_hidden_struct_unref);
+
diff --git a/tests/scanner/typedefs.h b/tests/scanner/typedefs.h
new file mode 100644
index 00000000..2a5d8beb
--- /dev/null
+++ b/tests/scanner/typedefs.h
@@ -0,0 +1,73 @@
+#ifndef __TYPEDEFS_H__
+#define __TYPEDEFS_H__
+
+#include <glib-object.h>
+
+/*
+ * Tests for various orderings of typedef struct declarations.
+ */
+
+
+typedef struct {
+ int value;
+} TypedefsStructWithAnonymousTypedef;
+
+
+typedef struct _TypedefsStructWithTypedefBefore TypedefsStructWithTypedefBefore;
+struct _TypedefsStructWithTypedefBefore {
+ int value;
+};
+
+
+/* BUG: produces name with underscore prefix */
+struct _TypedefsStructWithTypedefAfter {
+ int value;
+};
+typedef struct _TypedefsStructWithTypedefAfter TypedefsStructWithTypedefAfter;
+
+
+/* BUG: produces name with underscore prefix */
+typedef struct _TypedefsStructWithTagAndTypedef {
+ int value;
+} TypedefsStructWithTagAndTypedef;
+
+
+/*
+ * Boxed versions of typedef ordering tests.
+ */
+
+typedef struct _TypedefsBoxedWithTypedefBefore TypedefsBoxedWithTypedefBefore;
+struct _TypedefsBoxedWithTypedefBefore {
+ int value;
+};
+GType typedefs_boxed_with_typedef_before_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: struct has no fields in GIR */
+struct _TypedefsBoxedWithTypedefAfter {
+ int value;
+};
+typedef struct _TypedefsBoxedWithTypedefAfter TypedefsBoxedWithTypedefAfter;
+GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: struct has no fields and extra <record> with underscore prefix */
+typedef struct _TypedefsBoxedWithTagAndTypedef {
+ int value;
+} TypedefsBoxedWithTagAndTypedef;
+GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: extra <record> with underscore prefix */
+typedef struct {
+ int value;
+} TypedefsBoxedWithAnonymousTypedef;
+GType typedefs_boxed_with_anonymous_typedef_get_type (void) G_GNUC_CONST;
+
+
+/* BUG: uses <record> instead of <glib:boxed> */
+typedef struct _TypedefsBoxedWithHiddenStruct TypedefsBoxedWithHiddenStruct;
+GType typedefs_boxed_with_hidden_struct_get_type (void) G_GNUC_CONST;
+
+
+#endif /*__TYPEDEFS_H__*/
diff --git a/tests/scanner/warnlib.c b/tests/scanner/warnlib.c
new file mode 100644
index 00000000..d7c1e2a1
--- /dev/null
+++ b/tests/scanner/warnlib.c
@@ -0,0 +1,47 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+#include "config.h"
+
+#include "warnlib.h"
+
+GQuark
+warnlib_unpaired_error_quark (void)
+{
+ return g_quark_from_static_string ("warnlib-unpaired-error");
+}
+
+gboolean
+warnlib_throw_unpaired (GError **error)
+{
+ g_set_error_literal (error, warnlib_unpaired_error_quark (), 0,
+ "Unpaired error");
+ return FALSE;
+}
+
+typedef WarnLibWhateverIface WarnLibWhateverInterface;
+G_DEFINE_INTERFACE (WarnLibWhatever, warnlib_whatever, G_TYPE_OBJECT)
+
+static void
+warnlib_whatever_default_init(WarnLibWhateverIface *iface)
+{
+}
+
+void
+warnlib_whatever_do_moo (WarnLibWhatever *self, int x, gpointer y)
+{
+ WARNLIB_WHATEVER_GET_IFACE(self)->do_moo (self, x, y);
+}
+
+/**
+ * warnlib_whatever_do_boo:
+ * @self: a WarnLibWhatever
+ * @x: x parameter
+ * @y: y parameter
+ *
+ * Does boo.
+ */
+void
+warnlib_whatever_do_boo (WarnLibWhatever *self, int x, gpointer y)
+{
+ WARNLIB_WHATEVER_GET_IFACE(self)->do_boo (self, x, y);
+}
diff --git a/tests/scanner/warnlib.h b/tests/scanner/warnlib.h
new file mode 100644
index 00000000..a4c28b47
--- /dev/null
+++ b/tests/scanner/warnlib.h
@@ -0,0 +1,39 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+
+#ifndef __WARNLIB_H__
+#define __WARNLIB_H__
+
+#include <gio/gio.h>
+
+#define WARNLIB_UNPAIRED_ERROR (warnlib_unpaired_error_quark ())
+GQuark warnlib_unpaired_error_quark (void);
+
+gboolean warnlib_throw_unpaired (GError **error);
+
+/* interface */
+#define WARNLIB_TYPE_WHATEVER (warnlib_whatever_get_type ())
+#define WARNLIB_WHATEVER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WARNLIB_TYPE_WHATEVER, WarnLibWhatever))
+#define WARNLIB_IS_WHATEVER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WARNLIB_TYPE_WHATEVER))
+#define WARNLIB_WHATEVER_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), WARNLIB_TYPE_WHATEVER, WarnLibWhateverIface))
+
+typedef struct _WarnLibWhateverIface WarnLibWhateverIface;
+typedef struct _WarnLibWhatever WarnLibWhatever;
+
+struct _WarnLibWhateverIface
+{
+ GTypeInterface parent_iface;
+
+ /* virtual table */
+
+ /* explicitly test un-named parameters */
+ void (*do_moo) (WarnLibWhatever *self, int, gpointer);
+
+ void (*do_boo) (WarnLibWhatever *self, int x, gpointer y);
+};
+
+void warnlib_whatever_do_moo (WarnLibWhatever *self, int, gpointer);
+void warnlib_whatever_do_boo (WarnLibWhatever *self, int, gpointer);
+
+GType warnlib_whatever_get_type (void) G_GNUC_CONST;
+
+#endif
diff --git a/tests/warn/Makefile.am b/tests/warn/Makefile.am
index c4354223..e7a39345 100644
--- a/tests/warn/Makefile.am
+++ b/tests/warn/Makefile.am
@@ -4,7 +4,6 @@ TESTS = \
annotationparser.h \
callback-invalid-scope.h \
callback-missing-scope.h \
- return-gobject.h \
invalid-array.h \
invalid-closure.h \
invalid-constructor.h \
@@ -14,9 +13,11 @@ TESTS = \
invalid-out.h \
invalid-transfer.h \
missing-element-type.h \
+ return-gobject.h \
unknown-parameter.h \
unresolved-type.h
-EXTRA_DIST = warningtester.py common.h $(TESTS)
+LOG_COMPILER = env PYTHONPATH=$(top_builddir):$(top_srcdir) TOP_BUILDDIR=$(top_builddir) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
+ $(PYTHON) $(srcdir)/warningtester.py
-TESTS_ENVIRONMENT = PYTHONPATH=$(top_builddir):$(top_srcdir) TOP_BUILDDIR=$(top_builddir) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) $(PYTHON) $(srcdir)/warningtester.py
+EXTRA_DIST = warningtester.py common.h $(TESTS)
diff --git a/tests/warn/annotationparser.h b/tests/warn/annotationparser.h
index ff9030e4..12dc4cc7 100644
--- a/tests/warn/annotationparser.h
+++ b/tests/warn/annotationparser.h
@@ -1,205 +1,27 @@
#include "common.h"
/**
- * test_symbol_twice_documented:
+ * test_symbol_thrice_documented:
*
* Documenting the same thing multiple times can lead to subtle bugs.
* For example, one comment block might have correct annotations...
**/
-void test_symbol_twice_documented();
+void test_symbol_thrice_documented();
/**
- * test_symbol_twice_documented:
+ * test_symbol_thrice_documented:
*
* ...and a different comment block (out of sync with the above) might have
- * no annotations at all. The last comment block seen by the parser "wins".
+ * no annotations at all. The last comment block seen by the parser "wins"...
**/
-// EXPECT:12: Warning: Test: multiple comment blocks documenting 'test_symbol_twice_documented:' identifier.
+// EXPECT:11: Warning: Test: multiple comment blocks documenting 'test_symbol_thrice_documented:' identifier (already seen at annotationparser.h:3).
/**
- * test_symbol_missing_colon
+ * test_symbol_thrice_documented:
*
- * Forgotten colon above will result in a warning.
+ * ...and yet another one.
**/
-// EXPECT:22: Warning: Test: missing ':' at column 29:
-//+ * test_symbol_missing_colon
-//+ ^
-
-
-/**
- * GtkWidget:test_property_missing_colon
- *
- * Forgotten colon above will result in a warning.
- **/
-
-// EXPECT:33: Warning: Test: missing ':' at column 41:
-//+ * GtkWidget:test_property_missing_colon
-//+ ^
-
-
-/**
- * GtkWidget::test_signal_missing_colon
- *
- * Forgotten colon above will result in a warning.
- **/
-
-// EXPECT:44: Warning: Test: missing ':' at column 40:
-//+ * GtkWidget::test_signal_missing_colon
-//+ ^
-
-
-/**
- * This is not a valid section identifier
- * SECTION:test_invalid_section_idetifier
- *
- * Above identifier will result in a warning.
- **/
-
-// EXPECT:55: Warning: Test: ignoring unrecognized GTK-Doc comment block, identifier not found:
-//+ * This is not a valid section identifier
-//+ ^
-
-
-/**
- * test_unexpected_parameter:
- * @param1: first parameter
- *
- * Parameters should come before the comment block description
- *
- * Returns: something
- * @param2: second parameter
- **/
-
-// EXPECT:73: Warning: Test: '@param2' parameter unexpected at this location:
-//+ * @param2: second parameter
-//+ ^
-
-
-/**
- * test_multiple_returns_tag_and_parameter:
- *
- * Multiple return value warnings are checked for when a returns
- * parameter is encountered.
- *
- * Return Value: something
- * @returns: something
- */
-
-// EXPECT:88: Warning: Test: '@returns' parameter unexpected at this location:
-//+ * @returns: something
-//+ ^
-// EXPECT:88: Warning: Test: encountered multiple 'Returns' parameters or tags for 'test_multiple_returns_tag_and_parameter'.
-
-
-/**
- * test_multiple_parameters:
- * @param1: first parameter
- * @param1: first parameter
- **/
-
-// EXPECT:100: Warning: Test: multiple '@param1' parameters for identifier 'test_multiple_parameters':
-//+ * @param1: first parameter
-//+ ^
-
-
-/**
- * test_unexpected_tag:
- * @param1: first parameter
- * Returns: something
- *
- * Tags should go after the comment block description
- **/
-
-// EXPECT:111: Warning: Test: 'Returns:' tag unexpected at this location:
-//+ * Returns: something
-//+ ^
-
-
-/**
- * test_multiple_returns_tag:
- * @returns: something
- *
- * Multiple return value warnings are checked for when returns tag is used
- *
- * Returns: anything
- * Return value: whatever
- **/
-
-// EXPECT:127: Warning: Test: encountered multiple 'Returns' parameters or tags for 'test_multiple_returns_tag'.
-// EXPECT:128: Warning: Test: encountered multiple 'Returns' parameters or tags for 'test_multiple_returns_tag'.
-
-
-/**
- * test_multiple_tags:
- *
- * Since: 3.0
- * Since: 3.0
- **/
-
-// EXPECT:139: Warning: Test: multiple 'Since:' tags for identifier 'test_multiple_tags':
-//+ * Since: 3.0
-//+ ^
-
-
-/**
- * test_tag_annotatable:
- *
- * There's currently 2 tags that can be annotated, so these don't emit warnings
- *
- * Returns: (allow-none): something
- * Attributes: (free) (form) (annotations)
- **/
-
-/**
- * test_tag_not_annotatable:
- *
- * Tags (except Returns: and Attributes:) don't have annotations
- *
- * Since: (allow-none): 2.24
- **/
-
-// EXPECT:161: Warning: Test: annotations not supported for tag 'Since:'.
-
-
-/**
- * test_multiline_annotations_on_parameter:
- * @param1: (allow-none)
- * (transfer full): first parameter
- *
- * Annotations spanning multiple lines are not valid
- **/
-
-// EXPECT:170: Warning: Test: ignoring invalid multiline annotation continuation:
-//+ * (transfer full): first parameter
-//+ ^
-
-
-/**
- * test_multiline_annotations_on_tag:
- *
- * Annotations spanning multiple lines are not valid
- *
- * Returns: (allow-none)
- * (transfer full): something
- **/
-
-// EXPECT:186: Warning: Test: ignoring invalid multiline annotation continuation:
-//+ * (transfer full): something
-//+ ^
-
-
-/**
-
- * regress_test_invalid_comment:
- * @foo: a param
- *
- * invalid comment with a line without
- * https://bugzilla.gnome.org/show_bug.cgi?id=673806
- */
-
-// EXPECT:195: Warning: Test: ignoring unrecognized GTK-Doc comment block, identifier not found:
-//+
-//+^
+// EXPECT:21: Warning: Test: multiple comment blocks documenting 'test_symbol_thrice_documented:' identifier (already seen at annotationparser.h:11).
diff --git a/tests/warn/callback-invalid-scope.h b/tests/warn/callback-invalid-scope.h
index 583dc0ca..34292a89 100644
--- a/tests/warn/callback-invalid-scope.h
+++ b/tests/warn/callback-invalid-scope.h
@@ -7,7 +7,7 @@
*/
void test_callback_invalid(GCallback *callback, gpointer user_data);
-// EXPECT:5: Warning: Test: invalid scope annotation value: 'invalid'
+// EXPECT:5: Warning: Test: invalid "scope" annotation option: "invalid"
/**
* test_callback_invalid2:
@@ -16,7 +16,7 @@ void test_callback_invalid(GCallback *callback, gpointer user_data);
*/
void test_callback_invalid2(GCallback *callback, gpointer user_data);
-// EXPECT:14: Warning: Test: scope annotation needs a value
+// EXPECT:14: Warning: Test: "scope" annotation needs one option, none given
/**
* test_callback_invalid3:
@@ -25,7 +25,8 @@ void test_callback_invalid2(GCallback *callback, gpointer user_data);
*/
void test_callback_invalid3(GCallback *callback, gpointer user_data);
-// EXPECT:23: Warning: Test: scope annotation needs one value, not 2
+// EXPECT:23: Warning: Test: "scope" annotation needs one option, 2 given
+// EXPECT:23: Warning: Test: invalid "scope" annotation option: "invalid"
-// EXPECT:13: Warning: Test: test_callback_invalid2: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async)
-// EXPECT:22: Warning: Test: test_callback_invalid3: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async)
+// EXPECT:12: Warning: Test: test_callback_invalid2: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async)
+// EXPECT:21: Warning: Test: test_callback_invalid3: argument callback: Missing (scope) annotation for callback without GDestroyNotify (valid: call, async)
diff --git a/tests/warn/invalid-array.h b/tests/warn/invalid-array.h
index a4a4e47e..b9b828cf 100644
--- a/tests/warn/invalid-array.h
+++ b/tests/warn/invalid-array.h
@@ -7,7 +7,7 @@
void
test_invalid_array (char ***out1);
-// EXPECT:5: Warning: Test: invalid array annotation value: 'foobar'
+// EXPECT:5: Warning: Test: invalid "array" annotation option: "foobar"
/**
* test_invalid_array_zero_terminated:
@@ -18,8 +18,8 @@ void
test_invalid_array_zero_terminated (char ***out1,
char ***out2);
-// EXPECT:14: Warning: Test: array option zero-terminated needs a value
-// EXPECT:15: Warning: Test: invalid array zero-terminated option value 'foobar', must be an integer
+// EXPECT:14: Warning: Test: "array" annotation option "zero-terminated" needs a value
+// EXPECT:15: Warning: Test: invalid "array" annotation option "zero-terminated" value "foobar", must be an integer
/**
* test_invalid_array_fixed_size:
@@ -30,8 +30,8 @@ void
test_invalid_array_fixed_size (char ***out1,
char ***out2);
-// EXPECT:26: Warning: Test: array option fixed-size needs a value
-// EXPECT:27: Warning: Test: invalid array fixed-size option value 'foobar', must be an integer
+// EXPECT:26: Warning: Test: "array" annotation option "fixed-size" needs a value
+// EXPECT:27: Warning: Test: invalid "array" annotation option "fixed-size" value "foobar", must be an integer
/**
* test_invalid_array_length:
@@ -41,4 +41,4 @@ void
test_invalid_array_length (char ***out1,
char ***out2);
-// EXPECT:38: Warning: Test: array option length needs a value
+// EXPECT:38: Warning: Test: "array" annotation option "length" needs a value
diff --git a/tests/warn/invalid-closure.h b/tests/warn/invalid-closure.h
index 50ba0864..9769804b 100644
--- a/tests/warn/invalid-closure.h
+++ b/tests/warn/invalid-closure.h
@@ -5,4 +5,4 @@
*/
void test_invalid_closure(int param);
-// EXPECT:4: Warning: Test: closure takes at most 1 value, 2 given
+// EXPECT:4: Warning: Test: "closure" annotation takes at most one option, 2 given
diff --git a/tests/warn/invalid-element-type.h b/tests/warn/invalid-element-type.h
index 52e31164..f7e86ca4 100644
--- a/tests/warn/invalid-element-type.h
+++ b/tests/warn/invalid-element-type.h
@@ -8,8 +8,11 @@
void test_invalid_list_element_type(GList *l1, GList *l2);
-// EXPECT:5: Warning: Test: element-type annotation needs a value
-// EXPECT:5: Warning: Test: element-type takes at least one value, none given
+// EXPECT:3: Warning: Test: test_invalid_list_element_type: argument l1: Missing (element-type) annotation
+// EXPECT:3: Warning: Test: test_invalid_list_element_type: argument l2: Missing (element-type) annotation
+// EXPECT:6: Warning: Test: "element-type" annotation for a list must have exactly one option, not 2 options
+// EXPECT:5: Warning: Test: "element-type" annotation takes at least one option, none given
+// EXPECT:5: Warning: Test: "element-type" annotation for a list must have exactly one option, not 0 options
/**
* test_invalid_array_element_type:
@@ -19,8 +22,7 @@ void test_invalid_list_element_type(GList *l1, GList *l2);
void test_invalid_array_element_type(const char *a1, const char *a2);
-// EXPECT:16: Warning: Test: element-type annotation needs a value
-// EXPECT:16: Warning: Test: element-type takes at least one value, none given
+// EXPECT:19: Warning: Test: "element-type" annotation takes at least one option, none given
/**
* test_invalid_hash_element_type:
@@ -31,9 +33,9 @@ void test_invalid_array_element_type(const char *a1, const char *a2);
void test_invalid_hash_element_type(GHashTable *h1, GHashTable *h2, GHashTable *h3);
-// EXPECT:27: Warning: Test: element-type annotation needs a value
-// EXPECT:27: Warning: Test: element-type takes at least one value, none given
-// EXPECT:29: Warning: Test: element-type takes at most 2 values, 3 given
+// EXPECT:29: Warning: Test: "element-type" annotation takes at least one option, none given
+// EXPECT:29: Warning: Test: "element-type" annotation for a hash table must have exactly two options, not 0 option(s)
+// EXPECT:31: Warning: Test: "element-type" annotation takes at most 2 options, 3 given
/**
* test_invalid_bytearray_element_type:
@@ -43,8 +45,8 @@ void test_invalid_hash_element_type(GHashTable *h1, GHashTable *h2, GHashTable *
void test_invalid_bytearray_element_type(GByteArray *b1, GByteArray *b2);
-// EXPECT:40: Warning: Test: element-type annotation needs a value
-// EXPECT:40: Warning: Test: element-type takes at least one value, none given
+// EXPECT:42: Warning: Test: "element-type" annotation takes at least one option, none given
+// EXPECT:42: Warning: Test: "element-type" annotation for an array must have exactly one option, not 0 options
/**
* test_invalid_ptrarray_element_type:
@@ -54,8 +56,8 @@ void test_invalid_bytearray_element_type(GByteArray *b1, GByteArray *b2);
void test_invalid_ptrarray_element_type(GPtrArray *p1, GPtrArray *p2);
-// EXPECT:51: Warning: Test: element-type annotation needs a value
-// EXPECT:51: Warning: Test: element-type takes at least one value, none given
+// EXPECT:53: Warning: Test: "element-type" annotation takes at least one option, none given
+// EXPECT:53: Warning: Test: "element-type" annotation for an array must have exactly one option, not 0 options
/**
* test_unresolved_element_type:
@@ -65,18 +67,21 @@ void test_invalid_ptrarray_element_type(GPtrArray *p1, GPtrArray *p2);
GList* test_unresolved_element_type(void);
+/**
+ * test_unresolved_value_element_type:
+ *
+ * Returns: (element-type GLib.Value) (transfer full):
+ */
+
+GPtrArray* test_unresolved_value_element_type(void);
+
-// EXPECT:5: Warning: Test: element-type annotation takes at least one option, none given
-// EXPECT:6: Warning: Test: element-type annotation for a list must have exactly one option, not 2 options
-// EXPECT:16: Warning: Test: element-type annotation takes at least one option, none given
+// EXPECT:19: Warning: Test: Unknown container Type(target_fundamental=utf8, ctype=char*) for element-type annotation
// EXPECT:20: Warning: Test: Unknown container Type(target_fundamental=utf8, ctype=char*) for element-type annotation
-// EXPECT:27: Warning: Test: element-type annotation takes at least one option, none given
-// EXPECT:28: Warning: Test: element-type annotation for a hash table must have exactly two options, not 1 option(s)
-// EXPECT:29: Warning: Test: element-type annotation for a hash table must have exactly two options, not 3 option(s)
-// EXPECT:40: Warning: Test: element-type annotation takes at least one option, none given
-// EXPECT:41: Warning: Test: invalid (element-type) for a GByteArray, must be one of guint8, gint8 or gchar
-// EXPECT:51: Warning: Test: element-type annotation takes at least one option, none given
-// EXPECT:52: Warning: Test: invalid (element-type) for a GPtrArray, must be a pointer
-// EXPECT:63: Warning: Test: test_unresolved_element_type: Unknown type: 'Unresolved'
-// EXPECT:4: Warning: Test: test_invalid_list_element_type: argument l1: Missing (element-type) annotation
-// EXPECT:4: Warning: Test: test_invalid_list_element_type: argument l2: Missing (element-type) annotation
+// EXPECT:30: Warning: Test: "element-type" annotation for a hash table must have exactly two options, not 1 option(s)
+// EXPECT:31: Warning: Test: "element-type" annotation for a hash table must have exactly two options, not 3 option(s)
+// EXPECT:43: Warning: Test: invalid (element-type) for a GByteArray, must be one of guint8, gint8 or gchar
+// EXPECT:51: Warning: Test: test_invalid_ptrarray_element_type: argument p1: Missing (element-type) annotation
+// EXPECT:54: Warning: Test: invalid (element-type) for a GPtrArray, must be a pointer
+// EXPECT:65: Warning: Test: test_unresolved_element_type: Unknown type: 'Unresolved'
+// EXPECT:73: Warning: Test: test_unresolved_value_element_type: Unknown type: 'GLib.Value'
diff --git a/tests/warn/invalid-option.h b/tests/warn/invalid-option.h
index 41985a0e..de336eea 100644
--- a/tests/warn/invalid-option.h
+++ b/tests/warn/invalid-option.h
@@ -5,7 +5,7 @@
*/
void test_func(int param);
-// EXPECT:4: Warning: Test: invalid annotation option: invalid-annotation-option
+// EXPECT:4: Warning: Test: unknown annotation: invalid-annotation-option
/**
* func_weird_gtk_doc:
diff --git a/tests/warn/invalid-out.h b/tests/warn/invalid-out.h
index fcb4f70f..7e6ec34f 100644
--- a/tests/warn/invalid-out.h
+++ b/tests/warn/invalid-out.h
@@ -5,4 +5,4 @@
void test_invalid_out(int *out);
-// EXPECT:3: Warning: Test: out annotation value is invalid: 'invalid'
+// EXPECT:3: Warning: Test: invalid "out" annotation option: "invalid"
diff --git a/tests/warn/invalid-transfer.h b/tests/warn/invalid-transfer.h
index 3579ad15..ec43f2ac 100644
--- a/tests/warn/invalid-transfer.h
+++ b/tests/warn/invalid-transfer.h
@@ -7,6 +7,6 @@
*/
void test_transfer_invalid(int param, int param2, int param3);
-// EXPECT:4: Warning: Test: transfer annotation needs a value
-// EXPECT:5: Warning: Test: invalid transfer annotation value: 'invalid'
-// EXPECT:6: Warning: Test: transfer annotation needs one value, not 2
+// EXPECT:4: Warning: Test: "transfer" annotation needs one option, none given
+// EXPECT:5: Warning: Test: invalid "transfer" annotation option: "invalid"
+// EXPECT:6: Warning: Test: "transfer" annotation needs one option, 2 given
diff --git a/tests/warn/missing-element-type.h b/tests/warn/missing-element-type.h
index 1f958a74..87206403 100644
--- a/tests/warn/missing-element-type.h
+++ b/tests/warn/missing-element-type.h
@@ -8,3 +8,11 @@
GSList *test_gslist_element_type(void);
// EXPECT:6: Warning: Test: test_gslist_element_type: return value: Missing (element-type) annotation
+
+/**
+ * test_ptrarray_element_type:
+ * @somearray: An array.
+ */
+void test_ptrarray_arg_element_type(GPtrArray *somearray);
+
+// EXPECT:16: Warning: Test: test_ptrarray_arg_element_type: argument somearray: Missing (element-type) annotation
diff --git a/tests/warn/return-gobject.h b/tests/warn/return-gobject.h
index b6c63045..5e621c3a 100644
--- a/tests/warn/return-gobject.h
+++ b/tests/warn/return-gobject.h
@@ -10,4 +10,4 @@ GObject * test_get_object(void);
*/
GObject * test_get_object2(void);
-// EXPECT:8: Warning: Test: test_get_object2: return value: Missing (transfer) annotation
+// EXPECT:7: Warning: Test: test_get_object2: return value: Missing (transfer) annotation
diff --git a/tests/warn/unknown-parameter.h b/tests/warn/unknown-parameter.h
index 3d339b32..384704df 100644
--- a/tests/warn/unknown-parameter.h
+++ b/tests/warn/unknown-parameter.h
@@ -46,3 +46,23 @@ void test_param_missing(void);
void test_param_varargs(int i, ...);
// Should not warn
+
+/**
+ * test_undocumentable_param:
+ */
+void test_undocumentable_param(int);
+
+// EXPECT:53: Warning: Test: symbol='test_undocumentable_param': missing parameter name; undocumentable
+
+void test_undocumentable_param_2(int a, int);
+
+// EXPECT:57: Warning: Test: symbol='test_undocumentable_param_2': missing parameter name; undocumentable
+
+void test_undocumentable_param_3(int, int);
+
+// EXPECT:61: Warning: Test: symbol='test_undocumentable_param_3': missing parameter name; undocumentable
+// EXPECT:61: Warning: Test: symbol='test_undocumentable_param_3': missing parameter name; undocumentable
+
+void test_void(void);
+
+// Should not warn
diff --git a/tests/warn/warningtester.py b/tests/warn/warningtester.py
index ee6b3c16..b2117910 100644
--- a/tests/warn/warningtester.py
+++ b/tests/warn/warningtester.py
@@ -10,11 +10,11 @@ sys.path.insert(0, path)
# Not correct, but enough to get the tests going uninstalled
__builtin__.__dict__['DATADIR'] = path
-from giscanner.annotationparser import AnnotationParser
+from giscanner.annotationparser import GtkDocCommentBlockParser
from giscanner.ast import Include, Namespace
from giscanner.introspectablepass import IntrospectablePass
from giscanner.maintransformer import MainTransformer
-from giscanner.message import MessageLogger
+from giscanner.message import MessageLogger, WARNING, ERROR, FATAL
from giscanner.sourcescanner import SourceScanner
from giscanner.transformer import Transformer
from giscanner.scannermain import process_packages
@@ -60,24 +60,22 @@ def _diff(a, b):
if tag == 'equal':
for line in a[i1:i2]:
for l in line.split('\n'):
- if l != '':
- retval += ' ' + l + '\n'
+ retval += ' ' + l + '\n'
continue
if tag in ('replace', 'delete'):
for line in a[i1:i2]:
for l in line.split('\n'):
- if l != '':
- retval += '-' + l + '\n'
+ retval += '-' + l + '\n'
if tag in ('replace', 'insert'):
for line in b[j1:j2]:
for l in line.split('\n'):
- if l != '':
- retval += '+' + l + '\n'
+ retval += '+' + l + '\n'
return retval
+
def _extract_expected(filename):
fd = open(filename, 'rU')
data = fd.read()
@@ -92,13 +90,14 @@ def _extract_expected(filename):
return retval
+
def check(args):
filename = args[0]
output = ChunkedIO()
namespace = Namespace('Test', '1.0')
logger = MessageLogger.get(namespace=namespace, output=output)
- logger.enable_warnings(True)
+ logger.enable_warnings((WARNING, ERROR, FATAL))
transformer = Transformer(namespace)
transformer.set_include_paths([os.path.join(top_srcdir, 'gir'), top_builddir])
@@ -115,8 +114,8 @@ def check(args):
ss.parse_macros([filename])
transformer.parse(ss.get_symbols())
- ap = AnnotationParser()
- blocks = ap.parse(ss.get_comments())
+ cbp = GtkDocCommentBlockParser()
+ blocks = cbp.parse_comment_blocks(ss.get_comments())
main = MainTransformer(transformer, blocks)
main.transform()
@@ -128,12 +127,16 @@ def check(args):
expected_warnings = _extract_expected(filename)
+ sortkey = lambda x: int(x.split(':')[0])
+ expected_warnings.sort(key=sortkey)
+ emitted_warnings.sort(key=sortkey)
+
if len(expected_warnings) != len(emitted_warnings):
raise SystemExit('ERROR in %r: %d warnings were emitted, '
- 'expected %d:\n%s' %(os.path.basename(filename),
- len(emitted_warnings),
- len(expected_warnings),
- _diff(expected_warnings, emitted_warnings)))
+ 'expected %d:\n%s' % (os.path.basename(filename),
+ len(emitted_warnings),
+ len(expected_warnings),
+ _diff(expected_warnings, emitted_warnings)))
for emitted_warning, expected_warning in zip(emitted_warnings, expected_warnings):
if expected_warning != emitted_warning: