mutter/tests/conform
Emmanuele Bassi e470fd7d82 model: Make sure to emit ::row-changed
Currently, only clutter_model_iter_set_valist() is in charge of emitting
the ClutterModel::row-changed signal. Both the set() and the
set_valist() functions can be called with multiple columns, so we
coalesce the signal emission at the end of the set_valist(), to have a
single ::row-changed emission per change.

The clutter_model_iter_set_value() function is just a thin wrapper
around the set_value() virtual function, but since it's called
internally we cannot add the signal emission there as well, as we'd
break the signal coalescing.

For this reason, we need some code refactoring inside the various set()
variants of ClutterModelIter:

  - we only use the internal va_arg variant for both the set() and
    set_valist() public functions, to avoid multiple type checks;
  - the internal set_valist() calls an internal set_value() method
    which calls the virtual function from the iterator vtable;
  - a new internal emit_row_changed() method is needed to retrieve
    the ClutterModel from the iterator, and emit the signal;

Now, all three variants of the value setter will call an internal
ClutterModelIter::set_value() wrapper, and emit the ::row-changed
signal.

To check that the intended behaviour has been implemented, and it's not
going to be broken, the test suite has grown a new unit which populates
a model and changes a random row.
2011-07-28 15:00:18 +01:00
..
ADDING_NEW_TESTS conform: Implement TEST_CONFORM_TODO() correctly 2010-10-12 17:11:52 +01:00
Makefile.am tests: initial support for cally-text conform tests 2011-07-26 15:30:09 +02:00
run-tests.sh Restore the report on the conformance test suite 2010-07-07 14:52:19 +01:00
test-actor-destroy.c conform: Start cleaning up the conformance test suite 2010-10-12 17:42:18 +01:00
test-actor-invariants.c Remove usage of clutter_group_add() 2011-06-16 17:07:32 +01:00
test-actor-size.c conform: Start cleaning up the conformance test suite 2010-10-12 17:42:18 +01:00
test-anchors.c conform: Start cleaning up the conformance test suite 2010-10-12 17:42:18 +01:00
test-animator.c conformance: Use g_assert_no_error() if available 2010-03-02 19:10:07 +00:00
test-behaviours.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
test-binding-pool.c keysyms: Update the macros to CLUTTER_KEY_* 2010-09-10 17:54:52 +01:00
test-cally-text.c tests: initial support for cally-text conform tests 2011-07-26 15:30:09 +02:00
test-clutter-cairo-texture.c cairo-texture: Deprecate create()/create_region() 2011-07-26 12:53:22 +01:00
test-clutter-rectangle.c Disable single header inclusion for GLib 2009-06-15 11:29:37 +01:00
test-clutter-text.c event: Add setters for ClutterEvent members 2011-02-28 14:16:23 +00:00
test-clutter-texture.c [texture] Support picking textures according to their alpha channel 2010-05-28 16:07:17 +01:00
test-clutter-units.c test-clutter-units: Force a known resolution to avoid fuzzyness 2010-09-24 16:21:06 +01:00
test-cogl-atlas-migration.c Add a conformance test for atlas migration 2011-02-24 20:45:30 +00:00
test-cogl-backface-culling.c Replace cogl_color_set_from_* with cogl_color_init_from_* 2010-09-03 16:58:47 +01:00
test-cogl-blend-strings.c test-cogl-blend-strings: Allow single-bit rendering error 2011-05-14 01:12:44 +01:00
test-cogl-depth-test.c test-cogl-depth-test: Update to new Cogl API 2011-05-16 19:01:14 +01:00
test-cogl-fixed.c tests: rename cogl conformance tests so they can be clearly identified 2009-11-27 00:28:39 +00:00
test-cogl-just-vertex-shader.c test-cogl-just-vertex-shader: Update to use the portable cogl_* names 2010-12-13 17:29:15 +00:00
test-cogl-materials.c conform/cogl-materials: Fix a compiler warning 2011-07-25 11:09:20 +01:00
test-cogl-multitexture.c test-cogl-multitexture: Don't test the alpha component 2010-12-13 17:29:14 +00:00
test-cogl-npot-texture.c Make test-cogl-npot-texture a bit more extensive 2010-11-05 18:45:31 +00:00
test-cogl-object.c conform: Adds a test-cogl-object conformance test 2010-06-04 14:44:15 +01:00
test-cogl-offscreen.c cogl: Support any format in cogl_read_pixels 2010-03-02 11:01:35 +00:00
test-cogl-path.c test-cogl-path: Add tests for changing the fill rule 2010-06-29 20:37:14 +01:00
test-cogl-pipeline-user-matrix.c Add a conformance test for cogl_pipeline_set_layer_matrix 2011-02-09 16:14:12 +00:00
test-cogl-pixel-buffer.c test-cogl-pixel-buffer: Use the new name for CoglPixelArray 2011-05-16 16:07:19 +01:00
test-cogl-premult.c Avoid mixing declarations and code 2010-10-25 13:18:25 +01:00
test-cogl-primitive.c cogl: s/Cogl*Vertex/CoglVertex*/ 2011-01-21 16:22:40 +00:00
test-cogl-readpixels.c test-cogl-readpixels: Reset the viewport and matrices 2010-05-06 14:18:32 +01:00
test-cogl-sub-texture.c test-cogl-sub-texture: Allow single-bit rendering error 2011-05-14 01:12:44 +01:00
test-cogl-texture-3d.c Add a conformance test for 3D textures 2010-07-13 14:29:02 +01:00
test-cogl-texture-get-set-data.c test-cogl-texture-get-set-data: Test the alpha component 2010-11-24 15:56:35 +00:00
test-cogl-texture-mipmaps.c tests: don't delay/skip frames due to glReadPixel concerns 2010-07-08 22:40:35 +01:00
test-cogl-texture-pixmap-x11.c Removes Cogl from the repository 2011-05-06 15:44:08 +01:00
test-cogl-texture-rectangle.c tests: Dynamically resolve GL symbols 2011-07-19 16:06:06 +01:00
test-cogl-vertex-buffer-contiguous.c tests: don't delay/skip frames due to glReadPixel concerns 2010-07-08 22:40:35 +01:00
test-cogl-vertex-buffer-interleved.c tests: don't delay/skip frames due to glReadPixel concerns 2010-07-08 22:40:35 +01:00
test-cogl-vertex-buffer-mutability.c tests: don't delay/skip frames due to glReadPixel concerns 2010-07-08 22:40:35 +01:00
test-cogl-viewport.c Replace cogl_color_set_from_* with cogl_color_init_from_* 2010-09-03 16:58:47 +01:00
test-cogl-wrap-modes.c tests: don't delay/skip frames due to glReadPixel concerns 2010-07-08 22:40:35 +01:00
test-color.c color: Support the CSS hsl() notation 2010-11-22 15:02:47 +00:00
test-conform-common.c tests: Dynamically resolve GL symbols 2011-07-19 16:06:06 +01:00
test-conform-common.h tests: Dynamically resolve GL symbols 2011-07-19 16:06:06 +01:00
test-conform-main.c model: Make sure to emit ::row-changed 2011-07-28 15:00:18 +01:00
test-group.c [tests] Add a Group actor unit 2009-08-25 17:57:22 +01:00
test-launcher.sh.in build: Allow to run the tests from any directory 2010-07-06 12:39:15 +01:00
test-model.c model: Make sure to emit ::row-changed 2011-07-28 15:00:18 +01:00
test-offscreen-redirect.c clutter-actor: Add a 'has_overlaps' virtual 2011-05-13 01:46:32 +01:00
test-paint-opacity.c Update the paint opacity unit test 2008-12-11 12:26:47 +00:00
test-path.c build: include <cairo.h> not <cairo/cairo.h> 2011-06-10 17:57:18 +01:00
test-pick.c conform/pick: Print debug spew only if verbosity is toggled 2011-07-08 12:12:43 +01:00
test-score.c Deprecate ClutterScore 2011-07-08 12:01:08 +01:00
test-script-parser.c Deprecate ClutterBehaviour and sub-classes 2010-11-18 15:21:16 +00:00
test-state.c state: Plug some memory leakage 2010-08-13 12:12:59 +01:00
test-text-cache.c conform: Start cleaning up the conformance test suite 2010-10-12 17:42:18 +01:00
test-texture-fbo.c texture: Deprecate the new_from_actor() function 2011-07-08 12:08:19 +01:00
test-timeline-interpolate.c conform: Start cleaning up the conformance test suite 2010-10-12 17:42:18 +01:00
test-timeline-rewind.c ClutterTimeline: Fix the 'msecs' parameter for the new-frame signal 2011-01-24 11:52:47 +00:00
test-timeline.c test-timeline: Ignore the default stage 2011-02-19 16:47:20 +00:00