[gobject-introspection] tests: Use Regress GIR for doctool



commit 86f7acf0f139a917e460db26872b5a4306fca8d2
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Sun Feb 3 06:58:53 2013 -0500

    tests: Use Regress GIR for doctool
    
    This makes us test a lot more functionality in the doc tool, and
    removes the need to have a lot of different test libraries, and
    different test infrastructure.

 .gitignore                                         |    2 +-
 common.mk                                          |    6 +
 configure.ac                                       |    1 -
 tests/Makefile.am                                  |    6 -
 .../DocExamples.Callback.page                      |   25 ---
 .../DocExamples.Enum.page                          |   25 ---
 .../DocExamples.Obj-property-example.page          |   27 ---
 .../DocExamples.Obj-signal-example.page            |   42 ----
 .../DocExamples.Obj-vfunc.page                     |   38 ----
 .../DocExamples.Obj.method.page                    |   82 --------
 .../DocExamples.Obj.new.page                       |   38 ----
 .../DocExamples.Obj.page                           |   59 ------
 .../DocExamples.Obj.static_method.page             |   45 -----
 .../DocExamples.ObjClass.page                      |   25 ---
 .../DocExamples.array_function.page                |   45 -----
 .../DocExamples.callback_function.page             |   60 ------
 .../DocExamples.Callback.page                      |   25 ---
 .../DocExamples.Enum.page                          |   31 ---
 .../DocExamples.Obj-property-example.page          |   30 ---
 .../DocExamples.Obj-signal-example.page            |   44 -----
 .../DocExamples.Obj-vfunc.page                     |   34 ----
 .../DocExamples.Obj.method.page                    |   73 -------
 .../DocExamples.Obj.new.page                       |   40 ----
 .../DocExamples.Obj.page                           |   63 ------
 .../DocExamples.Obj.static_method.page             |   47 -----
 .../DocExamples.array_function.page                |   47 -----
 .../DocExamples.callback_function.page             |   48 -----
 .../DocExamples.Callback.page                      |   25 ---
 .../DocExamples.Enum.page                          |   31 ---
 .../DocExamples.Obj-property-example.page          |   30 ---
 .../DocExamples.Obj-signal-example.page            |   44 -----
 .../DocExamples.Obj-vfunc.page                     |   37 ----
 .../DocExamples.Obj.method.page                    |   80 --------
 .../DocExamples.Obj.page                           |   63 ------
 .../DocExamples.Obj.static_method.page             |   48 -----
 .../DocExamples.array_function.page                |   48 -----
 .../DocExamples.callback_function.page             |   61 ------
 tests/doctool/Makefile.am                          |   60 ------
 tests/doctool/doc-examples-obj.c                   |  203 --------------------
 tests/doctool/doc-examples-obj.h                   |   93 ---------
 tests/scanner/Makefile.am                          |   38 ++++-
 .../Regress.ANNOTATION_CALCULATED_DEFINE.page      |   25 +++
 .../Regress.ANNOTATION_CALCULATED_LARGE.page       |   26 +++
 .../Regress.ANNOTATION_CALCULATED_LARGE_DIV.page   |   25 +++
 .../Regress-1.0-C-expected/Regress.ATestError.page |   25 +++
 .../Regress.AliasedTestBoxed.page                  |   25 +++
 .../Regress.AnnotationBitfield.page                |   25 +++
 .../Regress.AnnotationCallback.page                |   25 +++
 .../Regress.AnnotationForeachFunc.page             |   25 +++
 .../Regress.AnnotationListCallback.page            |   25 +++
 .../Regress.AnnotationNotifyFunc.page              |   26 +++
 .../Regress.AnnotationObject-attribute-signal.page |   38 ++++
 ...ess.AnnotationObject-doc-empty-arg-parsing.page |   35 ++++
 ...Regress.AnnotationObject-function-property.page |   26 +++
 .../Regress.AnnotationObject-list-signal.page      |   36 ++++
 .../Regress.AnnotationObject-string-property.page  |   27 +++
 .../Regress.AnnotationObject-string-signal.page    |   37 ++++
 .../Regress.AnnotationObject-tab-property.page     |   28 +++
 .../Regress.AnnotationObject.allow_none.page       |   51 +++++
 .../Regress.AnnotationObject.calleeowns.page       |   51 +++++
 .../Regress.AnnotationObject.calleesowns.page      |   58 ++++++
 .../Regress.AnnotationObject.compute_sum.page      |   51 +++++
 .../Regress.AnnotationObject.compute_sum_n.page    |   58 ++++++
 .../Regress.AnnotationObject.compute_sum_nz.page   |   58 ++++++
 .../Regress.AnnotationObject.create_object.page    |   44 +++++
 .../Regress.AnnotationObject.do_not_use.page       |   44 +++++
 .../Regress.AnnotationObject.extra_annos.page      |   44 +++++
 .../Regress.AnnotationObject.foreach.page          |   58 ++++++
 .../Regress.AnnotationObject.get_hash.page         |   45 +++++
 .../Regress.AnnotationObject.get_objects.page      |   46 +++++
 .../Regress.AnnotationObject.get_strings.page      |   45 +++++
 .../Regress.AnnotationObject.hidden_self.page      |   44 +++++
 .../Regress.AnnotationObject.in.page               |   51 +++++
 .../Regress.AnnotationObject.inout.page            |   51 +++++
 .../Regress.AnnotationObject.inout2.page           |   51 +++++
 .../Regress.AnnotationObject.inout3.page           |   51 +++++
 .../Regress.AnnotationObject.method.page           |   44 +++++
 .../Regress.AnnotationObject.notrans.page          |   44 +++++
 .../Regress.AnnotationObject.out.page              |   51 +++++
 .../Regress.AnnotationObject.page                  |   58 ++++++
 .../Regress.AnnotationObject.parse_args.page       |   58 ++++++
 .../Regress.AnnotationObject.set_data.page         |   58 ++++++
 .../Regress.AnnotationObject.set_data2.page        |   58 ++++++
 .../Regress.AnnotationObject.set_data3.page        |   59 ++++++
 .../Regress.AnnotationObject.string_out.page       |   51 +++++
 .../Regress.AnnotationObject.use_buffer.page       |   51 +++++
 .../Regress.AnnotationObject.watch.page            |   59 ++++++
 .../Regress.AnnotationObject.watch_full.page       |   65 +++++++
 .../Regress.AnnotationObject.with_voidp.page       |   51 +++++
 .../Regress.AnnotationObjectClass.page             |   25 +++
 .../Regress.AnnotationStruct.page                  |   25 +++
 .../Regress.DOUBLE_CONSTANT.page                   |   25 +++
 .../Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page      |   25 +++
 .../Regress.FOO_PIE_IS_TASTY.page                  |   25 +++
 .../Regress.FOO_SUCCESS_INT.page                   |   25 +++
 .../Regress-1.0-C-expected/Regress.FooASingle.page |   25 +++
 .../Regress.FooAddressType.page                    |   25 +++
 .../Regress.FooBRect.add.page                      |   51 +++++
 .../Regress.FooBRect.new.page                      |   51 +++++
 .../Regress-1.0-C-expected/Regress.FooBRect.page   |   25 +++
 .../Regress-1.0-C-expected/Regress.FooBUnion.page  |   25 +++
 .../Regress.FooBoxed.method.page                   |   44 +++++
 .../Regress.FooBoxed.new.page                      |   38 ++++
 .../Regress-1.0-C-expected/Regress.FooBoxed.page   |   25 +++
 .../Regress-1.0-C-expected/Regress.FooBuffer.page  |   61 ++++++
 .../Regress.FooBuffer.some_method.page             |   44 +++++
 .../Regress.FooCallback.page                       |   25 +++
 .../Regress.FooDBusData.method.page                |   44 +++++
 .../Regress.FooDBusData.page                       |   25 +++
 .../Regress.FooEnumFullname.page                   |   25 +++
 .../Regress.FooEnumNoType.page                     |   25 +++
 .../Regress.FooEnumType.page                       |   25 +++
 .../Regress-1.0-C-expected/Regress.FooError.page   |   25 +++
 .../Regress-1.0-C-expected/Regress.FooEvent.page   |   25 +++
 .../Regress.FooEventAny.page                       |   25 +++
 .../Regress.FooEventExpose.page                    |   25 +++
 .../Regress.FooFlagsNoType.page                    |   25 +++
 .../Regress.FooFlagsType.page                      |   25 +++
 .../Regress.FooForeignStruct.copy.page             |   44 +++++
 .../Regress.FooForeignStruct.new.page              |   38 ++++
 .../Regress.FooForeignStruct.page                  |   25 +++
 .../Regress.FooInterface-do_regress_foo.page       |   37 ++++
 .../Regress.FooInterface.do_regress_foo.page       |   51 +++++
 .../Regress.FooInterface.page                      |   55 ++++++
 .../Regress.FooInterface.static_method.page        |   44 +++++
 .../Regress.FooInterfaceIface.page                 |   25 +++
 .../Regress.FooObject-hidden.page                  |   26 +++
 .../Regress.FooObject-read_fn.page                 |   40 ++++
 .../Regress.FooObject-signal.page                  |   38 ++++
 .../Regress.FooObject-string.page                  |   26 +++
 .../Regress.FooObject-virtual_method.page          |   37 ++++
 .../Regress.FooObject.a_global_method.page         |   44 +++++
 .../Regress.FooObject.append_new_stack_layer.page  |   51 +++++
 .../Regress.FooObject.dup_name.page                |   44 +++++
 .../Regress.FooObject.external_type.page           |   44 +++++
 .../Regress.FooObject.get_default.page             |   39 ++++
 .../Regress.FooObject.get_name.page                |   44 +++++
 .../Regress.FooObject.handle_glyph.page            |   51 +++++
 .../Regress.FooObject.is_it_time_yet.page          |   51 +++++
 .../Regress.FooObject.new.page                     |   38 ++++
 .../Regress.FooObject.new_as_super.page            |   38 ++++
 .../Regress.FooObject.new_cookie.page              |   51 +++++
 .../Regress-1.0-C-expected/Regress.FooObject.page  |   58 ++++++
 .../Regress.FooObject.read.page                    |   58 ++++++
 .../Regress.FooObject.skipped_method.page          |   44 +++++
 .../Regress.FooObject.static_meth.page             |   38 ++++
 .../Regress.FooObject.take_all.page                |   55 ++++++
 .../Regress.FooObject.various.page                 |   58 ++++++
 .../Regress.FooObject.virtual_method.page          |   51 +++++
 .../Regress.FooObjectClass.page                    |   25 +++
 .../Regress.FooObjectCookie.page                   |   25 +++
 .../Regress.FooOtherObject.page                    |   58 ++++++
 .../Regress.FooRectangle.add.page                  |   51 +++++
 .../Regress.FooRectangle.new.page                  |   66 +++++++
 .../Regress.FooRectangle.page                      |   25 +++
 .../Regress.FooSkippable.page                      |   26 +++
 .../Regress.FooStackLayer.page                     |   25 +++
 .../Regress-1.0-C-expected/Regress.FooStruct.page  |   25 +++
 .../Regress.FooSubInterface-destroy-event.page     |   33 ++++
 .../Regress.FooSubInterface-destroy_event.page     |   34 ++++
 .../Regress.FooSubInterface-do_bar.page            |   34 ++++
 .../Regress.FooSubInterface-do_baz.page            |   40 ++++
 .../Regress.FooSubInterface.do_bar.page            |   44 +++++
 .../Regress.FooSubInterface.do_baz.page            |   58 ++++++
 .../Regress.FooSubInterface.page                   |   55 ++++++
 .../Regress.FooSubInterfaceIface.page              |   25 +++
 .../Regress.FooSubobject.new.page                  |   38 ++++
 .../Regress.FooSubobject.page                      |   61 ++++++
 .../Regress.FooSubobjectClass.page                 |   25 +++
 .../Regress.FooThingWithArray.page                 |   25 +++
 .../Regress-1.0-C-expected/Regress.FooUnion.page   |   25 +++
 .../Regress.FooUtilityStruct.page                  |   25 +++
 .../Regress.FooVarargsCallback.page                |   25 +++
 .../Regress-1.0-C-expected/Regress.FooXEvent.page  |   25 +++
 .../Regress.GUINT64_CONSTANT.page                  |   25 +++
 .../Regress.GUINT64_CONSTANTA.page                 |   25 +++
 .../Regress.G_GINT64_CONSTANT.page                 |   25 +++
 .../Regress.INT_CONSTANT.page                      |   25 +++
 .../Regress-1.0-C-expected/Regress.IntSet.page     |   25 +++
 .../Regress.LONG_STRING_CONSTANT.page              |   25 +++
 .../Regress.LikeGnomeKeyringPasswordSchema.page    |   25 +++
 .../Regress-1.0-C-expected/Regress.MAXUINT64.page  |   25 +++
 .../Regress-1.0-C-expected/Regress.MININT64.page   |   25 +++
 .../Regress.Mixed_Case_Constant.page               |   25 +++
 .../Regress.NEGATIVE_INT_CONSTANT.page             |   25 +++
 .../Regress.PtrArrayAlias.page                     |   25 +++
 .../Regress.STRING_CONSTANT.page                   |   25 +++
 .../Regress.SkippedStructure.page                  |   26 +++
 .../Regress.TestABCError.page                      |   25 +++
 .../Regress.TestBoxed.copy.page                    |   44 +++++
 .../Regress.TestBoxed.equals.page                  |   51 +++++
 .../Regress.TestBoxed.new.page                     |   38 ++++
 ...ess.TestBoxed.new_alternative_constructor1.page |   44 +++++
 ...ess.TestBoxed.new_alternative_constructor2.page |   51 +++++
 ...ess.TestBoxed.new_alternative_constructor3.page |   44 +++++
 .../Regress-1.0-C-expected/Regress.TestBoxed.page  |   25 +++
 .../Regress.TestBoxedB.copy.page                   |   44 +++++
 .../Regress.TestBoxedB.new.page                    |   51 +++++
 .../Regress-1.0-C-expected/Regress.TestBoxedB.page |   25 +++
 .../Regress.TestBoxedC.new.page                    |   38 ++++
 .../Regress-1.0-C-expected/Regress.TestBoxedC.page |   25 +++
 .../Regress.TestBoxedD.copy.page                   |   44 +++++
 .../Regress.TestBoxedD.free.page                   |   44 +++++
 .../Regress.TestBoxedD.get_magic.page              |   44 +++++
 .../Regress.TestBoxedD.new.page                    |   51 +++++
 .../Regress-1.0-C-expected/Regress.TestBoxedD.page |   25 +++
 .../Regress.TestCallback.page                      |   25 +++
 .../Regress.TestCallbackArray.page                 |   25 +++
 .../Regress.TestCallbackFull.page                  |   25 +++
 .../Regress.TestCallbackGError.page                |   25 +++
 .../Regress.TestCallbackHashtable.page             |   25 +++
 .../Regress.TestCallbackOwnedGError.page           |   25 +++
 .../Regress.TestCallbackUserData.page              |   25 +++
 .../Regress.TestDEFError.page                      |   25 +++
 .../Regress-1.0-C-expected/Regress.TestEnum.page   |   25 +++
 .../Regress.TestEnumNoGEnum.page                   |   25 +++
 .../Regress.TestEnumUnsigned.page                  |   25 +++
 .../Regress-1.0-C-expected/Regress.TestError.page  |   25 +++
 .../Regress-1.0-C-expected/Regress.TestFlags.page  |   25 +++
 .../Regress.TestFloating.new.page                  |   38 ++++
 .../Regress.TestFloating.page                      |   61 ++++++
 .../Regress.TestFloatingClass.page                 |   25 +++
 .../Regress.TestFundamentalObject.page             |   55 ++++++
 .../Regress.TestFundamentalObject.ref.page         |   44 +++++
 .../Regress.TestFundamentalObject.unref.page       |   44 +++++
 .../Regress.TestFundamentalObjectClass.page        |   25 +++
 .../Regress.TestFundamentalObjectCopyFunction.page |   25 +++
 ...ress.TestFundamentalObjectFinalizeFunction.page |   25 +++
 .../Regress.TestFundamentalSubObject.new.page      |   44 +++++
 .../Regress.TestFundamentalSubObject.page          |   58 ++++++
 .../Regress.TestFundamentalSubObjectClass.page     |   25 +++
 .../Regress.TestInheritDrawable.do_foo.page        |   51 +++++
 ...ess.TestInheritDrawable.do_foo_maybe_throw.page |   51 +++++
 .../Regress.TestInheritDrawable.get_origin.page    |   58 ++++++
 .../Regress.TestInheritDrawable.get_size.page      |   58 ++++++
 .../Regress.TestInheritDrawable.page               |   58 ++++++
 .../Regress.TestInheritDrawableClass.page          |   25 +++
 .../Regress.TestInheritPixmapObjectClass.page      |   25 +++
 .../Regress.TestInterface.page                     |   55 ++++++
 .../Regress.TestInterfaceIface.page                |   25 +++
 .../Regress.TestObj-all.page                       |   33 ++++
 .../Regress.TestObj-allow_none_vfunc.page          |   37 ++++
 .../Regress.TestObj-bare.page                      |   26 +++
 .../Regress.TestObj-boxed.page                     |   26 +++
 .../Regress.TestObj-cleanup.page                   |   33 ++++
 .../Regress.TestObj-double.page                    |   26 +++
 .../Regress.TestObj-first.page                     |   33 ++++
 .../Regress.TestObj-float.page                     |   26 +++
 .../Regress.TestObj-gtype.page                     |   26 +++
 .../Regress.TestObj-hash-table-old.page            |   26 +++
 .../Regress.TestObj-hash-table.page                |   26 +++
 .../Regress.TestObj-int.page                       |   26 +++
 .../Regress.TestObj-list-old.page                  |   26 +++
 .../Regress.TestObj-list.page                      |   26 +++
 .../Regress.TestObj-matrix.page                    |   39 ++++
 .../Regress.TestObj-sig-with-array-prop.page       |   36 ++++
 .../Regress.TestObj-sig-with-foreign-struct.page   |   35 ++++
 .../Regress.TestObj-sig-with-hash-prop.page        |   36 ++++
 .../Regress.TestObj-sig-with-int64-prop.page       |   36 ++++
 .../Regress.TestObj-sig-with-intarray-ret.page     |   35 ++++
 .../Regress.TestObj-sig-with-obj.page              |   36 ++++
 .../Regress.TestObj-sig-with-strv.page             |   35 ++++
 .../Regress.TestObj-sig-with-uint64-prop.page      |   36 ++++
 .../Regress.TestObj-string.page                    |   26 +++
 ...Regress.TestObj-test-with-static-scope-arg.page |   35 ++++
 .../Regress.TestObj-test.page                      |   33 ++++
 .../Regress.TestObj.constructor.page               |   38 ++++
 .../Regress.TestObj.do_matrix.page                 |   53 +++++
 ...gress.TestObj.emit_sig_with_foreign_struct.page |   44 +++++
 .../Regress.TestObj.emit_sig_with_int64.page       |   44 +++++
 .../Regress.TestObj.emit_sig_with_obj.page         |   44 +++++
 .../Regress.TestObj.emit_sig_with_uint64.page      |   44 +++++
 .../Regress.TestObj.forced_method.page             |   44 +++++
 .../Regress.TestObj.instance_method.page           |   44 +++++
 .../Regress.TestObj.instance_method_callback.page  |   51 +++++
 .../Regress.TestObj.new.page                       |   44 +++++
 .../Regress.TestObj.new_callback.page              |   58 ++++++
 .../Regress.TestObj.new_from_file.page             |   44 +++++
 .../Regress.TestObj.null_out.page                  |   44 +++++
 .../Regress-1.0-C-expected/Regress.TestObj.page    |   58 ++++++
 .../Regress.TestObj.set_bare.page                  |   51 +++++
 .../Regress.TestObj.skip_inout_param.page          |   93 +++++++++
 .../Regress.TestObj.skip_out_param.page            |   93 +++++++++
 .../Regress.TestObj.skip_param.page                |   93 +++++++++
 .../Regress.TestObj.skip_return_val.page           |   93 +++++++++
 .../Regress.TestObj.skip_return_val_no_out.page    |   52 +++++
 .../Regress.TestObj.static_method.page             |   44 +++++
 .../Regress.TestObj.static_method_callback.page    |   44 +++++
 .../Regress.TestObj.torture_signature_0.page       |   86 ++++++++
 .../Regress.TestObj.torture_signature_1.page       |   86 ++++++++
 .../Regress.TestObjClass.page                      |   25 +++
 .../Regress.TestOtherError.page                    |   25 +++
 .../Regress.TestPrivateEnum.page                   |   25 +++
 .../Regress.TestPrivateStruct.page                 |   25 +++
 .../Regress.TestSimpleBoxedA.const_return.page     |   38 ++++
 .../Regress.TestSimpleBoxedA.copy.page             |   44 +++++
 .../Regress.TestSimpleBoxedA.equals.page           |   51 +++++
 .../Regress.TestSimpleBoxedA.page                  |   25 +++
 .../Regress.TestSimpleBoxedB.copy.page             |   44 +++++
 .../Regress.TestSimpleBoxedB.page                  |   25 +++
 .../Regress.TestSimpleCallback.page                |   25 +++
 .../Regress.TestStructA.clone.page                 |   51 +++++
 .../Regress.TestStructA.page                       |   25 +++
 .../Regress.TestStructA.parse.page                 |   51 +++++
 .../Regress.TestStructB.clone.page                 |   51 +++++
 .../Regress.TestStructB.page                       |   25 +++
 .../Regress.TestStructC.page                       |   25 +++
 .../Regress.TestStructD.page                       |   25 +++
 .../Regress.TestStructE.page                       |   25 +++
 .../Regress.TestStructE__some_union__union.page    |   25 +++
 .../Regress.TestStructF.page                       |   25 +++
 .../Regress.TestStructFixedArray.frob.page         |   44 +++++
 .../Regress.TestStructFixedArray.page              |   25 +++
 .../Regress.TestSubObj.instance_method.page        |   44 +++++
 .../Regress.TestSubObj.new.page                    |   38 ++++
 .../Regress-1.0-C-expected/Regress.TestSubObj.page |   61 ++++++
 .../Regress.TestSubObj.unset_bare.page             |   44 +++++
 .../Regress.TestSubObjClass.page                   |   25 +++
 .../Regress.TestTypeGUInt64.page                   |   25 +++
 .../Regress.TestWi8021x-testbool.page              |   26 +++
 .../Regress.TestWi8021x.get_testbool.page          |   44 +++++
 .../Regress.TestWi8021x.new.page                   |   38 ++++
 .../Regress.TestWi8021x.page                       |   58 ++++++
 .../Regress.TestWi8021x.set_testbool.page          |   51 +++++
 .../Regress.TestWi8021x.static_method.page         |   44 +++++
 .../Regress.TestWi8021xClass.page                  |   25 +++
 .../Regress.UTF8_CONSTANT.page                     |   25 +++
 .../Regress.VaListAlias.page                       |   25 +++
 .../Regress.aliased_caller_alloc.page              |   44 +++++
 .../Regress.annotation_attribute_func.page         |   51 +++++
 .../Regress.annotation_custom_destroy.page         |   59 ++++++
 .../Regress.annotation_get_source_file.page        |   38 ++++
 .../Regress.annotation_init.page                   |   51 +++++
 ...ress.annotation_invalid_regress_annotation.page |   44 +++++
 .../Regress.annotation_ptr_array.page              |   44 +++++
 .../Regress.annotation_return_array.page           |   44 +++++
 .../Regress.annotation_return_filename.page        |   38 ++++
 .../Regress.annotation_set_source_file.page        |   44 +++++
 ...s.annotation_space_after_comment_bug631690.page |   38 ++++
 .../Regress.annotation_string_array_length.page    |   51 +++++
 .../Regress.annotation_string_zero_terminated.page |   38 ++++
 ...ress.annotation_string_zero_terminated_out.page |   44 +++++
 .../Regress.annotation_test_parsing_bug630862.page |   38 ++++
 .../Regress.annotation_transfer_floating.page      |   38 ++++
 .../Regress.annotation_versioned.page              |   39 ++++
 .../Regress.atest_error_quark.page                 |   38 ++++
 .../Regress.foo_async_ready_callback.page          |   58 ++++++
 .../Regress.foo_destroy_notify_callback.page       |   58 ++++++
 .../Regress-1.0-C-expected/Regress.foo_init.page   |   38 ++++
 .../Regress.foo_method_external_references.page    |   65 +++++++
 .../Regress.foo_not_a_constructor_new.page         |   39 ++++
 .../Regress.foo_skip_me.page                       |   45 +++++
 .../Regress.foo_some_variant.page                  |   51 +++++
 .../Regress.foo_some_variant_ptr.page              |   51 +++++
 .../Regress.foo_test_array.page                    |   38 ++++
 .../Regress.foo_test_const_char_param.page         |   44 +++++
 .../Regress.foo_test_const_char_retval.page        |   38 ++++
 .../Regress.foo_test_const_struct_param.page       |   44 +++++
 .../Regress.foo_test_const_struct_retval.page      |   38 ++++
 .../Regress.foo_test_string_array.page             |   44 +++++
 .../Regress.foo_test_string_array_with_g.page      |   44 +++++
 .../Regress.foo_test_unsigned_qualifier.page       |   44 +++++
 .../Regress.foo_test_unsigned_type.page            |   44 +++++
 .../Regress.foo_test_varargs_callback.page         |   51 +++++
 .../Regress.foo_test_varargs_callback2.page        |   44 +++++
 .../Regress.foo_test_varargs_callback3.page        |   51 +++++
 .../Regress.func_obj_null_in.page                  |   44 +++++
 .../Regress.global_get_flags_out.page              |   44 +++++
 .../Regress.has_parameter_named_attrs.page         |   52 +++++
 .../Regress.introspectable_via_alias.page          |   44 +++++
 .../Regress.not_introspectable_via_alias.page      |   44 +++++
 ...ess.random_function_with_skipped_structure.page |   58 ++++++
 .../Regress.set_abort_on_error.page                |   44 +++++
 .../Regress.test_array_callback.page               |   44 +++++
 .../Regress.test_array_fixed_out_objects.page      |   44 +++++
 .../Regress.test_array_fixed_size_int_in.page      |   44 +++++
 .../Regress.test_array_fixed_size_int_out.page     |   44 +++++
 .../Regress.test_array_fixed_size_int_return.page  |   38 ++++
 .../Regress.test_array_gint16_in.page              |   51 +++++
 .../Regress.test_array_gint32_in.page              |   51 +++++
 .../Regress.test_array_gint64_in.page              |   51 +++++
 .../Regress.test_array_gint8_in.page               |   51 +++++
 .../Regress.test_array_gtype_in.page               |   51 +++++
 .../Regress.test_array_int_full_out.page           |   44 +++++
 .../Regress.test_array_int_in.page                 |   51 +++++
 .../Regress.test_array_int_inout.page              |   51 +++++
 .../Regress.test_array_int_none_out.page           |   44 +++++
 .../Regress.test_array_int_null_in.page            |   51 +++++
 .../Regress.test_array_int_null_out.page           |   51 +++++
 .../Regress.test_array_int_out.page                |   51 +++++
 .../Regress.test_async_ready_callback.page         |   44 +++++
 .../Regress.test_boolean.page                      |   44 +++++
 .../Regress.test_boolean_false.page                |   44 +++++
 .../Regress.test_boolean_true.page                 |   44 +++++
 .../Regress.test_cairo_context_full_return.page    |   38 ++++
 .../Regress.test_cairo_context_none_in.page        |   44 +++++
 .../Regress.test_cairo_surface_full_out.page       |   44 +++++
 .../Regress.test_cairo_surface_full_return.page    |   38 ++++
 .../Regress.test_cairo_surface_none_in.page        |   44 +++++
 .../Regress.test_cairo_surface_none_return.page    |   38 ++++
 .../Regress.test_callback.page                     |   44 +++++
 .../Regress.test_callback_async.page               |   51 +++++
 .../Regress.test_callback_destroy_notify.page      |   59 ++++++
 ....test_callback_destroy_notify_no_user_data.page |   52 +++++
 .../Regress.test_callback_thaw_async.page          |   38 ++++
 .../Regress.test_callback_thaw_notifications.page  |   40 ++++
 .../Regress.test_callback_user_data.page           |   52 +++++
 .../Regress.test_closure.page                      |   44 +++++
 .../Regress.test_closure_one_arg.page              |   51 +++++
 .../Regress.test_closure_variant.page              |   51 +++++
 .../Regress.test_date_in_gvalue.page               |   38 ++++
 .../Regress.test_def_error_quark.page              |   38 ++++
 .../Regress.test_double.page                       |   44 +++++
 .../Regress.test_filename_return.page              |   38 ++++
 .../Regress-1.0-C-expected/Regress.test_float.page |   44 +++++
 .../Regress.test_garray_container_return.page      |   38 ++++
 .../Regress.test_garray_full_return.page           |   38 ++++
 .../Regress.test_gerror_callback.page              |   44 +++++
 .../Regress.test_ghash_container_return.page       |   38 ++++
 .../Regress.test_ghash_everything_return.page      |   38 ++++
 .../Regress.test_ghash_gvalue_in.page              |   44 +++++
 .../Regress.test_ghash_gvalue_return.page          |   38 ++++
 ...egress.test_ghash_nested_everything_return.page |   38 ++++
 ...gress.test_ghash_nested_everything_return2.page |   39 ++++
 .../Regress.test_ghash_nothing_in.page             |   44 +++++
 .../Regress.test_ghash_nothing_in2.page            |   44 +++++
 .../Regress.test_ghash_nothing_return.page         |   38 ++++
 .../Regress.test_ghash_nothing_return2.page        |   38 ++++
 .../Regress.test_ghash_null_in.page                |   44 +++++
 .../Regress.test_ghash_null_out.page               |   44 +++++
 .../Regress.test_ghash_null_return.page            |   38 ++++
 .../Regress.test_glist_container_return.page       |   38 ++++
 .../Regress.test_glist_everything_return.page      |   38 ++++
 .../Regress.test_glist_nothing_in.page             |   44 +++++
 .../Regress.test_glist_nothing_in2.page            |   44 +++++
 .../Regress.test_glist_nothing_return.page         |   38 ++++
 .../Regress.test_glist_nothing_return2.page        |   38 ++++
 .../Regress.test_glist_null_in.page                |   44 +++++
 .../Regress.test_glist_null_out.page               |   44 +++++
 .../Regress.test_gslist_container_return.page      |   38 ++++
 .../Regress.test_gslist_everything_return.page     |   38 ++++
 .../Regress.test_gslist_nothing_in.page            |   44 +++++
 .../Regress.test_gslist_nothing_in2.page           |   44 +++++
 .../Regress.test_gslist_nothing_return.page        |   38 ++++
 .../Regress.test_gslist_nothing_return2.page       |   38 ++++
 .../Regress.test_gslist_null_in.page               |   44 +++++
 .../Regress.test_gslist_null_out.page              |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_gtype.page |   44 +++++
 .../Regress.test_gvariant_as.page                  |   38 ++++
 .../Regress.test_gvariant_asv.page                 |   38 ++++
 .../Regress.test_gvariant_i.page                   |   38 ++++
 .../Regress.test_gvariant_s.page                   |   38 ++++
 .../Regress.test_gvariant_v.page                   |   38 ++++
 .../Regress.test_hash_table_callback.page          |   51 +++++
 .../Regress-1.0-C-expected/Regress.test_int.page   |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_int16.page |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_int32.page |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_int64.page |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_int8.page  |   44 +++++
 .../Regress.test_int_out_utf8.page                 |   51 +++++
 .../Regress.test_int_value_arg.page                |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_long.page  |   44 +++++
 .../Regress.test_multi_callback.page               |   44 +++++
 .../Regress.test_multi_double_args.page            |   58 ++++++
 .../Regress.test_multiline_doc_comments.page       |   38 ++++
 .../Regress.test_nested_parameter.page             |   69 +++++++
 .../Regress.test_null_gerror_callback.page         |   44 +++++
 .../Regress.test_owned_gerror_callback.page        |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_short.page |   44 +++++
 .../Regress.test_simple_callback.page              |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_size.page  |   44 +++++
 .../Regress.test_skip_unannotated_callback.page    |   45 +++++
 .../Regress-1.0-C-expected/Regress.test_ssize.page |   44 +++++
 .../Regress.test_strv_in.page                      |   44 +++++
 .../Regress.test_strv_in_gvalue.page               |   38 ++++
 .../Regress.test_strv_out.page                     |   38 ++++
 .../Regress.test_strv_out_c.page                   |   38 ++++
 .../Regress.test_strv_out_container.page           |   38 ++++
 .../Regress.test_strv_outarg.page                  |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_timet.page |   44 +++++
 .../Regress.test_torture_signature_0.page          |   79 ++++++++
 .../Regress.test_torture_signature_1.page          |   79 ++++++++
 .../Regress.test_torture_signature_2.page          |  100 ++++++++++
 .../Regress-1.0-C-expected/Regress.test_uint.page  |   44 +++++
 .../Regress.test_uint16.page                       |   44 +++++
 .../Regress.test_uint32.page                       |   44 +++++
 .../Regress.test_uint64.page                       |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_uint8.page |   44 +++++
 .../Regress-1.0-C-expected/Regress.test_ulong.page |   44 +++++
 .../Regress.test_unichar.page                      |   44 +++++
 .../Regress.test_unsigned_enum_param.page          |   44 +++++
 .../Regress.test_ushort.page                       |   44 +++++
 .../Regress.test_utf8_const_in.page                |   44 +++++
 .../Regress.test_utf8_const_return.page            |   38 ++++
 .../Regress.test_utf8_inout.page                   |   44 +++++
 .../Regress.test_utf8_nonconst_return.page         |   38 ++++
 .../Regress.test_utf8_null_in.page                 |   44 +++++
 .../Regress.test_utf8_null_out.page                |   44 +++++
 .../Regress.test_utf8_out.page                     |   44 +++++
 .../Regress.test_utf8_out_nonconst_return.page     |   44 +++++
 .../Regress.test_utf8_out_out.page                 |   51 +++++
 .../Regress.test_value_get_fundamental_object.page |   44 +++++
 .../Regress.test_value_return.page                 |   44 +++++
 .../Regress.test_value_set_fundamental_object.page |   51 +++++
 .../Regress.test_versioning.page                   |   39 ++++
 .../Regress-1.0-C-expected}/index.page             |    0
 .../Regress.ANNOTATION_CALCULATED_DEFINE.page      |   25 +++
 .../Regress.ANNOTATION_CALCULATED_LARGE.page       |   26 +++
 .../Regress.ANNOTATION_CALCULATED_LARGE_DIV.page   |   25 +++
 .../Regress.ATestError.page                        |   33 ++++
 .../Regress.AliasedTestBoxed.page                  |   25 +++
 .../Regress.AnnotationBitfield.page                |   25 +++
 .../Regress.AnnotationCallback.page                |   25 +++
 .../Regress.AnnotationForeachFunc.page             |   25 +++
 .../Regress.AnnotationListCallback.page            |   25 +++
 .../Regress.AnnotationNotifyFunc.page              |   26 +++
 .../Regress.AnnotationObject-attribute-signal.page |   43 ++++
 ...ess.AnnotationObject-doc-empty-arg-parsing.page |   39 ++++
 ...Regress.AnnotationObject-function-property.page |   29 +++
 .../Regress.AnnotationObject-list-signal.page      |   40 ++++
 .../Regress.AnnotationObject-string-property.page  |   30 +++
 .../Regress.AnnotationObject-string-signal.page    |   41 ++++
 .../Regress.AnnotationObject-tab-property.page     |   31 +++
 .../Regress.AnnotationObject.allow_none.page       |   46 +++++
 .../Regress.AnnotationObject.calleeowns.page       |   40 ++++
 .../Regress.AnnotationObject.calleesowns.page      |   40 ++++
 .../Regress.AnnotationObject.compute_sum.page      |   44 +++++
 .../Regress.AnnotationObject.compute_sum_n.page    |   44 +++++
 .../Regress.AnnotationObject.compute_sum_nz.page   |   44 +++++
 .../Regress.AnnotationObject.create_object.page    |   40 ++++
 .../Regress.AnnotationObject.do_not_use.page       |   40 ++++
 .../Regress.AnnotationObject.extra_annos.page      |   38 ++++
 .../Regress.AnnotationObject.foreach.page          |   44 +++++
 .../Regress.AnnotationObject.get_hash.page         |   41 ++++
 .../Regress.AnnotationObject.get_objects.page      |   42 ++++
 .../Regress.AnnotationObject.get_strings.page      |   41 ++++
 .../Regress.AnnotationObject.hidden_self.page      |   38 ++++
 .../Regress.AnnotationObject.in.page               |   46 +++++
 .../Regress.AnnotationObject.inout.page            |   46 +++++
 .../Regress.AnnotationObject.inout2.page           |   46 +++++
 .../Regress.AnnotationObject.inout3.page           |   46 +++++
 .../Regress.AnnotationObject.method.page           |   40 ++++
 .../Regress.AnnotationObject.notrans.page          |   40 ++++
 .../Regress.AnnotationObject.out.page              |   40 ++++
 .../Regress.AnnotationObject.page                  |   62 ++++++
 .../Regress.AnnotationObject.parse_args.page       |   44 +++++
 .../Regress.AnnotationObject.set_data.page         |   44 +++++
 .../Regress.AnnotationObject.set_data2.page        |   44 +++++
 .../Regress.AnnotationObject.set_data3.page        |   45 +++++
 .../Regress.AnnotationObject.string_out.page       |   40 ++++
 .../Regress.AnnotationObject.use_buffer.page       |   44 +++++
 .../Regress.AnnotationObject.watch.page            |   45 +++++
 .../Regress.AnnotationObject.watch_full.page       |   44 +++++
 .../Regress.AnnotationObject.with_voidp.page       |   44 +++++
 .../Regress.AnnotationStruct.page                  |   25 +++
 .../Regress.DOUBLE_CONSTANT.page                   |   25 +++
 .../Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page      |   25 +++
 .../Regress.FOO_PIE_IS_TASTY.page                  |   25 +++
 .../Regress.FOO_SUCCESS_INT.page                   |   25 +++
 .../Regress.FooASingle.page                        |   29 +++
 .../Regress.FooAddressType.page                    |   33 ++++
 .../Regress.FooBRect.add.page                      |   44 +++++
 .../Regress.FooBRect.new.page                      |   52 +++++
 .../Regress-1.0-Gjs-expected/Regress.FooBRect.page |   25 +++
 .../Regress.FooBUnion.page                         |   25 +++
 .../Regress.FooBoxed.method.page                   |   38 ++++
 .../Regress.FooBoxed.new.page                      |   40 ++++
 .../Regress-1.0-Gjs-expected/Regress.FooBoxed.page |   25 +++
 .../Regress.FooBuffer.page                         |   65 +++++++
 .../Regress.FooBuffer.some_method.page             |   38 ++++
 .../Regress.FooCallback.page                       |   25 +++
 .../Regress.FooDBusData.method.page                |   38 ++++
 .../Regress.FooDBusData.page                       |   25 +++
 .../Regress.FooEnumFullname.page                   |   33 ++++
 .../Regress.FooEnumNoType.page                     |   35 ++++
 .../Regress.FooEnumType.page                       |   33 ++++
 .../Regress-1.0-Gjs-expected/Regress.FooError.page |   33 ++++
 .../Regress-1.0-Gjs-expected/Regress.FooEvent.page |   25 +++
 .../Regress.FooEventAny.page                       |   25 +++
 .../Regress.FooEventExpose.page                    |   25 +++
 .../Regress.FooFlagsNoType.page                    |   25 +++
 .../Regress.FooFlagsType.page                      |   25 +++
 .../Regress.FooForeignStruct.copy.page             |   40 ++++
 .../Regress.FooForeignStruct.new.page              |   40 ++++
 .../Regress.FooForeignStruct.page                  |   25 +++
 .../Regress.FooInterface-do_regress_foo.page       |   33 ++++
 .../Regress.FooInterface.do_regress_foo.page       |   44 +++++
 .../Regress.FooInterface.page                      |   59 ++++++
 .../Regress.FooInterface.static_method.page        |   44 +++++
 .../Regress.FooObject-hidden.page                  |   29 +++
 .../Regress.FooObject-read_fn.page                 |   35 ++++
 .../Regress.FooObject-signal.page                  |   43 ++++
 .../Regress.FooObject-string.page                  |   29 +++
 .../Regress.FooObject-virtual_method.page          |   35 ++++
 .../Regress.FooObject.a_global_method.page         |   44 +++++
 .../Regress.FooObject.append_new_stack_layer.page  |   46 +++++
 .../Regress.FooObject.dup_name.page                |   40 ++++
 .../Regress.FooObject.external_type.page           |   40 ++++
 .../Regress.FooObject.get_default.page             |   41 ++++
 .../Regress.FooObject.get_name.page                |   40 ++++
 .../Regress.FooObject.handle_glyph.page            |   44 +++++
 .../Regress.FooObject.is_it_time_yet.page          |   44 +++++
 .../Regress.FooObject.new.page                     |   40 ++++
 .../Regress.FooObject.new_as_super.page            |   40 ++++
 .../Regress.FooObject.new_cookie.page              |   46 +++++
 .../Regress.FooObject.page                         |   62 ++++++
 .../Regress.FooObject.read.page                    |   50 +++++
 .../Regress.FooObject.skipped_method.page          |   38 ++++
 .../Regress.FooObject.static_meth.page             |   40 ++++
 .../Regress.FooObject.take_all.page                |   47 +++++
 .../Regress.FooObject.various.page                 |   50 +++++
 .../Regress.FooObject.virtual_method.page          |   46 +++++
 .../Regress.FooObjectCookie.page                   |   25 +++
 .../Regress.FooOtherObject.page                    |   62 ++++++
 .../Regress.FooRectangle.add.page                  |   44 +++++
 .../Regress.FooRectangle.new.page                  |   65 +++++++
 .../Regress.FooRectangle.page                      |   25 +++
 .../Regress.FooSkippable.page                      |   32 +++
 .../Regress.FooStackLayer.page                     |   45 +++++
 .../Regress.FooStruct.page                         |   25 +++
 .../Regress.FooSubInterface-destroy-event.page     |   37 ++++
 .../Regress.FooSubInterface-destroy_event.page     |   31 +++
 .../Regress.FooSubInterface-do_bar.page            |   31 +++
 .../Regress.FooSubInterface-do_baz.page            |   33 ++++
 .../Regress.FooSubInterface.do_bar.page            |   38 ++++
 .../Regress.FooSubInterface.do_baz.page            |   44 +++++
 .../Regress.FooSubInterface.page                   |   59 ++++++
 .../Regress.FooSubobject.new.page                  |   40 ++++
 .../Regress.FooSubobject.page                      |   65 +++++++
 .../Regress.FooThingWithArray.page                 |   25 +++
 .../Regress-1.0-Gjs-expected/Regress.FooUnion.page |   25 +++
 .../Regress.FooUtilityStruct.page                  |   25 +++
 .../Regress.FooVarargsCallback.page                |   25 +++
 .../Regress.FooXEvent.page                         |   25 +++
 .../Regress.GUINT64_CONSTANT.page                  |   25 +++
 .../Regress.GUINT64_CONSTANTA.page                 |   25 +++
 .../Regress.G_GINT64_CONSTANT.page                 |   25 +++
 .../Regress.INT_CONSTANT.page                      |   25 +++
 .../Regress-1.0-Gjs-expected/Regress.IntSet.page   |   25 +++
 .../Regress.LONG_STRING_CONSTANT.page              |   25 +++
 .../Regress.LikeGnomeKeyringPasswordSchema.page    |   25 +++
 .../Regress.MAXUINT64.page                         |   25 +++
 .../Regress-1.0-Gjs-expected/Regress.MININT64.page |   25 +++
 .../Regress.Mixed_Case_Constant.page               |   25 +++
 .../Regress.NEGATIVE_INT_CONSTANT.page             |   25 +++
 .../Regress.PtrArrayAlias.page                     |   25 +++
 .../Regress.STRING_CONSTANT.page                   |   25 +++
 .../Regress.SkippedStructure.page                  |   26 +++
 .../Regress.TestABCError.page                      |   33 ++++
 .../Regress.TestBoxed.copy.page                    |   40 ++++
 .../Regress.TestBoxed.equals.page                  |   46 +++++
 .../Regress.TestBoxed.new.page                     |   40 ++++
 ...ess.TestBoxed.new_alternative_constructor1.page |   46 +++++
 ...ess.TestBoxed.new_alternative_constructor2.page |   52 +++++
 ...ess.TestBoxed.new_alternative_constructor3.page |   46 +++++
 .../Regress.TestBoxed.page                         |   25 +++
 .../Regress.TestBoxedB.copy.page                   |   40 ++++
 .../Regress.TestBoxedB.new.page                    |   52 +++++
 .../Regress.TestBoxedB.page                        |   25 +++
 .../Regress.TestBoxedC.new.page                    |   40 ++++
 .../Regress.TestBoxedC.page                        |   25 +++
 .../Regress.TestBoxedD.copy.page                   |   40 ++++
 .../Regress.TestBoxedD.free.page                   |   38 ++++
 .../Regress.TestBoxedD.get_magic.page              |   40 ++++
 .../Regress.TestBoxedD.new.page                    |   52 +++++
 .../Regress.TestBoxedD.page                        |   25 +++
 .../Regress.TestCallback.page                      |   25 +++
 .../Regress.TestCallbackArray.page                 |   25 +++
 .../Regress.TestCallbackFull.page                  |   25 +++
 .../Regress.TestCallbackGError.page                |   25 +++
 .../Regress.TestCallbackHashtable.page             |   25 +++
 .../Regress.TestCallbackOwnedGError.page           |   25 +++
 .../Regress.TestCallbackUserData.page              |   25 +++
 .../Regress.TestDEFError.page                      |   33 ++++
 .../Regress-1.0-Gjs-expected/Regress.TestEnum.page |   35 ++++
 .../Regress.TestEnumNoGEnum.page                   |   33 ++++
 .../Regress.TestEnumUnsigned.page                  |   31 +++
 .../Regress.TestError.page                         |   33 ++++
 .../Regress.TestFlags.page                         |   25 +++
 .../Regress.TestFloating.new.page                  |   40 ++++
 .../Regress.TestFloating.page                      |   65 +++++++
 .../Regress.TestFundamentalObject.page             |   59 ++++++
 .../Regress.TestFundamentalObject.ref.page         |   40 ++++
 .../Regress.TestFundamentalObject.unref.page       |   38 ++++
 .../Regress.TestFundamentalObjectCopyFunction.page |   25 +++
 ...ress.TestFundamentalObjectFinalizeFunction.page |   25 +++
 .../Regress.TestFundamentalSubObject.new.page      |   46 +++++
 .../Regress.TestFundamentalSubObject.page          |   62 ++++++
 .../Regress.TestInheritDrawable.do_foo.page        |   44 +++++
 ...ess.TestInheritDrawable.do_foo_maybe_throw.page |   44 +++++
 .../Regress.TestInheritDrawable.get_origin.page    |   38 ++++
 .../Regress.TestInheritDrawable.get_size.page      |   38 ++++
 .../Regress.TestInheritDrawable.page               |   62 ++++++
 .../Regress.TestInheritPixmapObjectClass.page      |   25 +++
 .../Regress.TestInterface.page                     |   59 ++++++
 .../Regress.TestObj-all.page                       |   37 ++++
 .../Regress.TestObj-allow_none_vfunc.page          |   33 ++++
 .../Regress.TestObj-bare.page                      |   29 +++
 .../Regress.TestObj-boxed.page                     |   29 +++
 .../Regress.TestObj-cleanup.page                   |   37 ++++
 .../Regress.TestObj-double.page                    |   29 +++
 .../Regress.TestObj-first.page                     |   37 ++++
 .../Regress.TestObj-float.page                     |   29 +++
 .../Regress.TestObj-gtype.page                     |   29 +++
 .../Regress.TestObj-hash-table-old.page            |   29 +++
 .../Regress.TestObj-hash-table.page                |   29 +++
 .../Regress.TestObj-int.page                       |   29 +++
 .../Regress.TestObj-list-old.page                  |   29 +++
 .../Regress.TestObj-list.page                      |   29 +++
 .../Regress.TestObj-matrix.page                    |   37 ++++
 .../Regress.TestObj-sig-with-array-prop.page       |   40 ++++
 .../Regress.TestObj-sig-with-foreign-struct.page   |   39 ++++
 .../Regress.TestObj-sig-with-hash-prop.page        |   40 ++++
 .../Regress.TestObj-sig-with-int64-prop.page       |   42 ++++
 .../Regress.TestObj-sig-with-intarray-ret.page     |   39 ++++
 .../Regress.TestObj-sig-with-obj.page              |   40 ++++
 .../Regress.TestObj-sig-with-strv.page             |   39 ++++
 .../Regress.TestObj-sig-with-uint64-prop.page      |   42 ++++
 .../Regress.TestObj-string.page                    |   29 +++
 ...Regress.TestObj-test-with-static-scope-arg.page |   39 ++++
 .../Regress.TestObj-test.page                      |   37 ++++
 .../Regress.TestObj.constructor.page               |   40 ++++
 .../Regress.TestObj.do_matrix.page                 |   48 +++++
 ...gress.TestObj.emit_sig_with_foreign_struct.page |   38 ++++
 .../Regress.TestObj.emit_sig_with_int64.page       |   38 ++++
 .../Regress.TestObj.emit_sig_with_obj.page         |   38 ++++
 .../Regress.TestObj.emit_sig_with_uint64.page      |   38 ++++
 .../Regress.TestObj.forced_method.page             |   38 ++++
 .../Regress.TestObj.instance_method.page           |   40 ++++
 .../Regress.TestObj.instance_method_callback.page  |   44 +++++
 .../Regress.TestObj.new.page                       |   46 +++++
 .../Regress.TestObj.new_callback.page              |   46 +++++
 .../Regress.TestObj.new_from_file.page             |   46 +++++
 .../Regress.TestObj.null_out.page                  |   38 ++++
 .../Regress-1.0-Gjs-expected/Regress.TestObj.page  |   62 ++++++
 .../Regress.TestObj.set_bare.page                  |   44 +++++
 .../Regress.TestObj.skip_inout_param.page          |   70 +++++++
 .../Regress.TestObj.skip_out_param.page            |   70 +++++++
 .../Regress.TestObj.skip_param.page                |   70 +++++++
 .../Regress.TestObj.skip_return_val.page           |   70 +++++++
 .../Regress.TestObj.skip_return_val_no_out.page    |   47 +++++
 .../Regress.TestObj.static_method.page             |   46 +++++
 .../Regress.TestObj.static_method_callback.page    |   44 +++++
 .../Regress.TestObj.torture_signature_0.page       |   56 ++++++
 .../Regress.TestObj.torture_signature_1.page       |   58 ++++++
 .../Regress.TestOtherError.page                    |   33 ++++
 .../Regress.TestPrivateEnum.page                   |   25 +++
 .../Regress.TestPrivateStruct.page                 |   25 +++
 .../Regress.TestSimpleBoxedA.const_return.page     |   40 ++++
 .../Regress.TestSimpleBoxedA.copy.page             |   40 ++++
 .../Regress.TestSimpleBoxedA.equals.page           |   46 +++++
 .../Regress.TestSimpleBoxedA.page                  |   25 +++
 .../Regress.TestSimpleBoxedB.copy.page             |   40 ++++
 .../Regress.TestSimpleBoxedB.page                  |   25 +++
 .../Regress.TestSimpleCallback.page                |   25 +++
 .../Regress.TestStructA.clone.page                 |   38 ++++
 .../Regress.TestStructA.page                       |   25 +++
 .../Regress.TestStructA.parse.page                 |   44 +++++
 .../Regress.TestStructB.clone.page                 |   38 ++++
 .../Regress.TestStructB.page                       |   25 +++
 .../Regress.TestStructC.page                       |   25 +++
 .../Regress.TestStructD.page                       |   25 +++
 .../Regress.TestStructE.page                       |   25 +++
 .../Regress.TestStructE__some_union__union.page    |   25 +++
 .../Regress.TestStructF.page                       |   25 +++
 .../Regress.TestStructFixedArray.frob.page         |   38 ++++
 .../Regress.TestStructFixedArray.page              |   25 +++
 .../Regress.TestSubObj.instance_method.page        |   40 ++++
 .../Regress.TestSubObj.new.page                    |   40 ++++
 .../Regress.TestSubObj.page                        |   65 +++++++
 .../Regress.TestSubObj.unset_bare.page             |   38 ++++
 .../Regress.TestTypeGUInt64.page                   |   25 +++
 .../Regress.TestWi8021x-testbool.page              |   29 +++
 .../Regress.TestWi8021x.get_testbool.page          |   40 ++++
 .../Regress.TestWi8021x.new.page                   |   40 ++++
 .../Regress.TestWi8021x.page                       |   62 ++++++
 .../Regress.TestWi8021x.set_testbool.page          |   44 +++++
 .../Regress.TestWi8021x.static_method.page         |   46 +++++
 .../Regress.UTF8_CONSTANT.page                     |   25 +++
 .../Regress.VaListAlias.page                       |   25 +++
 .../Regress.aliased_caller_alloc.page              |   38 ++++
 .../Regress.annotation_attribute_func.page         |   52 +++++
 .../Regress.annotation_custom_destroy.page         |   45 +++++
 .../Regress.annotation_get_source_file.page        |   40 ++++
 .../Regress.annotation_init.page                   |   44 +++++
 ...ress.annotation_invalid_regress_annotation.page |   44 +++++
 .../Regress.annotation_ptr_array.page              |   44 +++++
 .../Regress.annotation_return_array.page           |   40 ++++
 .../Regress.annotation_return_filename.page        |   40 ++++
 .../Regress.annotation_set_source_file.page        |   44 +++++
 ...s.annotation_space_after_comment_bug631690.page |   38 ++++
 .../Regress.annotation_string_array_length.page    |   44 +++++
 .../Regress.annotation_string_zero_terminated.page |   40 ++++
 ...ress.annotation_string_zero_terminated_out.page |   44 +++++
 .../Regress.annotation_test_parsing_bug630862.page |   40 ++++
 .../Regress.annotation_transfer_floating.page      |   40 ++++
 .../Regress.annotation_versioned.page              |   39 ++++
 .../Regress.atest_error_quark.page                 |   40 ++++
 .../Regress.foo_async_ready_callback.page          |   50 +++++
 .../Regress.foo_destroy_notify_callback.page       |   44 +++++
 .../Regress-1.0-Gjs-expected/Regress.foo_init.page |   40 ++++
 .../Regress.foo_method_external_references.page    |   62 ++++++
 .../Regress.foo_not_a_constructor_new.page         |   41 ++++
 .../Regress.foo_skip_me.page                       |   45 +++++
 .../Regress.foo_some_variant.page                  |   50 +++++
 .../Regress.foo_some_variant_ptr.page              |   50 +++++
 .../Regress.foo_test_array.page                    |   40 ++++
 .../Regress.foo_test_const_char_param.page         |   44 +++++
 .../Regress.foo_test_const_char_retval.page        |   40 ++++
 .../Regress.foo_test_const_struct_param.page       |   44 +++++
 .../Regress.foo_test_const_struct_retval.page      |   40 ++++
 .../Regress.foo_test_string_array.page             |   44 +++++
 .../Regress.foo_test_string_array_with_g.page      |   44 +++++
 .../Regress.foo_test_unsigned_qualifier.page       |   44 +++++
 .../Regress.foo_test_unsigned_type.page            |   44 +++++
 .../Regress.foo_test_varargs_callback.page         |   50 +++++
 .../Regress.foo_test_varargs_callback2.page        |   44 +++++
 .../Regress.foo_test_varargs_callback3.page        |   50 +++++
 .../Regress.func_obj_null_in.page                  |   44 +++++
 .../Regress.global_get_flags_out.page              |   38 ++++
 .../Regress.has_parameter_named_attrs.page         |   51 +++++
 .../Regress.introspectable_via_alias.page          |   44 +++++
 .../Regress.not_introspectable_via_alias.page      |   44 +++++
 ...ess.random_function_with_skipped_structure.page |   56 ++++++
 .../Regress.set_abort_on_error.page                |   44 +++++
 .../Regress.test_array_callback.page               |   46 +++++
 .../Regress.test_array_fixed_out_objects.page      |   38 ++++
 .../Regress.test_array_fixed_size_int_in.page      |   46 +++++
 .../Regress.test_array_fixed_size_int_out.page     |   38 ++++
 .../Regress.test_array_fixed_size_int_return.page  |   40 ++++
 .../Regress.test_array_gint16_in.page              |   46 +++++
 .../Regress.test_array_gint32_in.page              |   46 +++++
 .../Regress.test_array_gint64_in.page              |   46 +++++
 .../Regress.test_array_gint8_in.page               |   46 +++++
 .../Regress.test_array_gtype_in.page               |   46 +++++
 .../Regress.test_array_int_full_out.page           |   40 ++++
 .../Regress.test_array_int_in.page                 |   46 +++++
 .../Regress.test_array_int_inout.page              |   44 +++++
 .../Regress.test_array_int_none_out.page           |   40 ++++
 .../Regress.test_array_int_null_in.page            |   44 +++++
 .../Regress.test_array_int_null_out.page           |   38 ++++
 .../Regress.test_array_int_out.page                |   38 ++++
 .../Regress.test_async_ready_callback.page         |   44 +++++
 .../Regress.test_boolean.page                      |   46 +++++
 .../Regress.test_boolean_false.page                |   46 +++++
 .../Regress.test_boolean_true.page                 |   46 +++++
 .../Regress.test_cairo_context_full_return.page    |   40 ++++
 .../Regress.test_cairo_context_none_in.page        |   44 +++++
 .../Regress.test_cairo_surface_full_out.page       |   38 ++++
 .../Regress.test_cairo_surface_full_return.page    |   40 ++++
 .../Regress.test_cairo_surface_none_in.page        |   44 +++++
 .../Regress.test_cairo_surface_none_return.page    |   40 ++++
 .../Regress.test_callback.page                     |   46 +++++
 .../Regress.test_callback_async.page               |   44 +++++
 .../Regress.test_callback_destroy_notify.page      |   47 +++++
 ....test_callback_destroy_notify_no_user_data.page |   47 +++++
 .../Regress.test_callback_thaw_async.page          |   40 ++++
 .../Regress.test_callback_thaw_notifications.page  |   42 ++++
 .../Regress.test_callback_user_data.page           |   47 +++++
 .../Regress.test_closure.page                      |   46 +++++
 .../Regress.test_closure_one_arg.page              |   52 +++++
 .../Regress.test_closure_variant.page              |   52 +++++
 .../Regress.test_date_in_gvalue.page               |   40 ++++
 .../Regress.test_def_error_quark.page              |   40 ++++
 .../Regress.test_double.page                       |   46 +++++
 .../Regress.test_filename_return.page              |   40 ++++
 .../Regress.test_float.page                        |   46 +++++
 .../Regress.test_garray_container_return.page      |   40 ++++
 .../Regress.test_garray_full_return.page           |   40 ++++
 .../Regress.test_gerror_callback.page              |   44 +++++
 .../Regress.test_ghash_container_return.page       |   40 ++++
 .../Regress.test_ghash_everything_return.page      |   40 ++++
 .../Regress.test_ghash_gvalue_in.page              |   44 +++++
 .../Regress.test_ghash_gvalue_return.page          |   40 ++++
 ...egress.test_ghash_nested_everything_return.page |   40 ++++
 ...gress.test_ghash_nested_everything_return2.page |   41 ++++
 .../Regress.test_ghash_nothing_in.page             |   44 +++++
 .../Regress.test_ghash_nothing_in2.page            |   44 +++++
 .../Regress.test_ghash_nothing_return.page         |   40 ++++
 .../Regress.test_ghash_nothing_return2.page        |   40 ++++
 .../Regress.test_ghash_null_in.page                |   44 +++++
 .../Regress.test_ghash_null_out.page               |   38 ++++
 .../Regress.test_ghash_null_return.page            |   40 ++++
 .../Regress.test_glist_container_return.page       |   40 ++++
 .../Regress.test_glist_everything_return.page      |   40 ++++
 .../Regress.test_glist_nothing_in.page             |   44 +++++
 .../Regress.test_glist_nothing_in2.page            |   44 +++++
 .../Regress.test_glist_nothing_return.page         |   40 ++++
 .../Regress.test_glist_nothing_return2.page        |   40 ++++
 .../Regress.test_glist_null_in.page                |   44 +++++
 .../Regress.test_glist_null_out.page               |   38 ++++
 .../Regress.test_gslist_container_return.page      |   40 ++++
 .../Regress.test_gslist_everything_return.page     |   40 ++++
 .../Regress.test_gslist_nothing_in.page            |   44 +++++
 .../Regress.test_gslist_nothing_in2.page           |   44 +++++
 .../Regress.test_gslist_nothing_return.page        |   40 ++++
 .../Regress.test_gslist_nothing_return2.page       |   40 ++++
 .../Regress.test_gslist_null_in.page               |   44 +++++
 .../Regress.test_gslist_null_out.page              |   38 ++++
 .../Regress.test_gtype.page                        |   46 +++++
 .../Regress.test_gvariant_as.page                  |   40 ++++
 .../Regress.test_gvariant_asv.page                 |   40 ++++
 .../Regress.test_gvariant_i.page                   |   40 ++++
 .../Regress.test_gvariant_s.page                   |   40 ++++
 .../Regress.test_gvariant_v.page                   |   40 ++++
 .../Regress.test_hash_table_callback.page          |   50 +++++
 .../Regress-1.0-Gjs-expected/Regress.test_int.page |   46 +++++
 .../Regress.test_int16.page                        |   46 +++++
 .../Regress.test_int32.page                        |   46 +++++
 .../Regress.test_int64.page                        |   46 +++++
 .../Regress.test_int8.page                         |   46 +++++
 .../Regress.test_int_out_utf8.page                 |   44 +++++
 .../Regress.test_int_value_arg.page                |   46 +++++
 .../Regress.test_long.page                         |   46 +++++
 .../Regress.test_multi_callback.page               |   46 +++++
 .../Regress.test_multi_double_args.page            |   44 +++++
 .../Regress.test_multiline_doc_comments.page       |   38 ++++
 .../Regress.test_nested_parameter.page             |   69 +++++++
 .../Regress.test_null_gerror_callback.page         |   44 +++++
 .../Regress.test_owned_gerror_callback.page        |   44 +++++
 .../Regress.test_short.page                        |   46 +++++
 .../Regress.test_simple_callback.page              |   44 +++++
 .../Regress.test_size.page                         |   46 +++++
 .../Regress.test_skip_unannotated_callback.page    |   45 +++++
 .../Regress.test_ssize.page                        |   46 +++++
 .../Regress.test_strv_in.page                      |   46 +++++
 .../Regress.test_strv_in_gvalue.page               |   40 ++++
 .../Regress.test_strv_out.page                     |   40 ++++
 .../Regress.test_strv_out_c.page                   |   40 ++++
 .../Regress.test_strv_out_container.page           |   40 ++++
 .../Regress.test_strv_outarg.page                  |   38 ++++
 .../Regress.test_timet.page                        |   46 +++++
 .../Regress.test_torture_signature_0.page          |   56 ++++++
 .../Regress.test_torture_signature_1.page          |   58 ++++++
 .../Regress.test_torture_signature_2.page          |   62 ++++++
 .../Regress.test_uint.page                         |   46 +++++
 .../Regress.test_uint16.page                       |   46 +++++
 .../Regress.test_uint32.page                       |   46 +++++
 .../Regress.test_uint64.page                       |   46 +++++
 .../Regress.test_uint8.page                        |   46 +++++
 .../Regress.test_ulong.page                        |   46 +++++
 .../Regress.test_unichar.page                      |   46 +++++
 .../Regress.test_unsigned_enum_param.page          |   46 +++++
 .../Regress.test_ushort.page                       |   46 +++++
 .../Regress.test_utf8_const_in.page                |   44 +++++
 .../Regress.test_utf8_const_return.page            |   40 ++++
 .../Regress.test_utf8_inout.page                   |   44 +++++
 .../Regress.test_utf8_nonconst_return.page         |   40 ++++
 .../Regress.test_utf8_null_in.page                 |   44 +++++
 .../Regress.test_utf8_null_out.page                |   38 ++++
 .../Regress.test_utf8_out.page                     |   38 ++++
 .../Regress.test_utf8_out_nonconst_return.page     |   40 ++++
 .../Regress.test_utf8_out_out.page                 |   38 ++++
 .../Regress.test_value_get_fundamental_object.page |   46 +++++
 .../Regress.test_value_return.page                 |   46 +++++
 .../Regress.test_value_set_fundamental_object.page |   50 +++++
 .../Regress.test_versioning.page                   |   39 ++++
 .../Regress-1.0-Gjs-expected}/index.page           |    0
 .../Regress.ANNOTATION_CALCULATED_DEFINE.page      |   25 +++
 .../Regress.ANNOTATION_CALCULATED_LARGE.page       |   26 +++
 .../Regress.ANNOTATION_CALCULATED_LARGE_DIV.page   |   25 +++
 .../Regress.ATestError.page                        |   33 ++++
 .../Regress.AliasedTestBoxed.page                  |   25 +++
 .../Regress.AnnotationBitfield.page                |   25 +++
 .../Regress.AnnotationCallback.page                |   25 +++
 .../Regress.AnnotationForeachFunc.page             |   25 +++
 .../Regress.AnnotationListCallback.page            |   25 +++
 .../Regress.AnnotationNotifyFunc.page              |   26 +++
 .../Regress.AnnotationObject-attribute-signal.page |   43 ++++
 ...ess.AnnotationObject-doc-empty-arg-parsing.page |   39 ++++
 ...Regress.AnnotationObject-function-property.page |   29 +++
 .../Regress.AnnotationObject-list-signal.page      |   40 ++++
 .../Regress.AnnotationObject-string-property.page  |   30 +++
 .../Regress.AnnotationObject-string-signal.page    |   41 ++++
 .../Regress.AnnotationObject-tab-property.page     |   31 +++
 .../Regress.AnnotationObject.allow_none.page       |   53 +++++
 .../Regress.AnnotationObject.calleeowns.page       |   53 +++++
 .../Regress.AnnotationObject.calleesowns.page      |   59 ++++++
 .../Regress.AnnotationObject.compute_sum.page      |   51 +++++
 .../Regress.AnnotationObject.compute_sum_n.page    |   57 ++++++
 .../Regress.AnnotationObject.compute_sum_nz.page   |   57 ++++++
 .../Regress.AnnotationObject.create_object.page    |   47 +++++
 .../Regress.AnnotationObject.do_not_use.page       |   47 +++++
 .../Regress.AnnotationObject.extra_annos.page      |   45 +++++
 .../Regress.AnnotationObject.foreach.page          |   57 ++++++
 .../Regress.AnnotationObject.get_hash.page         |   48 +++++
 .../Regress.AnnotationObject.get_objects.page      |   49 +++++
 .../Regress.AnnotationObject.get_strings.page      |   48 +++++
 .../Regress.AnnotationObject.hidden_self.page      |   45 +++++
 .../Regress.AnnotationObject.in.page               |   53 +++++
 .../Regress.AnnotationObject.inout.page            |   53 +++++
 .../Regress.AnnotationObject.inout2.page           |   53 +++++
 .../Regress.AnnotationObject.inout3.page           |   53 +++++
 .../Regress.AnnotationObject.method.page           |   47 +++++
 .../Regress.AnnotationObject.notrans.page          |   47 +++++
 .../Regress.AnnotationObject.out.page              |   53 +++++
 .../Regress.AnnotationObject.page                  |   62 ++++++
 .../Regress.AnnotationObject.parse_args.page       |   57 ++++++
 .../Regress.AnnotationObject.set_data.page         |   57 ++++++
 .../Regress.AnnotationObject.set_data2.page        |   57 ++++++
 .../Regress.AnnotationObject.set_data3.page        |   58 ++++++
 .../Regress.AnnotationObject.string_out.page       |   53 +++++
 .../Regress.AnnotationObject.use_buffer.page       |   51 +++++
 .../Regress.AnnotationObject.watch.page            |   58 ++++++
 .../Regress.AnnotationObject.watch_full.page       |   63 ++++++
 .../Regress.AnnotationObject.with_voidp.page       |   51 +++++
 .../Regress.AnnotationStruct.page                  |   25 +++
 .../Regress.DOUBLE_CONSTANT.page                   |   25 +++
 .../Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page      |   25 +++
 .../Regress.FOO_PIE_IS_TASTY.page                  |   25 +++
 .../Regress.FOO_SUCCESS_INT.page                   |   25 +++
 .../Regress.FooASingle.page                        |   29 +++
 .../Regress.FooAddressType.page                    |   33 ++++
 .../Regress.FooBRect.add.page                      |   51 +++++
 .../Regress.FooBRect.page                          |   25 +++
 .../Regress.FooBUnion.page                         |   25 +++
 .../Regress.FooBoxed.method.page                   |   45 +++++
 .../Regress.FooBoxed.page                          |   25 +++
 .../Regress.FooBuffer.page                         |   65 +++++++
 .../Regress.FooBuffer.some_method.page             |   45 +++++
 .../Regress.FooCallback.page                       |   25 +++
 .../Regress.FooDBusData.method.page                |   45 +++++
 .../Regress.FooDBusData.page                       |   25 +++
 .../Regress.FooEnumFullname.page                   |   33 ++++
 .../Regress.FooEnumNoType.page                     |   35 ++++
 .../Regress.FooEnumType.page                       |   33 ++++
 .../Regress.FooError.page                          |   33 ++++
 .../Regress.FooEvent.page                          |   25 +++
 .../Regress.FooEventAny.page                       |   25 +++
 .../Regress.FooEventExpose.page                    |   25 +++
 .../Regress.FooFlagsNoType.page                    |   25 +++
 .../Regress.FooFlagsType.page                      |   25 +++
 .../Regress.FooForeignStruct.copy.page             |   47 +++++
 .../Regress.FooForeignStruct.page                  |   25 +++
 .../Regress.FooInterface-do_regress_foo.page       |   36 ++++
 .../Regress.FooInterface.do_regress_foo.page       |   51 +++++
 .../Regress.FooInterface.page                      |   59 ++++++
 .../Regress.FooInterface.static_method.page        |   45 +++++
 .../Regress.FooObject-hidden.page                  |   29 +++
 .../Regress.FooObject-read_fn.page                 |   38 ++++
 .../Regress.FooObject-signal.page                  |   43 ++++
 .../Regress.FooObject-string.page                  |   29 +++
 .../Regress.FooObject-virtual_method.page          |   38 ++++
 .../Regress.FooObject.a_global_method.page         |   45 +++++
 .../Regress.FooObject.append_new_stack_layer.page  |   53 +++++
 .../Regress.FooObject.dup_name.page                |   47 +++++
 .../Regress.FooObject.external_type.page           |   47 +++++
 .../Regress.FooObject.get_default.page             |   41 ++++
 .../Regress.FooObject.get_name.page                |   47 +++++
 .../Regress.FooObject.handle_glyph.page            |   51 +++++
 .../Regress.FooObject.is_it_time_yet.page          |   51 +++++
 .../Regress.FooObject.new_cookie.page              |   53 +++++
 .../Regress.FooObject.page                         |   62 ++++++
 .../Regress.FooObject.read.page                    |   57 ++++++
 .../Regress.FooObject.skipped_method.page          |   45 +++++
 .../Regress.FooObject.static_meth.page             |   40 ++++
 .../Regress.FooObject.take_all.page                |   54 +++++
 .../Regress.FooObject.various.page                 |   57 ++++++
 .../Regress.FooObject.virtual_method.page          |   53 +++++
 .../Regress.FooObjectCookie.page                   |   25 +++
 .../Regress.FooOtherObject.page                    |   62 ++++++
 .../Regress.FooRectangle.add.page                  |   51 +++++
 .../Regress.FooRectangle.new.page                  |   66 +++++++
 .../Regress.FooRectangle.page                      |   25 +++
 .../Regress.FooSkippable.page                      |   32 +++
 .../Regress.FooStackLayer.page                     |   45 +++++
 .../Regress.FooStruct.page                         |   25 +++
 .../Regress.FooSubInterface-destroy-event.page     |   37 ++++
 .../Regress.FooSubInterface-destroy_event.page     |   34 ++++
 .../Regress.FooSubInterface-do_bar.page            |   34 ++++
 .../Regress.FooSubInterface-do_baz.page            |   38 ++++
 .../Regress.FooSubInterface.do_bar.page            |   45 +++++
 .../Regress.FooSubInterface.do_baz.page            |   57 ++++++
 .../Regress.FooSubInterface.page                   |   59 ++++++
 .../Regress.FooSubobject.page                      |   65 +++++++
 .../Regress.FooThingWithArray.page                 |   25 +++
 .../Regress.FooUnion.page                          |   25 +++
 .../Regress.FooUtilityStruct.page                  |   25 +++
 .../Regress.FooVarargsCallback.page                |   25 +++
 .../Regress.FooXEvent.page                         |   25 +++
 .../Regress.GUINT64_CONSTANT.page                  |   25 +++
 .../Regress.GUINT64_CONSTANTA.page                 |   25 +++
 .../Regress.G_GINT64_CONSTANT.page                 |   25 +++
 .../Regress.INT_CONSTANT.page                      |   25 +++
 .../Regress.IntSet.page                            |   25 +++
 .../Regress.LONG_STRING_CONSTANT.page              |   25 +++
 .../Regress.LikeGnomeKeyringPasswordSchema.page    |   25 +++
 .../Regress.MAXUINT64.page                         |   25 +++
 .../Regress.MININT64.page                          |   25 +++
 .../Regress.Mixed_Case_Constant.page               |   25 +++
 .../Regress.NEGATIVE_INT_CONSTANT.page             |   25 +++
 .../Regress.PtrArrayAlias.page                     |   25 +++
 .../Regress.STRING_CONSTANT.page                   |   25 +++
 .../Regress.SkippedStructure.page                  |   26 +++
 .../Regress.TestABCError.page                      |   33 ++++
 .../Regress.TestBoxed.copy.page                    |   47 +++++
 .../Regress.TestBoxed.equals.page                  |   53 +++++
 .../Regress.TestBoxed.page                         |   25 +++
 .../Regress.TestBoxedB.copy.page                   |   47 +++++
 .../Regress.TestBoxedB.page                        |   25 +++
 .../Regress.TestBoxedC.page                        |   25 +++
 .../Regress.TestBoxedD.copy.page                   |   47 +++++
 .../Regress.TestBoxedD.free.page                   |   45 +++++
 .../Regress.TestBoxedD.get_magic.page              |   47 +++++
 .../Regress.TestBoxedD.page                        |   25 +++
 .../Regress.TestCallback.page                      |   25 +++
 .../Regress.TestCallbackArray.page                 |   25 +++
 .../Regress.TestCallbackFull.page                  |   25 +++
 .../Regress.TestCallbackGError.page                |   25 +++
 .../Regress.TestCallbackHashtable.page             |   25 +++
 .../Regress.TestCallbackOwnedGError.page           |   25 +++
 .../Regress.TestCallbackUserData.page              |   25 +++
 .../Regress.TestDEFError.page                      |   33 ++++
 .../Regress.TestEnum.page                          |   35 ++++
 .../Regress.TestEnumNoGEnum.page                   |   33 ++++
 .../Regress.TestEnumUnsigned.page                  |   31 +++
 .../Regress.TestError.page                         |   33 ++++
 .../Regress.TestFlags.page                         |   25 +++
 .../Regress.TestFloating.page                      |   65 +++++++
 .../Regress.TestFundamentalObject.page             |   59 ++++++
 .../Regress.TestFundamentalObject.ref.page         |   47 +++++
 .../Regress.TestFundamentalObject.unref.page       |   45 +++++
 .../Regress.TestFundamentalObjectCopyFunction.page |   25 +++
 ...ress.TestFundamentalObjectFinalizeFunction.page |   25 +++
 .../Regress.TestFundamentalSubObject.page          |   62 ++++++
 .../Regress.TestInheritDrawable.do_foo.page        |   51 +++++
 ...ess.TestInheritDrawable.do_foo_maybe_throw.page |   51 +++++
 .../Regress.TestInheritDrawable.get_origin.page    |   57 ++++++
 .../Regress.TestInheritDrawable.get_size.page      |   57 ++++++
 .../Regress.TestInheritDrawable.page               |   62 ++++++
 .../Regress.TestInheritPixmapObjectClass.page      |   25 +++
 .../Regress.TestInterface.page                     |   59 ++++++
 .../Regress.TestObj-all.page                       |   37 ++++
 .../Regress.TestObj-allow_none_vfunc.page          |   36 ++++
 .../Regress.TestObj-bare.page                      |   29 +++
 .../Regress.TestObj-boxed.page                     |   29 +++
 .../Regress.TestObj-cleanup.page                   |   37 ++++
 .../Regress.TestObj-double.page                    |   29 +++
 .../Regress.TestObj-first.page                     |   37 ++++
 .../Regress.TestObj-float.page                     |   29 +++
 .../Regress.TestObj-gtype.page                     |   29 +++
 .../Regress.TestObj-hash-table-old.page            |   29 +++
 .../Regress.TestObj-hash-table.page                |   29 +++
 .../Regress.TestObj-int.page                       |   29 +++
 .../Regress.TestObj-list-old.page                  |   29 +++
 .../Regress.TestObj-list.page                      |   29 +++
 .../Regress.TestObj-matrix.page                    |   40 ++++
 .../Regress.TestObj-sig-with-array-prop.page       |   40 ++++
 .../Regress.TestObj-sig-with-foreign-struct.page   |   39 ++++
 .../Regress.TestObj-sig-with-hash-prop.page        |   40 ++++
 .../Regress.TestObj-sig-with-int64-prop.page       |   42 ++++
 .../Regress.TestObj-sig-with-intarray-ret.page     |   39 ++++
 .../Regress.TestObj-sig-with-obj.page              |   40 ++++
 .../Regress.TestObj-sig-with-strv.page             |   39 ++++
 .../Regress.TestObj-sig-with-uint64-prop.page      |   42 ++++
 .../Regress.TestObj-string.page                    |   29 +++
 ...Regress.TestObj-test-with-static-scope-arg.page |   39 ++++
 .../Regress.TestObj-test.page                      |   37 ++++
 .../Regress.TestObj.do_matrix.page                 |   55 ++++++
 ...gress.TestObj.emit_sig_with_foreign_struct.page |   45 +++++
 .../Regress.TestObj.emit_sig_with_int64.page       |   45 +++++
 .../Regress.TestObj.emit_sig_with_obj.page         |   45 +++++
 .../Regress.TestObj.emit_sig_with_uint64.page      |   45 +++++
 .../Regress.TestObj.forced_method.page             |   45 +++++
 .../Regress.TestObj.instance_method.page           |   47 +++++
 .../Regress.TestObj.instance_method_callback.page  |   51 +++++
 .../Regress.TestObj.null_out.page                  |   45 +++++
 .../Regress.TestObj.page                           |   62 ++++++
 .../Regress.TestObj.set_bare.page                  |   51 +++++
 .../Regress.TestObj.skip_inout_param.page          |   89 +++++++++
 .../Regress.TestObj.skip_out_param.page            |   89 +++++++++
 .../Regress.TestObj.skip_param.page                |   89 +++++++++
 .../Regress.TestObj.skip_return_val.page           |   89 +++++++++
 .../Regress.TestObj.skip_return_val_no_out.page    |   54 +++++
 .../Regress.TestObj.static_method.page             |   47 +++++
 .../Regress.TestObj.static_method_callback.page    |   45 +++++
 .../Regress.TestObj.torture_signature_0.page       |   81 ++++++++
 .../Regress.TestObj.torture_signature_1.page       |   83 ++++++++
 .../Regress.TestOtherError.page                    |   33 ++++
 .../Regress.TestPrivateEnum.page                   |   25 +++
 .../Regress.TestPrivateStruct.page                 |   25 +++
 .../Regress.TestSimpleBoxedA.const_return.page     |   40 ++++
 .../Regress.TestSimpleBoxedA.copy.page             |   47 +++++
 .../Regress.TestSimpleBoxedA.equals.page           |   53 +++++
 .../Regress.TestSimpleBoxedA.page                  |   25 +++
 .../Regress.TestSimpleBoxedB.copy.page             |   47 +++++
 .../Regress.TestSimpleBoxedB.page                  |   25 +++
 .../Regress.TestSimpleCallback.page                |   25 +++
 .../Regress.TestStructA.clone.page                 |   51 +++++
 .../Regress.TestStructA.page                       |   25 +++
 .../Regress.TestStructA.parse.page                 |   51 +++++
 .../Regress.TestStructB.clone.page                 |   51 +++++
 .../Regress.TestStructB.page                       |   25 +++
 .../Regress.TestStructC.page                       |   25 +++
 .../Regress.TestStructD.page                       |   25 +++
 .../Regress.TestStructE.page                       |   25 +++
 .../Regress.TestStructE__some_union__union.page    |   25 +++
 .../Regress.TestStructF.page                       |   25 +++
 .../Regress.TestStructFixedArray.frob.page         |   45 +++++
 .../Regress.TestStructFixedArray.page              |   25 +++
 .../Regress.TestSubObj.instance_method.page        |   47 +++++
 .../Regress.TestSubObj.page                        |   65 +++++++
 .../Regress.TestSubObj.unset_bare.page             |   45 +++++
 .../Regress.TestTypeGUInt64.page                   |   25 +++
 .../Regress.TestWi8021x-testbool.page              |   29 +++
 .../Regress.TestWi8021x.get_testbool.page          |   47 +++++
 .../Regress.TestWi8021x.page                       |   62 ++++++
 .../Regress.TestWi8021x.set_testbool.page          |   51 +++++
 .../Regress.TestWi8021x.static_method.page         |   47 +++++
 .../Regress.UTF8_CONSTANT.page                     |   25 +++
 .../Regress.VaListAlias.page                       |   25 +++
 .../Regress.aliased_caller_alloc.page              |   45 +++++
 .../Regress.annotation_attribute_func.page         |   53 +++++
 .../Regress.annotation_custom_destroy.page         |   58 ++++++
 .../Regress.annotation_get_source_file.page        |   40 ++++
 .../Regress.annotation_init.page                   |   51 +++++
 ...ress.annotation_invalid_regress_annotation.page |   45 +++++
 .../Regress.annotation_ptr_array.page              |   45 +++++
 .../Regress.annotation_return_array.page           |   47 +++++
 .../Regress.annotation_return_filename.page        |   40 ++++
 .../Regress.annotation_set_source_file.page        |   45 +++++
 ...s.annotation_space_after_comment_bug631690.page |   38 ++++
 .../Regress.annotation_string_array_length.page    |   51 +++++
 .../Regress.annotation_string_zero_terminated.page |   40 ++++
 ...ress.annotation_string_zero_terminated_out.page |   45 +++++
 .../Regress.annotation_test_parsing_bug630862.page |   40 ++++
 .../Regress.annotation_transfer_floating.page      |   40 ++++
 .../Regress.annotation_versioned.page              |   39 ++++
 .../Regress.atest_error_quark.page                 |   40 ++++
 .../Regress.foo_async_ready_callback.page          |   57 ++++++
 .../Regress.foo_destroy_notify_callback.page       |   57 ++++++
 .../Regress.foo_init.page                          |   40 ++++
 .../Regress.foo_method_external_references.page    |   63 ++++++
 .../Regress.foo_not_a_constructor_new.page         |   41 ++++
 .../Regress.foo_skip_me.page                       |   46 +++++
 .../Regress.foo_some_variant.page                  |   51 +++++
 .../Regress.foo_some_variant_ptr.page              |   51 +++++
 .../Regress.foo_test_array.page                    |   40 ++++
 .../Regress.foo_test_const_char_param.page         |   45 +++++
 .../Regress.foo_test_const_char_retval.page        |   40 ++++
 .../Regress.foo_test_const_struct_param.page       |   45 +++++
 .../Regress.foo_test_const_struct_retval.page      |   40 ++++
 .../Regress.foo_test_string_array.page             |   45 +++++
 .../Regress.foo_test_string_array_with_g.page      |   45 +++++
 .../Regress.foo_test_unsigned_qualifier.page       |   45 +++++
 .../Regress.foo_test_unsigned_type.page            |   45 +++++
 .../Regress.foo_test_varargs_callback.page         |   51 +++++
 .../Regress.foo_test_varargs_callback2.page        |   45 +++++
 .../Regress.foo_test_varargs_callback3.page        |   51 +++++
 .../Regress.func_obj_null_in.page                  |   45 +++++
 .../Regress.global_get_flags_out.page              |   45 +++++
 .../Regress.has_parameter_named_attrs.page         |   52 +++++
 .../Regress.introspectable_via_alias.page          |   45 +++++
 .../Regress.not_introspectable_via_alias.page      |   45 +++++
 ...ess.random_function_with_skipped_structure.page |   57 ++++++
 .../Regress.set_abort_on_error.page                |   45 +++++
 .../Regress.test_array_callback.page               |   47 +++++
 .../Regress.test_array_fixed_out_objects.page      |   45 +++++
 .../Regress.test_array_fixed_size_int_in.page      |   47 +++++
 .../Regress.test_array_fixed_size_int_out.page     |   45 +++++
 .../Regress.test_array_fixed_size_int_return.page  |   40 ++++
 .../Regress.test_array_gint16_in.page              |   53 +++++
 .../Regress.test_array_gint32_in.page              |   53 +++++
 .../Regress.test_array_gint64_in.page              |   53 +++++
 .../Regress.test_array_gint8_in.page               |   53 +++++
 .../Regress.test_array_gtype_in.page               |   53 +++++
 .../Regress.test_array_int_full_out.page           |   47 +++++
 .../Regress.test_array_int_in.page                 |   53 +++++
 .../Regress.test_array_int_inout.page              |   51 +++++
 .../Regress.test_array_int_none_out.page           |   47 +++++
 .../Regress.test_array_int_null_in.page            |   51 +++++
 .../Regress.test_array_int_null_out.page           |   51 +++++
 .../Regress.test_array_int_out.page                |   51 +++++
 .../Regress.test_async_ready_callback.page         |   45 +++++
 .../Regress.test_boolean.page                      |   47 +++++
 .../Regress.test_boolean_false.page                |   47 +++++
 .../Regress.test_boolean_true.page                 |   47 +++++
 .../Regress.test_cairo_context_full_return.page    |   40 ++++
 .../Regress.test_cairo_context_none_in.page        |   45 +++++
 .../Regress.test_cairo_surface_full_out.page       |   45 +++++
 .../Regress.test_cairo_surface_full_return.page    |   40 ++++
 .../Regress.test_cairo_surface_none_in.page        |   45 +++++
 .../Regress.test_cairo_surface_none_return.page    |   40 ++++
 .../Regress.test_callback.page                     |   47 +++++
 .../Regress.test_callback_async.page               |   51 +++++
 .../Regress.test_callback_destroy_notify.page      |   60 ++++++
 ....test_callback_destroy_notify_no_user_data.page |   54 +++++
 .../Regress.test_callback_thaw_async.page          |   40 ++++
 .../Regress.test_callback_thaw_notifications.page  |   42 ++++
 .../Regress.test_callback_user_data.page           |   54 +++++
 .../Regress.test_closure.page                      |   47 +++++
 .../Regress.test_closure_one_arg.page              |   53 +++++
 .../Regress.test_closure_variant.page              |   53 +++++
 .../Regress.test_date_in_gvalue.page               |   40 ++++
 .../Regress.test_def_error_quark.page              |   40 ++++
 .../Regress.test_double.page                       |   47 +++++
 .../Regress.test_filename_return.page              |   40 ++++
 .../Regress.test_float.page                        |   47 +++++
 .../Regress.test_garray_container_return.page      |   40 ++++
 .../Regress.test_garray_full_return.page           |   40 ++++
 .../Regress.test_gerror_callback.page              |   45 +++++
 .../Regress.test_ghash_container_return.page       |   40 ++++
 .../Regress.test_ghash_everything_return.page      |   40 ++++
 .../Regress.test_ghash_gvalue_in.page              |   45 +++++
 .../Regress.test_ghash_gvalue_return.page          |   40 ++++
 ...egress.test_ghash_nested_everything_return.page |   40 ++++
 ...gress.test_ghash_nested_everything_return2.page |   41 ++++
 .../Regress.test_ghash_nothing_in.page             |   45 +++++
 .../Regress.test_ghash_nothing_in2.page            |   45 +++++
 .../Regress.test_ghash_nothing_return.page         |   40 ++++
 .../Regress.test_ghash_nothing_return2.page        |   40 ++++
 .../Regress.test_ghash_null_in.page                |   45 +++++
 .../Regress.test_ghash_null_out.page               |   45 +++++
 .../Regress.test_ghash_null_return.page            |   40 ++++
 .../Regress.test_glist_container_return.page       |   40 ++++
 .../Regress.test_glist_everything_return.page      |   40 ++++
 .../Regress.test_glist_nothing_in.page             |   45 +++++
 .../Regress.test_glist_nothing_in2.page            |   45 +++++
 .../Regress.test_glist_nothing_return.page         |   40 ++++
 .../Regress.test_glist_nothing_return2.page        |   40 ++++
 .../Regress.test_glist_null_in.page                |   45 +++++
 .../Regress.test_glist_null_out.page               |   45 +++++
 .../Regress.test_gslist_container_return.page      |   40 ++++
 .../Regress.test_gslist_everything_return.page     |   40 ++++
 .../Regress.test_gslist_nothing_in.page            |   45 +++++
 .../Regress.test_gslist_nothing_in2.page           |   45 +++++
 .../Regress.test_gslist_nothing_return.page        |   40 ++++
 .../Regress.test_gslist_nothing_return2.page       |   40 ++++
 .../Regress.test_gslist_null_in.page               |   45 +++++
 .../Regress.test_gslist_null_out.page              |   45 +++++
 .../Regress.test_gtype.page                        |   47 +++++
 .../Regress.test_gvariant_as.page                  |   40 ++++
 .../Regress.test_gvariant_asv.page                 |   40 ++++
 .../Regress.test_gvariant_i.page                   |   40 ++++
 .../Regress.test_gvariant_s.page                   |   40 ++++
 .../Regress.test_gvariant_v.page                   |   40 ++++
 .../Regress.test_hash_table_callback.page          |   51 +++++
 .../Regress.test_int.page                          |   47 +++++
 .../Regress.test_int16.page                        |   47 +++++
 .../Regress.test_int32.page                        |   47 +++++
 .../Regress.test_int64.page                        |   47 +++++
 .../Regress.test_int8.page                         |   47 +++++
 .../Regress.test_int_out_utf8.page                 |   51 +++++
 .../Regress.test_int_value_arg.page                |   47 +++++
 .../Regress.test_long.page                         |   47 +++++
 .../Regress.test_multi_callback.page               |   47 +++++
 .../Regress.test_multi_double_args.page            |   57 ++++++
 .../Regress.test_multiline_doc_comments.page       |   38 ++++
 .../Regress.test_nested_parameter.page             |   70 +++++++
 .../Regress.test_null_gerror_callback.page         |   45 +++++
 .../Regress.test_owned_gerror_callback.page        |   45 +++++
 .../Regress.test_short.page                        |   47 +++++
 .../Regress.test_simple_callback.page              |   45 +++++
 .../Regress.test_size.page                         |   47 +++++
 .../Regress.test_skip_unannotated_callback.page    |   46 +++++
 .../Regress.test_ssize.page                        |   47 +++++
 .../Regress.test_strv_in.page                      |   47 +++++
 .../Regress.test_strv_in_gvalue.page               |   40 ++++
 .../Regress.test_strv_out.page                     |   40 ++++
 .../Regress.test_strv_out_c.page                   |   40 ++++
 .../Regress.test_strv_out_container.page           |   40 ++++
 .../Regress.test_strv_outarg.page                  |   45 +++++
 .../Regress.test_timet.page                        |   47 +++++
 .../Regress.test_torture_signature_0.page          |   75 +++++++
 .../Regress.test_torture_signature_1.page          |   77 ++++++++
 .../Regress.test_torture_signature_2.page          |   93 +++++++++
 .../Regress.test_uint.page                         |   47 +++++
 .../Regress.test_uint16.page                       |   47 +++++
 .../Regress.test_uint32.page                       |   47 +++++
 .../Regress.test_uint64.page                       |   47 +++++
 .../Regress.test_uint8.page                        |   47 +++++
 .../Regress.test_ulong.page                        |   47 +++++
 .../Regress.test_unichar.page                      |   47 +++++
 .../Regress.test_unsigned_enum_param.page          |   47 +++++
 .../Regress.test_ushort.page                       |   47 +++++
 .../Regress.test_utf8_const_in.page                |   45 +++++
 .../Regress.test_utf8_const_return.page            |   40 ++++
 .../Regress.test_utf8_inout.page                   |   45 +++++
 .../Regress.test_utf8_nonconst_return.page         |   40 ++++
 .../Regress.test_utf8_null_in.page                 |   45 +++++
 .../Regress.test_utf8_null_out.page                |   45 +++++
 .../Regress.test_utf8_out.page                     |   45 +++++
 .../Regress.test_utf8_out_nonconst_return.page     |   47 +++++
 .../Regress.test_utf8_out_out.page                 |   51 +++++
 .../Regress.test_value_get_fundamental_object.page |   47 +++++
 .../Regress.test_value_return.page                 |   47 +++++
 .../Regress.test_value_set_fundamental_object.page |   51 +++++
 .../Regress.test_versioning.page                   |   39 ++++
 .../Regress-1.0-Python-expected}/index.page        |    0
 1389 files changed, 55313 insertions(+), 1825 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 92b3da0..1e0a026 100644
