@ -800,6 +800,104 @@ test_screen_render_order(struct test_context *ctx)
# undef LAYER_NUM
}
static void
test_screen_bad_resolution ( struct test_context * ctx )
{
const struct ivi_controller_interface * ctl = ctx - > controller_interface ;
struct ivi_layout_screen * * iviscrns ;
int32_t screen_length = 0 ;
struct ivi_layout_screen * iviscrn ;
int32_t width ;
int32_t height ;
iassert ( ctl - > get_screens ( & screen_length , & iviscrns ) = = IVI_SUCCEEDED ) ;
iassert ( screen_length > 0 ) ;
if ( screen_length < = 0 )
return ;
iviscrn = iviscrns [ 0 ] ;
iassert ( ctl - > get_screen_resolution ( NULL , & width , & height ) = = IVI_FAILED ) ;
iassert ( ctl - > get_screen_resolution ( iviscrn , NULL , & height ) = = IVI_FAILED ) ;
iassert ( ctl - > get_screen_resolution ( iviscrn , & width , NULL ) = = IVI_FAILED ) ;
free ( iviscrns ) ;
}
static void
test_screen_bad_render_order ( struct test_context * ctx )
{
# define LAYER_NUM (3)
const struct ivi_controller_interface * ctl = ctx - > controller_interface ;
struct ivi_layout_screen * * iviscrns ;
int32_t screen_length ;
struct ivi_layout_screen * iviscrn ;
struct ivi_layout_layer * ivilayers [ LAYER_NUM ] = { } ;
struct ivi_layout_layer * * array ;
int32_t length = 0 ;
uint32_t i ;
iassert ( ctl - > get_screens ( & screen_length , & iviscrns ) = = IVI_SUCCEEDED ) ;
iassert ( screen_length > 0 ) ;
if ( screen_length < = 0 )
return ;
iviscrn = iviscrns [ 0 ] ;
for ( i = 0 ; i < LAYER_NUM ; i + + )
ivilayers [ i ] = ctl - > layer_create_with_dimension ( IVI_TEST_LAYER_ID ( i ) , 200 , 300 ) ;
iassert ( ctl - > screen_set_render_order ( NULL , ivilayers , LAYER_NUM ) = = IVI_FAILED ) ;
ctl - > commit_changes ( ) ;
iassert ( ctl - > get_layers_on_screen ( NULL , & length , & array ) = = IVI_FAILED ) ;
iassert ( ctl - > get_layers_on_screen ( iviscrn , NULL , & array ) = = IVI_FAILED ) ;
iassert ( ctl - > get_layers_on_screen ( iviscrn , & length , NULL ) = = IVI_FAILED ) ;
for ( i = 0 ; i < LAYER_NUM ; i + + )
ctl - > layer_destroy ( ivilayers [ i ] ) ;
free ( iviscrns ) ;
# undef LAYER_NUM
}
static void
test_commit_changes_after_render_order_set_layer_destroy (
struct test_context * ctx )
{
# define LAYER_NUM (3)
const struct ivi_controller_interface * ctl = ctx - > controller_interface ;
struct ivi_layout_screen * * iviscrns ;
int32_t screen_length ;
struct ivi_layout_screen * iviscrn ;
struct ivi_layout_layer * ivilayers [ LAYER_NUM ] = { } ;
uint32_t i ;
iassert ( ctl - > get_screens ( & screen_length , & iviscrns ) = = IVI_SUCCEEDED ) ;
iassert ( screen_length > 0 ) ;
if ( screen_length < = 0 )
return ;
iviscrn = iviscrns [ 0 ] ;
for ( i = 0 ; i < LAYER_NUM ; i + + )
ivilayers [ i ] = ctl - > layer_create_with_dimension ( IVI_TEST_LAYER_ID ( i ) , 200 , 300 ) ;
iassert ( ctl - > screen_set_render_order ( iviscrn , ivilayers , LAYER_NUM ) = = IVI_SUCCEEDED ) ;
ctl - > layer_destroy ( ivilayers [ 1 ] ) ;
ctl - > commit_changes ( ) ;
ctl - > layer_destroy ( ivilayers [ 0 ] ) ;
ctl - > layer_destroy ( ivilayers [ 2 ] ) ;
free ( iviscrns ) ;
# undef LAYER_NUM
}
/************************ tests end ********************************/
static void
@ -845,6 +943,10 @@ run_internal_tests(void *data)
test_screen_id ( ctx ) ;
test_screen_resolution ( ctx ) ;
test_screen_render_order ( ctx ) ;
test_screen_bad_resolution ( ctx ) ;
test_screen_bad_render_order ( ctx ) ;
test_commit_changes_after_render_order_set_layer_destroy ( ctx ) ;
weston_compositor_exit_with_code ( ctx - > compositor , EXIT_SUCCESS ) ;
free ( ctx ) ;