diff --git a/ratbagd/ratbagd-test.c b/ratbagd/ratbagd-test.c index 6db38bed..0db12e49 100644 --- a/ratbagd/ratbagd-test.c +++ b/ratbagd/ratbagd-test.c @@ -64,7 +64,7 @@ static const struct ratbag_test_device ratbagd_test_device_descr = { } }, .resolutions = { - { .xres = 100, .yres = 200, .hz = 1000 }, + { .xres = 100, .yres = 200, .hz = 1000, .dpi_min = 50, .dpi_max = 5000 }, { .xres = 200, .yres = 300, .hz = 1000, .active = true, .dflt = true }, { .xres = 300, .yres = 400, .hz = 1000 }, }, diff --git a/src/driver-test.c b/src/driver-test.c index c74ac9d3..3277a848 100644 --- a/src/driver-test.c +++ b/src/driver-test.c @@ -169,7 +169,9 @@ test_read_profile(struct ratbag_profile *profile) { struct ratbag_test_device *d = ratbag_get_drv_data(profile->device); struct ratbag_test_profile *p; + struct ratbag_test_profile *p0; struct ratbag_test_resolution *r; + struct ratbag_test_resolution *r0; struct ratbag_button *button; struct ratbag_led *led; unsigned int i; @@ -179,6 +181,9 @@ test_read_profile(struct ratbag_profile *profile) assert(profile->index < d->num_profiles); p = &d->profiles[profile->index]; + p0 = &d->profiles[0]; + r0 = &p0->resolutions[0]; + for (i = 0; i < d->num_resolutions; i++) { _cleanup_resolution_ struct ratbag_resolution *res; @@ -187,6 +192,8 @@ test_read_profile(struct ratbag_profile *profile) res = ratbag_profile_get_resolution(profile, i); assert(res); ratbag_resolution_set_resolution(res, r->xres, r->yres, r->hz); + if (r0->dpi_min != 0 && r0->dpi_max != 0) + ratbag_resolution_set_range(res, r0->dpi_min, r0->dpi_max); res->is_active = r->active; if (r->active) active_set = true; diff --git a/src/libratbag-test.h b/src/libratbag-test.h index 824402d9..06e62d77 100644 --- a/src/libratbag-test.h +++ b/src/libratbag-test.h @@ -55,6 +55,8 @@ struct ratbag_test_resolution { bool active; bool dflt; uint32_t caps; + + int dpi_min, dpi_max; }; struct ratbag_test_color { diff --git a/test/test-device.c b/test/test-device.c index 828b5203..bb944e1c 100644 --- a/test/test-device.c +++ b/test/test-device.c @@ -342,7 +342,7 @@ START_TEST(device_resolutions) struct ratbag_resolution *res; int nprofiles, nresolutions; int i, j; - int xres, yres, rate; + int xres, yres, rate, dpi_min, dpi_max; int device_freed_count = 0; bool is_active; @@ -353,7 +353,7 @@ START_TEST(device_resolutions) .profiles = { { .resolutions = { - { .xres = 100, .yres = 200, .hz = 1000 }, + { .xres = 100, .yres = 200, .hz = 1000, .dpi_min = 50, .dpi_max = 5000}, { .xres = 200, .yres = 300, .hz = 1000, .active = true }, { .xres = 300, .yres = 400, .hz = 1000 }, }, @@ -394,12 +394,17 @@ START_TEST(device_resolutions) yres = ratbag_resolution_get_dpi_y(res); rate = ratbag_resolution_get_report_rate(res); is_active = ratbag_resolution_is_active(res); + dpi_min = ratbag_resolution_get_dpi_minimum(res); + dpi_max = ratbag_resolution_get_dpi_maximum(res); ck_assert_int_eq(xres, i * 1000 + (j + 1) * 100); ck_assert_int_eq(yres, i * 1000 + (j + 1) * 100 + 100); ck_assert_int_eq(xres, ratbag_resolution_get_dpi(res)); ck_assert_int_eq(is_active, (j == 1)); + ck_assert_int_eq(dpi_min, 50); + ck_assert_int_eq(dpi_max, 5000); + ck_assert_int_eq(rate, (i + 1) * 1000); ratbag_resolution_unref(res);