--- a/.gitignore
+++ b/.gitignore
@@ -106,4 +106,4 @@ docs/reference/version.xml
 
 #g-ir-doc-tool tests
 *.page
-!tests/doctool/*-expected/*.page
+!tests/scanner/*-expected/*.page
diff --git a/common.mk b/common.mk
index 87ceaee..28b73c7 100644
--- a/common.mk
+++ b/common.mk
@@ -40,3 +40,9 @@ INTROSPECTION_DOCTOOL = \
         UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) \
         UNINSTALLED_INTROSPECTION_BUILDDIR=$(top_builddir) \
         $(top_builddir)/g-ir-doc-tool
+
+INTROSPECTION_DOCTOOL_ARGS = \
+    --add-include-path=$(srcdir) \
+    --add-include-path=$(top_srcdir)/gir \
+    --add-include-path=$(builddir) \
+    --add-include-path=$(top_builddir)
diff --git a/configure.ac b/configure.ac
index 68fb3f2..c8e0173 100644
--- a/configure.ac
+++ b/configure.ac
@@ -318,7 +318,6 @@ tests/offsets/Makefile
 tests/scanner/Makefile
 tests/repository/Makefile
 tests/warn/Makefile
-tests/doctool/Makefile
 docs/Makefile
 docs/reference/Makefile
 gobject-introspection-1.0.pc
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 676d485..b4985b9 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,12 +1,6 @@
 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=
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am
index cf04508..e07bdd3 100644
--- a/tests/scanner/Makefile.am
+++ b/tests/scanner/Makefile.am
@@ -146,7 +146,43 @@ Headeronly-1.0.gir: headeronly.h
 %.gir.check: %.gir
 	@diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo "  TEST  $*.gir"
 
-check-local: Headeronly-1.0.gir $(CHECKGIRS) $(TYPELIBS)
+if BUILD_DOCTOOL
+DOCGIRS = Regress-1.0.gir
+CHECKDOCS = $(DOCGIRS:.gir=-C.page.check) $(DOCGIRS:.gir=-Python.page.check) $(DOCGIRS:.gir=-Gjs.page.check)
+MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs)
+EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
+
+%-C: %.gir
+	$(AM_V_GEN)
+	$(AM_V_at)$(MKDIR_P) $*-C
+	$(AM_V_at)rm -f $*-C/*.page
+	$(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language C $*.gir -o $*-C/
+
+%-Python: %.gir
+	$(AM_V_GEN)
+	$(AM_V_at)$(MKDIR_P) $*-Python
+	$(AM_V_at)rm -f $*-Python/*.page
+	$(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Python $*.gir -o $*-Python/
+
+%-Gjs: %.gir
+	$(AM_V_GEN)
+	$(AM_V_at)$(MKDIR_P) $*-Gjs
+	$(AM_V_at)rm -f $*-Gjs/*.page
+	$(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Gjs $*.gir -o $*-Gjs/
+
+%-C.page.check: %-C
+	@diff -u -w -B -U 10 $(srcdir)/$*-C-expected $*-C && echo "  TEST  $*-C"
+
+%-Python.page.check: %-Python
+	@diff -u -w -B -U 10 $(srcdir)/$*-Python-expected $*-Python && echo "  TEST  $*-Python"
+
+%-Gjs.page.check: %-Gjs
+	@diff -u -w -B -U 10 $(srcdir)/$*-Gjs-expected $*-Gjs && echo "  TEST  $*-Gjs"
+else
+CHECKDOCS =
+endif
+
+check-local: Headeronly-1.0.gir $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS)
 
 EXTRA_DIST += \
 	annotationparser/README					\
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
new file mode 100644
index 0000000..ebe71b0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.ANNOTATION_CALCULATED_DEFINE"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.ANNOTATION_CALCULATED_DEFINE</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE.page b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
new file mode 100644
index 0000000..4b38cc0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.ANNOTATION_CALCULATED_LARGE"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.ANNOTATION_CALCULATED_LARGE</title>
+  
+  
+  
+    <p>Constant to define a calculated large value</p>
+  
+  
+    <p>Since 1.4</p>
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
new file mode 100644
index 0000000..d6c8e76
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.ANNOTATION_CALCULATED_LARGE_DIV"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.ANNOTATION_CALCULATED_LARGE_DIV</title>
+  
+  
+  
+    <p>Constant to define a calculated large value</p>
+  
+  
+  
+  
+  
+  
+  
+</page>
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 0000000..a2ab2ef
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..2229245
--- /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 type="guide" xref="index"/>
+    
+  </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.AnnotationBitfield.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationBitfield.page
new file mode 100644
index 0000000..8cbc832
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..30f950c
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.AnnotationCallback</title>
+  
+  
+  
+    <p>This is a callback.</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 0000000..506ceff
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..3f9409e
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..b2dc717
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..2e30a44
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-attribute-signal.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>arg1 :</p></dt>
+<dd><p>a value</p></dd>
+<dt><p>arg2 :</p></dt>
+<dd><p>another value</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>the return value</p></dd>
+</dl>
+
+  
+  
+</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 0000000..8f7a9de
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-doc-empty-arg-parsing.page
@@ -0,0 +1,35 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>arg1 :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..88dae75
--- /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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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 0000000..f4e8868
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-list-signal.page
@@ -0,0 +1,36 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>list :</p></dt>
+<dd><p>a list of strings</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..bedc144
--- /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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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 0000000..71dbe0c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject-string-signal.page
@@ -0,0 +1,37 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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>
+  
+  
+<dl>
+<dt><p>string :</p></dt>
+<dd><p>a string</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..1363f9e
--- /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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <title type="link" role="topic">tab-property</title>
+
+  </info>
+  <title>Regress.AnnotationObject:tab-property</title>
+  
+  
+  
+    <p>This is a property regress_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 0000000..ea33c69
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.allow_none.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>somearg :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>NULL</code> always</p></dd>
+</dl>
+
+  
+  
+</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 0000000..27b6b8a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleeowns.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>toown :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..72e2e62
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.calleesowns.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>toown1 :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>toown2 :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..825b449
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>nums :</p></dt>
+<dd><p>Sequence of numbers</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..11333b5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>nums :</p></dt>
+<dd><p>Sequence of numbers that are zero-terminated</p></dd>
+<dt><p>n_nums :</p></dt>
+<dd><p>Length of number array</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7017be8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>nums :</p></dt>
+<dd><p>Sequence of numbers that are zero-terminated</p></dd>
+<dt><p>n_nums :</p></dt>
+<dd><p>Length of number array</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..cde56f8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.create_object.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>The object</p></dd>
+</dl>
+
+  
+  
+</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 0000000..2c5eaad
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.do_not_use.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>NULL</code> always</p></dd>
+</dl>
+
+  
+  
+</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 0000000..b1aa7aa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.extra_annos.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ba91139
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.foreach.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>func :</p></dt>
+<dd><p>Callback to invoke</p></dd>
+<dt><p>user_data :</p></dt>
+<dd><p>Callback user data</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5a06e84
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_hash.page
@@ -0,0 +1,45 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>hash table</p></dd>
+</dl>
+
+  
+  
+</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 0000000..2e36a38
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_objects.page
@@ -0,0 +1,46 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>list of objects</p></dd>
+</dl>
+
+  
+  
+</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 0000000..be29a58
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.get_strings.page
@@ -0,0 +1,45 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>list of strings</p></dd>
+</dl>
+
+  
+  
+</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 0000000..8218f23
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.hidden_self.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>A <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2795957
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>inarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..09bc20d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>inoutarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..4a95ff0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout2.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>inoutarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..1af8170
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.inout3.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>inoutarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..793cf37
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..c8ba72c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.notrans.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>An object, not referenced</p></dd>
+</dl>
+
+  
+  
+</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 0000000..ec90d82
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.out.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>outarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..145996e
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.AnnotationObject</title>
+  
+  
+  
+    <p>This is an object used to test regress_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 0000000..5282ab5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.parse_args.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>argc :</p></dt>
+<dd><p>Length of the argument vector</p></dd>
+<dt><p>argv :</p></dt>
+<dd><p>Argument vector</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a52f0cc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>data :</p></dt>
+<dd><p>The data</p></dd>
+<dt><p>length :</p></dt>
+<dd><p>Length of the data</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8c2be28
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data2.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>data :</p></dt>
+<dd><p>The data</p></dd>
+<dt><p>length :</p></dt>
+<dd><p>Length of the data</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..989bb1d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.set_data3.page
@@ -0,0 +1,59 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>data :</p></dt>
+<dd><p>The data</p></dd>
+<dt><p>length :</p></dt>
+<dd><p>Length of the data</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8195d4a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.string_out.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>str_out :</p></dt>
+<dd><p>string return value</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>some boolean</p></dd>
+</dl>
+
+  
+  
+</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 0000000..8a8094b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.use_buffer.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="GObject.Object"/></p></dd>
+<dt><p>bytes :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c669d91
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch.page
@@ -0,0 +1,59 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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.AnnotationObject.watch_full"/>.</p>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>A <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>func :</p></dt>
+<dd><p>The callback</p></dd>
+<dt><p>user_data :</p></dt>
+<dd><p>The callback data</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..90500cc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.watch_full.page
@@ -0,0 +1,65 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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" regress_annotation.</p>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>A <link xref="Regress.AnnotationObject"/></p></dd>
+<dt><p>func :</p></dt>
+<dd><p>The callback</p></dd>
+<dt><p>user_data :</p></dt>
+<dd><p>The callback data</p></dd>
+<dt><p>destroy :</p></dt>
+<dd><p>Destroy notification</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..287a0d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnnotationObject.with_voidp.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>data :</p></dt>
+<dd><p>Opaque pointer handle</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..16e82e3
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..67f83e9
--- /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 type="guide" xref="index"/>
+    
+  </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.DOUBLE_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.DOUBLE_CONSTANT.page
new file mode 100644
index 0000000..b1aa32d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.DOUBLE_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.DOUBLE_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.DOUBLE_CONSTANT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
new file mode 100644
index 0000000..357665d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_DEFINE_SHOULD_BE_EXPOSED"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FOO_DEFINE_SHOULD_BE_EXPOSED</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_PIE_IS_TASTY.page b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_PIE_IS_TASTY.page
new file mode 100644
index 0000000..7dc308a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_PIE_IS_TASTY.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_PIE_IS_TASTY"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FOO_PIE_IS_TASTY</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUCCESS_INT.page b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUCCESS_INT.page
new file mode 100644
index 0000000..f20f426
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FOO_SUCCESS_INT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_SUCCESS_INT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FOO_SUCCESS_INT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..d464625
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..b98ce57
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..b518be0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.add.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooBRect" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>b1 :</p></dt>
+<dd></dd>
+<dt><p>b2 :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6b1b283
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBRect.new.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooBRect" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..29268be
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooBRect</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..63831e7
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..565e966
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooBoxed" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..bfaaeb8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBoxed.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.FooBoxed" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..11fe281
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..1291cbf
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..937b679
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooBuffer.some_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooBuffer" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>buffer :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..241296e
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..1324acb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooDBusData.method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooDBusData" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>dbusdata :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..34bb11e
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..6e9c360
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..bf48cb9
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooEnumNoType</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..9512104
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooEnumType</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..09ae500
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooError</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..0b77bcb
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..347c651
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..a99a5d1
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d4db757
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..e4f3ede
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..836cfe8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.copy.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooForeignStruct" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>original :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..710c5ef
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooForeignStruct.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.FooForeignStruct" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..24082f8
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..3a16ebc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface-do_regress_foo.page
@@ -0,0 +1,37 @@
+<?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 type="guide" xref="Regress.FooInterface" group="vfunc"/>
+
+  </info>
+  <title>Regress.FooInterface::do_regress_foo</title>
+  
+<synopsis><code mime="text/x-csrc">
+void do_regress_foo (RegressFooInterface* self,
+                     int x);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>self :</p></dt>
+<dd></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f655d16
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.do_regress_foo.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooInterface" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>iface :</p></dt>
+<dd></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4682fdd
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..009383f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooInterface.static_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooInterface" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5a02e94
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..a0266cd
--- /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 type="guide" xref="Regress.FooObject" group="property"/>
+    <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 0000000..8efc5f1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-read_fn.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.FooObject" group="vfunc"/>
+
+  </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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>offset :</p></dt>
+<dd><p>offset</p></dd>
+<dt><p>length :</p></dt>
+<dd><p>length</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..d745360
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-signal.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.FooObject" group="property"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>p0 :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4de4c9e
--- /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 type="guide" xref="Regress.FooObject" group="property"/>
+    <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 0000000..8dc89fd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject-virtual_method.page
@@ -0,0 +1,37 @@
+<?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 type="guide" xref="Regress.FooObject" group="vfunc"/>
+
+  </info>
+  <title>Regress.FooObject::virtual_method</title>
+  
+<synopsis><code mime="text/x-csrc">
+gboolean virtual_method (RegressFooObject* object,
+                         int first_param);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>first_param :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2f4e1b5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.a_global_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooObject" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..fb0c658
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.append_new_stack_layer.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3e0a8aa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.dup_name.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3d9138e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.external_type.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>a <link xref="Regress.FooObject"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>NULL</code> always</p></dd>
+</dl>
+
+  
+  
+</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 0000000..201db73
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_default.page
@@ -0,0 +1,39 @@
+<?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 type="guide" xref="Regress.FooObject" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>The global <link xref="Regress.FooSubobject"/></p></dd>
+</dl>
+
+  
+  
+</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 0000000..d48725b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.get_name.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..19f19fa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.handle_glyph.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>glyph :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6aa3e82
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.is_it_time_yet.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>time :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..b1d8ccb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.FooObject" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7ab6a24
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_as_super.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.FooObject" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5d4766a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.new_cookie.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>target :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c79e0b7
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..cff7711
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.read.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>obj</p></dd>
+<dt><p>offset :</p></dt>
+<dd><p>offset</p></dd>
+<dt><p>length :</p></dt>
+<dd><p>length</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f82a16b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.skipped_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>obj</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..13e2427
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.static_meth.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.FooObject" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3d842cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.take_all.page
@@ -0,0 +1,55 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>None :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..82d3c18
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.various.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>data :</p></dt>
+<dd></dd>
+<dt><p>some_type :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..29a2c8c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooObject.virtual_method.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>first_param :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c35a3bc
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooObjectClass</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 0000000..4d9cabc
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..0d080df
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..483e04f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.add.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.FooRectangle" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>r1 :</p></dt>
+<dd><p>add to this rect</p></dd>
+<dt><p>r2 :</p></dt>
+<dd><p>source rectangle</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..43d831e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooRectangle.new.page
@@ -0,0 +1,66 @@
+<?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 type="guide" xref="Regress.FooRectangle" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>width :</p></dt>
+<dd></dd>
+<dt><p>height :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3ea38d1
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..3746d32
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..049d376
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..291133a
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..131747d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy-event.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="Regress.FooSubInterface" group="property"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2995ee8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-destroy_event.page
@@ -0,0 +1,34 @@
+<?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 type="guide" xref="Regress.FooSubInterface" group="vfunc"/>
+
+  </info>
+  <title>Regress.FooSubInterface::destroy_event</title>
+  
+<synopsis><code mime="text/x-csrc">
+void destroy_event (RegressFooSubInterface* self);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>self :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..aa72dd1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_bar.page
@@ -0,0 +1,34 @@
+<?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 type="guide" xref="Regress.FooSubInterface" group="vfunc"/>
+
+  </info>
+  <title>Regress.FooSubInterface::do_bar</title>
+  
+<synopsis><code mime="text/x-csrc">
+void do_bar (RegressFooSubInterface* self);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>self :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..777e47b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface-do_baz.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.FooSubInterface" group="vfunc"/>
+
+  </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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>self :</p></dt>
+<dd></dd>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f5d7541
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_bar.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooSubInterface" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>self :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..d3fbac4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterface.do_baz.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.FooSubInterface" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>self :</p></dt>
+<dd></dd>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4147580
--- /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 type="guide" xref="index"/>
+    
+  </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.page b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubInterfaceIface.page
new file mode 100644
index 0000000..fc18c91
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..8636405
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.FooSubobject.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.FooSubobject" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..933b39a
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d0e3e88
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..facdc1c
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..06d2e80
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..e6943a0
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d477638
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..1812249
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooXEvent</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANT.page
new file mode 100644
index 0000000..9a0cd16
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.GUINT64_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.GUINT64_CONSTANT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANTA.page b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANTA.page
new file mode 100644
index 0000000..4faf765
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.GUINT64_CONSTANTA.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.GUINT64_CONSTANTA"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.GUINT64_CONSTANTA</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.G_GINT64_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.G_GINT64_CONSTANT.page
new file mode 100644
index 0000000..b4a66f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.G_GINT64_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.G_GINT64_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.G_GINT64_CONSTANT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.INT_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.INT_CONSTANT.page
new file mode 100644
index 0000000..e4df9a1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.INT_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.INT_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.INT_CONSTANT</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 0000000..e285bc2
--- /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 type="guide" xref="index"/>
+    
+  </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.LONG_STRING_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.LONG_STRING_CONSTANT.page
new file mode 100644
index 0000000..3c0409a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.LONG_STRING_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.LONG_STRING_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.LONG_STRING_CONSTANT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..f2e64f0
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.LikeGnomeKeyringPasswordSchema</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.MAXUINT64.page b/tests/scanner/Regress-1.0-C-expected/Regress.MAXUINT64.page
new file mode 100644
index 0000000..be1afd1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.MAXUINT64.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.MAXUINT64"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.MAXUINT64</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.MININT64.page b/tests/scanner/Regress-1.0-C-expected/Regress.MININT64.page
new file mode 100644
index 0000000..35c3e58
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.MININT64.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.MININT64"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.MININT64</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.Mixed_Case_Constant.page b/tests/scanner/Regress-1.0-C-expected/Regress.Mixed_Case_Constant.page
new file mode 100644
index 0000000..5ea8d9b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.Mixed_Case_Constant.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.Mixed_Case_Constant"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.Mixed_Case_Constant</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.NEGATIVE_INT_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.NEGATIVE_INT_CONSTANT.page
new file mode 100644
index 0000000..576c690
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.NEGATIVE_INT_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.NEGATIVE_INT_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.NEGATIVE_INT_CONSTANT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..9af00b5
--- /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 type="guide" xref="index"/>
+    
+  </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.STRING_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.STRING_CONSTANT.page
new file mode 100644
index 0000000..945ba98
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.STRING_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.STRING_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.STRING_CONSTANT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..2c6993d
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..2848aa3
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.TestABCError</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..5bd06bb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.copy.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestBoxed" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..073b44b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.equals.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestBoxed" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>other :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ce4f17b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.TestBoxed" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7d4292a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor1.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestBoxed" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>i :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5ec33cc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor2.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestBoxed" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>i :</p></dt>
+<dd></dd>
+<dt><p>j :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..56b516e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxed.new_alternative_constructor3.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestBoxed" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>s :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..090ce47
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..9965112
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.copy.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestBoxedB" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5266692
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedB.new.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestBoxedB" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>some_int8 :</p></dt>
+<dd></dd>
+<dt><p>some_long :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..99160c6
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..52ed348
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedC.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.TestBoxedC" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..9a86486
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..fd21b48
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.copy.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestBoxedD" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c98b5f7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.free.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestBoxedD" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..240ad4f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.get_magic.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestBoxedD" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..26ec2bb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestBoxedD.new.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestBoxedD" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>a_string :</p></dt>
+<dd></dd>
+<dt><p>a_int :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8478165
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..9a219e9
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..7ceb2e0
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..3de1fbe
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..1f6f2bd
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..906947c
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..e7397a1
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..f3047cf
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..aa59b41
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..b48602f
--- /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 type="guide" xref="index"/>
+    
+  </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.TestEnumNoGEnum.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestEnumNoGEnum.page
new file mode 100644
index 0000000..575270d
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..2029669
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..6be3dac
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.TestError</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..d545197
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..14316be
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFloating.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.TestFloating" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>A new floating <link xref="Regress.TestFloating"/></p></dd>
+</dl>
+
+  
+  
+</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 0000000..f1d98e7
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..143325f
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..964f691
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..c4b6afa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.ref.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestFundamentalObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>fundamental_object :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>A new <link xref="Regress.TestFundamentalObject"/></p></dd>
+</dl>
+
+  
+  
+</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 0000000..776c6f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalObject.unref.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestFundamentalObject" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>fundamental_object :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..daedb67
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..dfd65ce
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..2b9d965
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..26af86a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestFundamentalSubObject.new.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestFundamentalSubObject" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c8c1f03
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..77dd6bc
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..35caeed
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestInheritDrawable" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>drawable :</p></dt>
+<dd></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..cdd2732
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.do_foo_maybe_throw.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestInheritDrawable" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>drawable :</p></dt>
+<dd></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..11f3600
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_origin.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.TestInheritDrawable" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>drawable :</p></dt>
+<dd></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c3061a9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestInheritDrawable.get_size.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.TestInheritDrawable" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>drawable :</p></dt>
+<dd></dd>
+<dt><p>width :</p></dt>
+<dd></dd>
+<dt><p>height :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..9d50d65
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..059c991
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..06e5eed
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..1f823a2
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..536f049
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..01b4560
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-all.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <title type="link" role="topic">all</title>
+
+  </info>
+  <title>Regress.TestObj::all</title>
+  
+<synopsis><code mime="text/x-csrc">
+void all (void);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ad9d6c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-allow_none_vfunc.page
@@ -0,0 +1,37 @@
+<?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 type="guide" xref="Regress.TestObj" group="vfunc"/>
+
+  </info>
+  <title>Regress.TestObj::allow_none_vfunc</title>
+  
+<synopsis><code mime="text/x-csrc">
+void allow_none_vfunc (RegressTestObj* obj,
+                       RegressTestObj* two);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>two :</p></dt>
+<dd><p>Another object</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..103b5bc
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..c632b21
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..ecb33c4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-cleanup.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <title type="link" role="topic">cleanup</title>
+
+  </info>
+  <title>Regress.TestObj::cleanup</title>
+  
+<synopsis><code mime="text/x-csrc">
+void cleanup (void);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a80b804
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..ccdfb64
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-first.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <title type="link" role="topic">first</title>
+
+  </info>
+  <title>Regress.TestObj::first</title>
+  
+<synopsis><code mime="text/x-csrc">
+void first (void);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..569b3e8
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..3956ea6
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..7012f4e
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..4a3be63
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..fdca28f
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..38b1f7e
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..17aa89b
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..b17c04d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-matrix.page
@@ -0,0 +1,39 @@
+<?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 type="guide" xref="Regress.TestObj" group="vfunc"/>
+
+  </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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>somestr :</p></dt>
+<dd><p>Meaningless string</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a9356cb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-array-prop.page
@@ -0,0 +1,36 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>arr :</p></dt>
+<dd><p>numbers</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..afe8466
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-foreign-struct.page
@@ -0,0 +1,35 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>cr :</p></dt>
+<dd><p>A cairo context.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2c7e3f9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-hash-prop.page
@@ -0,0 +1,36 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>hash :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6a771a1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-int64-prop.page
@@ -0,0 +1,36 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>i :</p></dt>
+<dd><p>an integer</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..135d052
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-intarray-ret.page
@@ -0,0 +1,35 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>i :</p></dt>
+<dd><p>an integer</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5aee822
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-obj.page
@@ -0,0 +1,36 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A newly created RegressTestObj</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c5fd2dd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-strv.page
@@ -0,0 +1,35 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>strs :</p></dt>
+<dd><p>strings</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..25d6d5e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-sig-with-uint64-prop.page
@@ -0,0 +1,36 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>i :</p></dt>
+<dd><p>an integer</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..561f2da
--- /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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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 0000000..f0df5f3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test-with-static-scope-arg.page
@@ -0,0 +1,35 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2932141
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-test.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="Regress.TestObj" group="property"/>
+    <title type="link" role="topic">test</title>
+
+  </info>
+  <title>Regress.TestObj::test</title>
+  
+<synopsis><code mime="text/x-csrc">
+void test (void);
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5cdc38d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.constructor.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.TestObj" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..b54d35a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.do_matrix.page
@@ -0,0 +1,53 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/></p></dd>
+<dt><p>somestr :</p></dt>
+<dd><p>Meaningless string</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..677f1fc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_foreign_struct.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2dc8a1b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_int64.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..9d598f9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_obj.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a3a89c1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.emit_sig_with_uint64.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..28fc691
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.forced_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2121ada
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7ea1766
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.instance_method_callback.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..1f5ca6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..44f469d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_callback.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="Regress.TestObj" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>notify :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..49f9c1f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.new_from_file.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..bd78434
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.null_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..fc54d98
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..f1e9a13
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.set_bare.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>bare :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f46ec16
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_inout_param.page
@@ -0,0 +1,93 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/>.</p></dd>
+<dt><p>a :</p></dt>
+<dd><p>Parameter.</p></dd>
+<dt><p>out_b :</p></dt>
+<dd><p>Return value.</p></dd>
+<dt><p>c :</p></dt>
+<dd><p>Other parameter.</p></dd>
+<dt><p>inout_d :</p></dt>
+<dd><p>Will be incremented.</p></dd>
+<dt><p>out_sum :</p></dt>
+<dd><p>Return value.</p></dd>
+<dt><p>num1 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>num2 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..77e1de3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_out_param.page
@@ -0,0 +1,93 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/>.</p></dd>
+<dt><p>a :</p></dt>
+<dd><p>Parameter.</p></dd>
+<dt><p>out_b :</p></dt>
+<dd><p>Return value.</p></dd>
+<dt><p>c :</p></dt>
+<dd><p>Other parameter.</p></dd>
+<dt><p>inout_d :</p></dt>
+<dd><p>Will be incremented.</p></dd>
+<dt><p>out_sum :</p></dt>
+<dd><p>Return value.</p></dd>
+<dt><p>num1 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>num2 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..ef5893c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_param.page
@@ -0,0 +1,93 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/>.</p></dd>
+<dt><p>a :</p></dt>
+<dd><p>Parameter.</p></dd>
+<dt><p>out_b :</p></dt>
+<dd><p>Return value.</p></dd>
+<dt><p>c :</p></dt>
+<dd><p>Other parameter.</p></dd>
+<dt><p>inout_d :</p></dt>
+<dd><p>Will be incremented.</p></dd>
+<dt><p>out_sum :</p></dt>
+<dd><p>Return value.</p></dd>
+<dt><p>num1 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>num2 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..a463fe7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val.page
@@ -0,0 +1,93 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>a <link xref="Regress.TestObj"/></p></dd>
+<dt><p>a :</p></dt>
+<dd><p>Parameter.</p></dd>
+<dt><p>out_b :</p></dt>
+<dd><p>A return value.</p></dd>
+<dt><p>c :</p></dt>
+<dd><p>Other parameter.</p></dd>
+<dt><p>inout_d :</p></dt>
+<dd><p>Will be incremented.</p></dd>
+<dt><p>out_sum :</p></dt>
+<dd><p>Return value.</p></dd>
+<dt><p>num1 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>num2 :</p></dt>
+<dd><p>Number.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..5ebe0f1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.skip_return_val_no_out.page
@@ -0,0 +1,52 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>a <link xref="Regress.TestObj"/></p></dd>
+<dt><p>a :</p></dt>
+<dd><p>Parameter.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>TRUE</code> if the call succeeds, <code>FALSE</code> if @error is set.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..c27d88b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..74583ad
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.static_method_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestObj" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2ace5e1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_0.page
@@ -0,0 +1,86 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/></p></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>z :</p></dt>
+<dd></dd>
+<dt><p>foo :</p></dt>
+<dd></dd>
+<dt><p>q :</p></dt>
+<dd></dd>
+<dt><p>m :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..aa31fb3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj.torture_signature_1.page
@@ -0,0 +1,86 @@
+<?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 type="guide" xref="Regress.TestObj" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/></p></dd>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>z :</p></dt>
+<dd></dd>
+<dt><p>foo :</p></dt>
+<dd></dd>
+<dt><p>q :</p></dt>
+<dd></dd>
+<dt><p>m :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..93e56e8
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..1180b98
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.TestOtherError</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..788441a
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..8ce8712
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.TestPrivateStruct</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 0000000..39a3877
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.const_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.TestSimpleBoxedA" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..827e39f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.copy.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestSimpleBoxedA" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>a :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4108bf9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedA.equals.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestSimpleBoxedA" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>a :</p></dt>
+<dd></dd>
+<dt><p>other_a :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..36459d3
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..0846cbe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSimpleBoxedB.copy.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestSimpleBoxedB" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>b :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..e3c9fcb
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..61bafb5
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..61f9430
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.clone.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestStructA" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>a :</p></dt>
+<dd><p>the structure</p></dd>
+<dt><p>a_out :</p></dt>
+<dd><p>the cloned structure</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0093ac8
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..ef54d11
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructA.parse.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestStructA" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>a_out :</p></dt>
+<dd><p>the structure that is to be filled</p></dd>
+<dt><p>string :</p></dt>
+<dd><p>ignored</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4adde2a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructB.clone.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestStructB" group="method"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>b :</p></dt>
+<dd><p>the structure</p></dd>
+<dt><p>b_out :</p></dt>
+<dd><p>the cloned structure</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..55d74f5
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..08e850e
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..37c7b2a
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..b3688e0
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..6f77035
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d75ea66
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..e3fb773
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestStructFixedArray.frob.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestStructFixedArray" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>str :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a18443c
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d32c0de
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.instance_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestSubObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f8ca0d4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.TestSubObj" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f6488d8
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..a34a25c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestSubObj.unset_bare.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestSubObj" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6bbd999
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d815a3f
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d7333b8
--- /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 type="guide" xref="Regress.TestWi8021x" group="property"/>
+    <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 0000000..d54ed68
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.get_testbool.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestWi8021x" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2c47b28
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.new.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="Regress.TestWi8021x" group="constructor"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..9b05318
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..a32a70a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.set_testbool.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="Regress.TestWi8021x" group="method"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd></dd>
+<dt><p>v :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..cabdd48
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestWi8021x.static_method.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.TestWi8021x" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..071d9a6
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.TestWi8021xClass</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.UTF8_CONSTANT.page b/tests/scanner/Regress-1.0-C-expected/Regress.UTF8_CONSTANT.page
new file mode 100644
index 0000000..8f3f532
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.UTF8_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.UTF8_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.UTF8_CONSTANT</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 0000000..bfd52d2
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..5f8b1ff
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.aliased_caller_alloc.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>boxed :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0510282
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_attribute_func.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd><p>A <link xref="Regress.AnnotationObject"/>.</p></dd>
+<dt><p>data :</p></dt>
+<dd><p>Some data.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>The return value.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..337b207
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_custom_destroy.page
@@ -0,0 +1,59 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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 regress_annotations.</p>
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd><p>Destroy notification</p></dd>
+<dt><p>destroy :</p></dt>
+<dd></dd>
+<dt><p>data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6a1c723
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_get_source_file.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>Source file</p></dd>
+</dl>
+
+  
+  
+</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 0000000..4b47160
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_init.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>argc :</p></dt>
+<dd><p>The number of args.</p></dd>
+<dt><p>argv :</p></dt>
+<dd><p>The arguments.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4c485ea
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_invalid_regress_annotation.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>foo :</p></dt>
+<dd><p>some text (e.g. example) or else</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..496fcc5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_ptr_array.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>array :</p></dt>
+<dd><p>the array</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..1a345a5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_array.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>length :</p></dt>
+<dd><p>Number of return values</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>The return value</p></dd>
+</dl>
+
+  
+  
+</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 0000000..968cfe1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_return_filename.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>An annotated filename</p></dd>
+</dl>
+
+  
+  
+</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 0000000..663fd9d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_set_source_file.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>fname :</p></dt>
+<dd><p>Source file</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a4d11d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..520b473
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_array_length.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_properties :</p></dt>
+<dd></dd>
+<dt><p>properties :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..e90fa51
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>The return value</p></dd>
+</dl>
+
+  
+  
+</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 0000000..34293f0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_string_zero_terminated_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>out :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7101371
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_test_parsing_bug630862.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>An object, note the colon:in here</p></dd>
+</dl>
+
+  
+  
+</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 0000000..1607c63
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.annotation_transfer_floating.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>A floating object</p></dd>
+</dl>
+
+  
+  
+</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 0000000..a3a0fb7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c5b4cb6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.atest_error_quark.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f5ce697
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_async_ready_callback.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>cancellable :</p></dt>
+<dd></dd>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6158bf2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_destroy_notify_callback.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>data :</p></dt>
+<dd></dd>
+<dt><p>destroy :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c3ed369
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_init.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..07c9c6d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_method_external_references.page
@@ -0,0 +1,65 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>object :</p></dt>
+<dd></dd>
+<dt><p>e :</p></dt>
+<dd></dd>
+<dt><p>f :</p></dt>
+<dd></dd>
+<dt><p>s :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..d65bfa1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_not_a_constructor_new.page
@@ -0,0 +1,39 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8fb9d10
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_skip_me.page
@@ -0,0 +1,45 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>fs :</p></dt>
+<dd><p>a <link xref="Regress.FooSkippable"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0ed4e2f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>args :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3755024
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_some_variant_ptr.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>args :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..cf127cb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_array.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..79c50cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_param.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>param :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..cb286e6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_char_retval.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..be33c5a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_param.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>param :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..783b248
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_const_struct_retval.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..83881f6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>array :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c3c45b1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_string_array_with_g.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>array :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..b3ded91
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_qualifier.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>unsigned_param :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0610002
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_unsigned_type.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>unsigned_param :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..9024a14
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>i :</p></dt>
+<dd></dd>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f89f547
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback2.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..e34cfc7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.foo_test_varargs_callback3.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>callback2 :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ebc6a7f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.func_obj_null_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>obj :</p></dt>
+<dd><p>A <link xref="Regress.TestObj"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..407cb26
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.global_get_flags_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>v :</p></dt>
+<dd><p>A flags value</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..802f00f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.has_parameter_named_attrs.page
@@ -0,0 +1,52 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>foo :</p></dt>
+<dd><p>some int</p></dd>
+<dt><p>attributes :</p></dt>
+<dd><p>list of attributes</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..d769d5b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.introspectable_via_alias.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..263f7c8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.not_introspectable_via_alias.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>ok :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..78ba1bc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.random_function_with_skipped_structure.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>foo :</p></dt>
+<dd></dd>
+<dt><p>v :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7ced795
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.set_abort_on_error.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>abort_on_error :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c7a2b4a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..016a967
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_out_objects.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>objs :</p></dt>
+<dd><p>An array of <link xref="Regress.TestObj"/></p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7b75672
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>ints :</p></dt>
+<dd><p>a list of 5 integers</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>the sum of the items in <code>ints</code></p></dd>
+</dl>
+
+  
+  
+</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 0000000..8d8dda5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>ints :</p></dt>
+<dd><p>a list of 5 integers ranging from 0 to 4</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6a67355
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_fixed_size_int_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>a list of 5 integers ranging from 0 to 4</p></dd>
+</dl>
+
+  
+  
+</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 0000000..087ea63
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint16_in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_ints :</p></dt>
+<dd></dd>
+<dt><p>ints :</p></dt>
+<dd><p>List of ints</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..88ef582
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint32_in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_ints :</p></dt>
+<dd></dd>
+<dt><p>ints :</p></dt>
+<dd><p>List of ints</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0dd47fc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint64_in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_ints :</p></dt>
+<dd></dd>
+<dt><p>ints :</p></dt>
+<dd><p>List of ints</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..32a5cb7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gint8_in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_ints :</p></dt>
+<dd></dd>
+<dt><p>ints :</p></dt>
+<dd><p>List of ints</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..178ccda
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_gtype_in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_types :</p></dt>
+<dd></dd>
+<dt><p>types :</p></dt>
+<dd><p>List of types</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>string representation of provided types</p></dd>
+</dl>
+
+  
+  
+</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 0000000..37413f2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_full_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>len :</p></dt>
+<dd><p>length of the returned array.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>a new array of integers.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..f9ba58c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_ints :</p></dt>
+<dd></dd>
+<dt><p>ints :</p></dt>
+<dd><p>List of ints</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..b970df7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_inout.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_ints :</p></dt>
+<dd><p>the length of <code>ints</code></p></dd>
+<dt><p>ints :</p></dt>
+<dd><p>a list of integers whose items will be increased by 1, except the first that will be dropped</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..e341b8c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_none_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>len :</p></dt>
+<dd><p>length of the returned array.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>a static array of integers.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..9afb1ff
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_in.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>arr :</p></dt>
+<dd></dd>
+<dt><p>len :</p></dt>
+<dd><p>length</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..45ef84f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_null_out.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>arr :</p></dt>
+<dd></dd>
+<dt><p>len :</p></dt>
+<dd><p>length</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..be18643
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_array_int_out.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>n_ints :</p></dt>
+<dd><p>the length of <code>ints</code></p></dd>
+<dt><p>ints :</p></dt>
+<dd><p>a list of 5 integers, from 0 to 4 in consecutive order</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6e3421a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_async_ready_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..aada509
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2c84d1c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_false.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7d1a949
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_boolean_true.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..dfbc29a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_full_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6310579
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_context_none_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>context :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4ea5516
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>surface :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0b15ce0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_full_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a1903ce
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>surface :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..e99ecb4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_cairo_surface_none_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..99a668e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f2891ed
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_async.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6a36513
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify.page
@@ -0,0 +1,59 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>notify :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..148fc31
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_destroy_notify_no_user_data.page
@@ -0,0 +1,52 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>notify :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a666a33
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_async.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0a4ce3d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_thaw_notifications.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>Sum of the return values of the invoked callbacks.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..f577a5e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_callback_user_data.page
@@ -0,0 +1,52 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..41b5d50
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>closure :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..971f21e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_one_arg.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>closure :</p></dt>
+<dd></dd>
+<dt><p>arg :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..1f5a56a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_closure_variant.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>closure :</p></dt>
+<dd><p>GClosure which takes one GVariant and returns a GVariant</p></dd>
+<dt><p>arg :</p></dt>
+<dd><p>a GVariant passed as argument to <code>closure</code></p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>the return value of <code>closure</code></p></dd>
+</dl>
+
+  
+  
+</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 0000000..e606feb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_date_in_gvalue.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..1fb55be
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_def_error_quark.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..7384ecd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_double.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..e490ac3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_filename_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>list of strings</p></dd>
+</dl>
+
+  
+  
+</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 0000000..f50930d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_float.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2363975
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_container_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a433bfa
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_garray_full_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4aa5615
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gerror_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..fd29122
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_container_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4ad5cb5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_everything_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8708d8d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>hash :</p></dt>
+<dd><p>the hash table returned by <link xref="Regress.test_ghash_gvalue_return"/>.</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..9868259
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_gvalue_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8af4cbd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8612e66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nested_everything_return2.page
@@ -0,0 +1,39 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8a21bbf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..83f5c6e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_in2.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a0af756
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8a5c7b3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_nothing_return2.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..fa7c04e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..666fdf0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>out :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..d5c9154
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ghash_null_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..053fbd8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_container_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..05efc25
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_everything_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..cab2d96
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ec30658
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_in2.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a5d436f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..1af8f86
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_nothing_return2.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c691426
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..11ae56f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_glist_null_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>out_list :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3f23814
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_container_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8f9319c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_everything_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..22b3230
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f4f3bfc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_in2.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8c68039
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..38abfcf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_nothing_return2.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..00bd670
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..efa4df6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gslist_null_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>out_list :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c99a531
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gtype.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f884014
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_as.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>New variant</p></dd>
+</dl>
+
+  
+  
+</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 0000000..c39a003
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_asv.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>New variant</p></dd>
+</dl>
+
+  
+  
+</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 0000000..58f1b97
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_i.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>New variant</p></dd>
+</dl>
+
+  
+  
+</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 0000000..051a307
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_s.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>New variant</p></dd>
+</dl>
+
+  
+  
+</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 0000000..f1e8f7b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_gvariant_v.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>New variant</p></dd>
+</dl>
+
+  
+  
+</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 0000000..abbdbbb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_hash_table_callback.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>data :</p></dt>
+<dd><p>GHashTable that gets passed to callback</p></dd>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2e271a5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..6ee0059
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int16.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..58ef340
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int32.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..bfe12d6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int64.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0b4b43a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int8.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ae8ecfc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_out_utf8.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>length :</p></dt>
+<dd></dd>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..4fb211e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_int_value_arg.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>v :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..638f066
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_long.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..b0b16c5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..5dc68cb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_multi_double_args.page
@@ -0,0 +1,58 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>one :</p></dt>
+<dd></dd>
+<dt><p>two :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..439f66a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..30d6e07
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_nested_parameter.page
@@ -0,0 +1,69 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>a :</p></dt>
+<dd><p>An integer</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..995b82b
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_null_gerror_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0bb38c9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_owned_gerror_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..135cd70
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_short.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..8e84405
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_simple_callback.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..cf24fbe
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_size.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..9764aa9
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_skip_unannotated_callback.page
@@ -0,0 +1,45 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>callback :</p></dt>
+<dd><p>No annotation here</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..232f21d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ssize.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..c1d6ce4
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>arr :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0609b66
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_in_gvalue.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..dba053f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..01e1c37
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_c.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..71b89c3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_out_container.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..aea2dac
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_strv_outarg.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>retp :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2c31dcc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_timet.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..bcdbd35
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_0.page
@@ -0,0 +1,79 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>z :</p></dt>
+<dd></dd>
+<dt><p>foo :</p></dt>
+<dd></dd>
+<dt><p>q :</p></dt>
+<dd></dd>
+<dt><p>m :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..af54f3f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_1.page
@@ -0,0 +1,79 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>z :</p></dt>
+<dd></dd>
+<dt><p>foo :</p></dt>
+<dd></dd>
+<dt><p>q :</p></dt>
+<dd></dd>
+<dt><p>m :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..145c44f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_torture_signature_2.page
@@ -0,0 +1,100 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>callback :</p></dt>
+<dd></dd>
+<dt><p>user_data :</p></dt>
+<dd></dd>
+<dt><p>notify :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>z :</p></dt>
+<dd></dd>
+<dt><p>foo :</p></dt>
+<dd></dd>
+<dt><p>q :</p></dt>
+<dd></dd>
+<dt><p>m :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..aeed54f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..280a15f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint16.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..dd0ef86
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint32.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..b4a8d64
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint64.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f482eb7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_uint8.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..479ebe0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ulong.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ecafbe6
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_unichar.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..e5d5cb2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_unsigned_enum_param.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>e :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0e04b87
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_ushort.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..b4c5090
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..77ef082
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_const_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>UTF-8 string</p></dd>
+</dl>
+
+  
+  
+</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 0000000..259e232
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_inout.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>inout :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3b1ae5d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_nonconst_return.page
@@ -0,0 +1,38 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>UTF-8 string</p></dd>
+</dl>
+
+  
+  
+</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 0000000..a864ae1
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_in.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>in :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ffd3147
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_null_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>char_out :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..d2743ea
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>out :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f8356af
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_nonconst_return.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>out :</p></dt>
+<dd><p>a copy of "second"</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>a copy of "first"</p></dd>
+</dl>
+
+  
+  
+</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 0000000..87ce92f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_utf8_out_out.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>out0 :</p></dt>
+<dd><p>a copy of "first"</p></dd>
+<dt><p>out1 :</p></dt>
+<dd><p>a copy of "second"</p></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..ec758d8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_get_fundamental_object.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>value :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..bcdbed5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_return.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>i :</p></dt>
+<dd><p>an int</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>the int wrapped in a GValue.</p></dd>
+</dl>
+
+  
+  
+</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 0000000..101443e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.test_value_set_fundamental_object.page
@@ -0,0 +1,51 @@
+<?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 type="guide" xref="index" group="function"/>
+    <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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>value :</p></dt>
+<dd></dd>
+<dt><p>fundamental_object :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..d426f0a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-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 type="guide" xref="index" group="function"/>
+    <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>
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</page>
diff --git a/tests/doctool/DocExamples-1.0-C-expected/index.page b/tests/scanner/Regress-1.0-C-expected/index.page
similarity index 100%
rename from tests/doctool/DocExamples-1.0-C-expected/index.page
rename to tests/scanner/Regress-1.0-C-expected/index.page
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
new file mode 100644
index 0000000..ebe71b0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_DEFINE.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.ANNOTATION_CALCULATED_DEFINE"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.ANNOTATION_CALCULATED_DEFINE</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
new file mode 100644
index 0000000..4b38cc0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE.page
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<page id="Regress.ANNOTATION_CALCULATED_LARGE"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.ANNOTATION_CALCULATED_LARGE</title>
+  
+  
+  
+    <p>Constant to define a calculated large value</p>
+  
+  
+    <p>Since 1.4</p>
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
new file mode 100644
index 0000000..d6c8e76
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ANNOTATION_CALCULATED_LARGE_DIV.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.ANNOTATION_CALCULATED_LARGE_DIV"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.ANNOTATION_CALCULATED_LARGE_DIV</title>
+  
+  
+  
+    <p>Constant to define a calculated large value</p>
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..dff139f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.ATestError.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.ATestError</title>
+  
+  
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>ATestError.CODE0 :</p></dt>
+<dd></dd>
+<dt><p>ATestError.CODE1 :</p></dt>
+<dd></dd>
+<dt><p>ATestError.CODE2 :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2229245
--- /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 type="guide" xref="index"/>
+    
+  </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.AnnotationBitfield.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationBitfield.page
new file mode 100644
index 0000000..8cbc832
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..30f950c
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.AnnotationCallback</title>
+  
+  
+  
+    <p>This is a callback.</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 0000000..506ceff
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..3f9409e
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..b2dc717
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..73f9cde
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject-attribute-signal.page
@@ -0,0 +1,43 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="signal"/>
+    <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, user_param1, ...):String;
+</code></synopsis>
+
+  
+    <p>This signal tests a signal with attributes.</p>
+  
+  
+  
+  
+<dl>
+<dt><p>annotation_object :</p></dt>
+<dd><p>instance of Regress.AnnotationObject that is emitting the signal</p></dd>
+<dt><p>arg1 :</p></dt>
+<dd><p>a value</p></dd>
+<dt><p>arg2 :</p></dt>
+<dd><p>another value</p></dd>
+<dt><p>user_param1 :</p></dt>
+<dd><p>first user parameter (if any) specified with the connect() method</p></dd>
+<dt><p>... :</p></dt>
+<dd><p>additional user parameters (if any)</p></dd>
+<dt><p>Returns :</p></dt>
+<dd>gchar* <p>the return value</p></dd>
+</dl>
+
+  
+  
+</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 0000000..178ce23
--- /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 type="guide" xref="Regress.AnnotationObject" group="signal"/>
+    <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, user_param1, ...):void;
+</code></synopsis>
+
+  
+    <p>This signal tests an empty document argument (<code>arg1</code>)</p>
+  
+  
+  
+  
+<dl>
+<dt><p>annotation_object :</p></dt>
+<dd><p>instance of Regress.AnnotationObject that is emitting the signal</p></dd>
+<dt><p>arg1 :</p></dt>
+<dd></dd>
+<dt><p>user_param1 :</p></dt>
+<dd><p>first user parameter (if any) specified with the connect() method</p></dd>
+<dt><p>... :</p></dt>
+<dd><p>additional user parameters (if any)</p></dd>
+</dl>
+
+  
+  
+</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 0000000..f526ea9
--- /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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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 0000000..35d0edd
--- /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 type="guide" xref="Regress.AnnotationObject" group="signal"/>
+    <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:<list>, user_param1, ...):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>
+  
+  
+  
+  
+<dl>
+<dt><p>annotation_object :</p></dt>
+<dd><p>instance of Regress.AnnotationObject that is emitting the signal</p></dd>
+<dt><p>list :</p></dt>
+<dd><p>a list of strings</p></dd>
+<dt><p>user_param1 :</p></dt>
+<dd><p>first user parameter (if any) specified with the connect() method</p></dd>
+<dt><p>... :</p></dt>
+<dd><p>additional user parameters (if any)</p></dd>
+</dl>
+
+  
+  
+</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 0000000..b570a59
--- /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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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 0000000..d8e9f6a
--- /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 type="guide" xref="Regress.AnnotationObject" group="signal"/>
+    <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, user_param1, ...):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>
+  
+  
+<dl>
+<dt><p>annotation_object :</p></dt>
+<dd><p>instance of Regress.AnnotationObject that is emitting the signal</p></dd>
+<dt><p>string :</p></dt>
+<dd><p>a string</p></dd>
+<dt><p>user_param1 :</p></dt>
+<dd><p>first user parameter (if any) specified with the connect() method</p></dd>
+<dt><p>... :</p></dt>
+<dd><p>additional user parameters (if any)</p></dd>
+</dl>
+
+  
+  
+</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 0000000..e52a728
--- /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 type="guide" xref="Regress.AnnotationObject" group="property"/>
+    <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 regress_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 0000000..c54f0c3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.allow_none.page
@@ -0,0 +1,46 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>somearg :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd><p><code>null</code> always</p></dd>
+</dl>
+
+  
+  
+</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 0000000..a11fd19
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleeowns.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>Number</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_calleeowns</api:name>
+    </api:function>
+
+  </info>
+  <title>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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..df95d10
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.calleesowns.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>Number</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_calleesowns</api:name>
+    </api:function>
+
+  </info>
+  <title>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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..5f93013
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>nums :</p></dt>
+<dd><p>Sequence of numbers</p></dd>
+</dl>
+
+  
+  
+</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 0000000..24e2a80
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_n.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>nums :</p></dt>
+<dd><p>Sequence of numbers that are zero-terminated</p></dd>
+</dl>
+
+  
+  
+</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 0000000..02c501d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.compute_sum_nz.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>nums :</p></dt>
+<dd><p>Sequence of numbers that are zero-terminated</p></dd>
+</dl>
+
+  
+  
+</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 0000000..4b2d104
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.create_object.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>The object</p></dd>
+</dl>
+
+  
+  
+</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 0000000..87249cf
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.do_not_use.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p><code>null</code> always</p></dd>
+</dl>
+
+  
+  
+</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 0000000..ba06aea
--- /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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_extra_annos</api:name>
+    </api:function>
+
+  </info>
+  <title>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+</dl>
+
+  
+  
+</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 0000000..965297e
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.foreach.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>func :</p></dt>
+<dd><p>Callback to invoke</p></dd>
+</dl>
+
+  
+  
+</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 0000000..dbff0ad
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_hash.page
@@ -0,0 +1,41 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>hash table</p></dd>
+</dl>
+
+  
+  
+</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 0000000..4db2b5f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_objects.page
@@ -0,0 +1,42 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>&lt;list&gt;</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_get_objects</api:name>
+    </api:function>
+
+  </info>
+  <title>AnnotationObject.prototype.get_objects</title>
+  
+<synopsis><code mime="text/x-gjs">
+function get_objects():<list> {
+    // 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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>list of objects</p></dd>
+</dl>
+
+  
+  
+</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 0000000..f12734f
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.get_strings.page
@@ -0,0 +1,41 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>&lt;list&gt;</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_get_strings</api:name>
+    </api:function>
+
+  </info>
+  <title>AnnotationObject.prototype.get_strings</title>
+  
+<synopsis><code mime="text/x-gjs">
+function get_strings():<list> {
+    // 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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>list of strings</p></dd>
+</dl>
+
+  
+  
+</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 0000000..a59a446
--- /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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_hidden_self</api:name>
+    </api:function>
+
+  </info>
+  <title>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+</dl>
+
+  
+  
+</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 0000000..f9c8cae
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.in.page
@@ -0,0 +1,46 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>inarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..d2064f2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout.page
@@ -0,0 +1,46 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>inoutarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..a79e4d0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout2.page
@@ -0,0 +1,46 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>inoutarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..d421cbb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.inout3.page
@@ -0,0 +1,46 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>inoutarg :</p></dt>
+<dd><p>This is an argument test</p></dd>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..93015f3
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.method.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>Number</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_method</api:name>
+    </api:function>
+
+  </info>
+  <title>AnnotationObject.prototype.method</title>
+  
+<synopsis><code mime="text/x-gjs">
+function method():Number {
+    // Gjs wrapper for regress_annotation_object_method()
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..94f5173
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.notrans.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>GObject.Object</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_notrans</api:name>
+    </api:function>
+
+  </info>
+  <title>AnnotationObject.prototype.notrans</title>
+  
+<synopsis><code mime="text/x-gjs">
+function notrans():GObject.Object {
+    // Gjs wrapper for regress_annotation_object_notrans()
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>An object, not referenced</p></dd>
+</dl>
+
+  
+  
+</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 0000000..227eacc
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.out.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>Number</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_out</api:name>
+    </api:function>
+
+  </info>
+  <title>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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>an int</p></dd>
+</dl>
+
+  
+  
+</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 0000000..8bcae31
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-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 type="guide" xref="index"/>
+    
+  </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 regress_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 0000000..6940eca
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.parse_args.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>argv :</p></dt>
+<dd><p>Argument vector</p></dd>
+</dl>
+
+  
+  
+</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 0000000..6912c99
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>data :</p></dt>
+<dd><p>The data</p></dd>
+</dl>
+
+  
+  
+</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 0000000..68185d5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data2.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>data :</p></dt>
+<dd><p>The data</p></dd>
+</dl>
+
+  
+  
+</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 0000000..62dcf83
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.set_data3.page
@@ -0,0 +1,45 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+  
+  
+  
+  
+<dl>
+<dt><p>data :</p></dt>
+<dd><p>The data</p></dd>
+</dl>
+
+  
+  
+</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 0000000..91f1252
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.string_out.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>Boolean</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_string_out</api:name>
+    </api:function>
+
+  </info>
+  <title>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>
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd><p>some boolean</p></dd>
+</dl>
+
+  
+  
+</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 0000000..1d61e1d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.use_buffer.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>bytes :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch.page
new file mode 100644
index 0000000..085bf0a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch.page
@@ -0,0 +1,45 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>regress_annotation_object_watch</api:name>
+      <api:arg>
+        <api:type>Regress.AnnotationForeachFunc</api:type>
+        <api:name>func</api:name>
+      </api:arg>
+    </api:function>
+
+  </info>
+  <title>AnnotationObject.prototype.watch</title>
+  
+<synopsis><code mime="text/x-gjs">
+function watch(func:Regress.AnnotationForeachFunc):void {
+    // Gjs wrapper for regress_annotation_object_watch()
+}
+</code></synopsis>
+
+  
+    <p>This is here just for the sake of being overriden by its
+<link xref="Regress.AnnotationObject.watch_full"/>.</p>
+  
+  
+  
+  
+<dl>
+<dt><p>func :</p></dt>
+<dd><p>The callback</p></dd>
+</dl>
+
+  
+  
+</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 0000000..3fa6deb
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.watch_full.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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" regress_annotation.</p>
+  
+  
+  
+  
+<dl>
+<dt><p>func :</p></dt>
+<dd><p>The callback</p></dd>
+</dl>
+
+  
+  
+</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 0000000..5b0e46a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnnotationObject.with_voidp.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.AnnotationObject" group="method"/>
+    <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>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>data :</p></dt>
+<dd><p>Opaque pointer handle</p></dd>
+</dl>
+
+  
+  
+</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 0000000..edc9fd1
--- /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 type="guide" xref="index"/>
+    
+  </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.DOUBLE_CONSTANT.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.DOUBLE_CONSTANT.page
new file mode 100644
index 0000000..b1aa32d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.DOUBLE_CONSTANT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.DOUBLE_CONSTANT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.DOUBLE_CONSTANT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
new file mode 100644
index 0000000..357665d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_DEFINE_SHOULD_BE_EXPOSED.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_DEFINE_SHOULD_BE_EXPOSED"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FOO_DEFINE_SHOULD_BE_EXPOSED</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_PIE_IS_TASTY.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_PIE_IS_TASTY.page
new file mode 100644
index 0000000..7dc308a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_PIE_IS_TASTY.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_PIE_IS_TASTY"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FOO_PIE_IS_TASTY</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_SUCCESS_INT.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_SUCCESS_INT.page
new file mode 100644
index 0000000..f20f426
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FOO_SUCCESS_INT.page
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<page id="Regress.FOO_SUCCESS_INT"
+      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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FOO_SUCCESS_INT</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..34f1ed7
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooASingle.page
@@ -0,0 +1,29 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooASingle</title>
+  
+  
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>FooASingle.FOO_SOME_SINGLE_ENUM :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2dafde0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooAddressType.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooAddressType</title>
+  
+  
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>FooAddressType.INVALID :</p></dt>
+<dd></dd>
+<dt><p>FooAddressType.IPV4 :</p></dt>
+<dd></dd>
+<dt><p>FooAddressType.IPV6 :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..f46e101
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.add.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooBRect" group="method"/>
+    <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>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>b2 :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..66972b0
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooBRect.new.page
@@ -0,0 +1,52 @@
+<?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 type="guide" xref="Regress.FooBRect" group="constructor"/>
+    <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>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+<dt><p>y :</p></dt>
+<dd></dd>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..57e2652
--- /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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooBRect</title>
+  
+  
+  
+    
+  
+  
+  
+  
+  
+  
+  
+</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 0000000..63831e7
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..447c991
--- /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 type="guide" xref="Regress.FooBoxed" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>regress_foo_boxed_method</api:name>
+    </api:function>
+
+  </info>
+  <title>FooBoxed.prototype.method</title>
+  
+<synopsis><code mime="text/x-gjs">
+function method():void {
+    // Gjs wrapper for regress_foo_boxed_method()
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+</dl>
+
+  
+  
+</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 0000000..edad8cd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-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 type="guide" xref="Regress.FooBoxed" group="constructor"/>
+    <api:function>
+      <api:returns>
+        <api:type>Regress.FooBoxed</api:type>
+      </api:returns>
+      <api:name>regress_foo_boxed_new</api:name>
+    </api:function>
+
+  </info>
+  <title>FooBoxed.new</title>
+  
+<synopsis><code mime="text/x-gjs">
+function new():Regress.FooBoxed {
+    // Gjs wrapper for regress_foo_boxed_new()
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..962300f
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..a3b5101
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-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 type="guide" xref="index"/>
+    
+  </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/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 0000000..2a25e79
--- /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 type="guide" xref="Regress.FooBuffer" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>regress_foo_buffer_some_method</api:name>
+    </api:function>
+
+  </info>
+  <title>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+</dl>
+
+  
+  
+</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 0000000..241296e
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..bbcd055
--- /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 type="guide" xref="Regress.FooDBusData" group="method"/>
+    <api:function>
+      <api:returns>
+        <api:type>void</api:type>
+      </api:returns>
+      <api:name>regress_foo_dbus_data_method</api:name>
+    </api:function>
+
+  </info>
+  <title>FooDBusData.prototype.method</title>
+  
+<synopsis><code mime="text/x-gjs">
+function method():void {
+    // Gjs wrapper for regress_foo_dbus_data_method()
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+</dl>
+
+  
+  
+</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 0000000..08ad0d2
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..a46070d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumFullname.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooEnumFullname</title>
+  
+  
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>FooEnumFullname.ONE :</p></dt>
+<dd></dd>
+<dt><p>FooEnumFullname.TWO :</p></dt>
+<dd></dd>
+<dt><p>FooEnumFullname.THREE :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..2313192
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumNoType.page
@@ -0,0 +1,35 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooEnumNoType</title>
+  
+  
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>FooEnumNoType.UN :</p></dt>
+<dd></dd>
+<dt><p>FooEnumNoType.DEUX :</p></dt>
+<dd></dd>
+<dt><p>FooEnumNoType.TROIS :</p></dt>
+<dd></dd>
+<dt><p>FooEnumNoType.NEUF :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..37510f5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooEnumType.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooEnumType</title>
+  
+  
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>FooEnumType.ALPHA :</p></dt>
+<dd></dd>
+<dt><p>FooEnumType.BETA :</p></dt>
+<dd></dd>
+<dt><p>FooEnumType.DELTA :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0877e7c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooError.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooError</title>
+  
+  
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>FooError.GOOD :</p></dt>
+<dd></dd>
+<dt><p>FooError.BAD :</p></dt>
+<dd></dd>
+<dt><p>FooError.UGLY :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..0b77bcb
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..45cd3a1
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..7e9ca7d
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..d4db757
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..e4f3ede
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..9a3af8c
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooForeignStruct.copy.page
@@ -0,0 +1,40 @@
+<?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 type="guide" xref="Regress.FooForeignStruct" group="method"/>
+    <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>FooForeignStruct.prototype.copy</title>
+  
+<synopsis><code mime="text/x-gjs">
+function copy():Regress.FooForeignStruct {
+    // Gjs wrapper for regress_foo_foreign_struct_copy()
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..3f9478a
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-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 type="guide" xref="Regress.FooForeignStruct" group="constructor"/>
+    <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>FooForeignStruct.new</title>
+  
+<synopsis><code mime="text/x-gjs">
+function new():Regress.FooForeignStruct {
+    // Gjs wrapper for regress_foo_foreign_struct_new()
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>Returns :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..06c5793
--- /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 type="guide" xref="index"/>
+    
+  </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 0000000..0148788
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface-do_regress_foo.page
@@ -0,0 +1,33 @@
+<?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 type="guide" xref="index"/>
+    
+  </info>
+  <title>Regress.FooInterface::do_regress_foo</title>
+  
+<synopsis><code mime="text/x-gjs">
+function vfunc_do_regress_foo(x:Number):void {
+}
+</code></synopsis>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..96cbe49
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.FooInterface.do_regress_foo.page
@@ -0,0 +1,44 @@
+<?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 type="guide" xref="Regress.FooInterface" group="method"/>
+    <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>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>
+
+  
+    
+  
+  
+  
+  
+<dl>
+<dt><p>x :</p></dt>
+<dd></dd>
+</dl>
+
+  
+  
+</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 0000000..a195bb8
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-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 type="guide" xref="index"/>
+    
+  </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/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" sty