diff options
author | Matthias Vogelgesang <matthias.vogelgesang@kit.edu> | 2014-08-08 10:08:52 +0200 |
---|---|---|
committer | Matthias Vogelgesang <matthias.vogelgesang@kit.edu> | 2014-08-13 14:50:05 +0200 |
commit | a389a30e57a038dcfc83dc2814d56a4a1c9a6084 (patch) | |
tree | 4ac0ac99502280cbed19c64c4040d60d960a253f /test | |
parent | dfa5d1b2fe44226092f87362ba1558df41efa4d6 (diff) | |
download | uca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.tar.gz uca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.tar.bz2 uca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.tar.xz uca-a389a30e57a038dcfc83dc2814d56a4a1c9a6084.zip |
Fix #41: add write accessibility API
Diffstat (limited to 'test')
-rw-r--r-- | test/test-mock.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/test/test-mock.c b/test/test-mock.c index 16ef30c..c0acc9c 100644 --- a/test/test-mock.c +++ b/test/test-mock.c @@ -225,6 +225,34 @@ test_overwriting_units (Fixture *fixture, gconstpointer data) uca_camera_register_unit (fixture->camera, "sensor-width", UCA_UNIT_PIXEL); } +static void +test_can_be_written (Fixture *fixture, gconstpointer data) +{ + GError *error = NULL; + + /* read-only cannot ever be written */ + g_assert (!uca_camera_is_writable_during_acquisition (fixture->camera, "name")); + + /* unset properties cannot be written */ + g_assert (!uca_camera_is_writable_during_acquisition (fixture->camera, "roi-width")); + + /* check trivial cases */ + uca_camera_set_writable (fixture->camera, "roi-width", TRUE); + g_assert (uca_camera_is_writable_during_acquisition (fixture->camera, "roi-width")); + + uca_camera_set_writable (fixture->camera, "roi-height", FALSE); + g_assert (!uca_camera_is_writable_during_acquisition (fixture->camera, "roi-height")); + + /* Now, do a real test */ + uca_camera_set_writable (fixture->camera, "roi-height", TRUE); + uca_camera_start_recording (fixture->camera, &error); + g_assert_no_error (error); + + g_object_set (fixture->camera, "roi-height", 128, NULL); + uca_camera_stop_recording (fixture->camera, &error); + g_assert_no_error (error); +} + int main (int argc, char *argv[]) { gsize n_tests; @@ -251,7 +279,8 @@ int main (int argc, char *argv[]) {"/properties/binnings", test_binnings_properties}, {"/properties/frames-per-second", test_fps_property}, {"/properties/units", test_property_units}, - {"/properties/units/overwrite", test_overwriting_units} + {"/properties/units/overwrite", test_overwriting_units}, + {"/properties/can-be-written", test_can_be_written}, }; n_tests = sizeof(tests) / sizeof(tests[0]); |