X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=testcases%2Ft%2F235-wm-class-change-handler.t;h=3685b30ce52ad7205d8382a602b1dfa4a778938e;hb=e28893876951f34ba1dc51292124079d1da697c2;hp=e6cacdedfeaf3ee153409bb2406020e8c94cb94f;hpb=67e00b3ab8a325143df90703317a3155c6ae9f5f;p=i3%2Fi3 diff --git a/testcases/t/235-wm-class-change-handler.t b/testcases/t/235-wm-class-change-handler.t index e6cacded..3685b30c 100644 --- a/testcases/t/235-wm-class-change-handler.t +++ b/testcases/t/235-wm-class-change-handler.t @@ -31,16 +31,17 @@ EOT my $pid = launch_with_config($config); sub change_window_class { - my ($window, $class) = @_; + my ($window, $class, $length) = @_; my $atomname = $x->atom(name => 'WM_CLASS'); my $atomtype = $x->atom(name => 'STRING'); + $length ||= length($class) + 1; $x->change_property( PROP_MODE_REPLACE, $window->id, $atomname->id, $atomtype->id, 8, - length($class) + 1, + $length, $class ); sync_with_i3; @@ -65,6 +66,13 @@ is($con->{window_properties}->{instance}, 'special', is($con->{mark}, 'special_class_mark', 'A `for_window` assignment should run for a match when the window changes class'); +change_window_class($win, "abcdefghijklmnopqrstuv\0abcd", 24); + +$con = @{get_ws_content($ws)}[0]; + +is($con->{window_properties}->{class}, 'a', + 'Non-null-terminated strings should be handled correctly'); + exit_gracefully($pid); done_testing;