f45ccc9143
The module exports a `addObjectSignalMethods()` method that extends the provided prototype with `connectObject()` and `disconnectObject()` methods. In its simplest form, `connectObject()` looks like the regular `connect()` method, except for an additional parameter: ```js this._button.connectObject('clicked', () => this._onButtonClicked(), this); ``` The additional object can be used to disconnect all handlers on the instance that were connected with that object, similar to `g_signal_handlers_disconnect_by_data()` (which cannot be used from introspection). For objects that are subclasses of Clutter.Actor, that will happen automatically when the actor is destroyed, similar to `g_signal_connect_object()`. Finally, `connectObject()` allows to conveniently connect multiple signals at once, similar to `g_object_connect()`: ```js this._toggleButton.connect( 'clicked', () => this._onClicked(), 'notify::checked', () => this._onChecked(), this); ``` Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1953>
30 lines
655 B
Meson
30 lines
655 B
Meson
testconf = configuration_data()
|
|
testconf.set('MUTTER_TYPELIB_DIR', mutter_typelibdir)
|
|
testconf.set('srcdir', meson.current_source_dir())
|
|
run_test = configure_file(
|
|
input: 'run-test.sh.in',
|
|
output: 'run-test.sh',
|
|
configuration: testconf
|
|
)
|
|
|
|
testenv = environment()
|
|
testenv.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.project_build_root(), 'data'))
|
|
|
|
tests = [
|
|
'highlighter',
|
|
'insertSorted',
|
|
'jsParse',
|
|
'markup',
|
|
'params',
|
|
'signalTracker',
|
|
'url',
|
|
'versionCompare',
|
|
]
|
|
|
|
foreach test : tests
|
|
test(test, run_test,
|
|
args: 'unit/@0@.js'.format(test),
|
|
env: testenv,
|
|
workdir: meson.current_source_dir())
|
|
endforeach
|