X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=testcases%2Ft%2F177-bar-config.t;h=8ef94e57f15b800faf0024e61baba21ffc50fbe0;hb=dc05d905c1ab0978ca98b3e15ff96d18df55c182;hp=371f26f5694cd508239402a5ff410e367d312e15;hpb=d75560981e966713bc9bee1d33032dcfa2ff906f;p=i3%2Fi3 diff --git a/testcases/t/177-bar-config.t b/testcases/t/177-bar-config.t index 371f26f5..8ef94e57 100644 --- a/testcases/t/177-bar-config.t +++ b/testcases/t/177-bar-config.t @@ -1,11 +1,23 @@ #!perl # vim:ts=4:sw=4:expandtab -# !NO_I3_INSTANCE! will prevent complete-run.pl from starting i3 +# +# Please read the following documents before working on tests: +# • http://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • http://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • http://build.i3wm.org/docs/ipc.html +# (or docs/ipc) +# +# • http://onyxneon.com/books/modern_perl/modern_perl_a4.pdf +# (unless you are already familiar with Perl) # # Checks that the bar config is parsed correctly. # -use i3test; +use i3test i3_autostart => 0; ##################################################################### # test a config without any bars @@ -51,8 +63,10 @@ my $bar_config = $i3->get_bar_config($bar_id)->recv; is($bar_config->{status_command}, 'i3status --foo', 'status_command correct'); ok(!$bar_config->{verbose}, 'verbose off by default'); ok($bar_config->{workspace_buttons}, 'workspace buttons enabled per default'); +ok($bar_config->{binding_mode_indicator}, 'mode indicator enabled per default'); is($bar_config->{mode}, 'dock', 'dock mode by default'); is($bar_config->{position}, 'bottom', 'position bottom by default'); +is($bar_config->{tray_padding}, 2, 'tray_padding ok'); ##################################################################### # ensure that reloading cleans up the old bar configs @@ -73,7 +87,8 @@ $config = <get_bar_config($bar_id)->recv; is($bar_config->{status_command}, 'i3status --bar', 'status_command correct'); ok($bar_config->{verbose}, 'verbose on'); ok(!$bar_config->{workspace_buttons}, 'workspace buttons disabled'); +ok(!$bar_config->{binding_mode_indicator}, 'mode indicator disabled'); is($bar_config->{mode}, 'dock', 'dock mode'); is($bar_config->{position}, 'top', 'position top'); is_deeply($bar_config->{outputs}, [ 'HDMI1', 'HDMI2' ], 'outputs ok'); is($bar_config->{tray_output}, 'HDMI2', 'tray_output ok'); +is($bar_config->{tray_padding}, 0, 'tray_padding ok'); is($bar_config->{font}, 'Terminus', 'font ok'); is($bar_config->{socket_path}, '/tmp/foobar', 'socket_path ok'); is_deeply($bar_config->{colors}, { - background => 'ff0000', - statusline => '00ff00', - focused_workspace_text => 'ffffff', - focused_workspace_bg => '285577', - active_workspace_text => '888888', - active_workspace_bg => '222222', - inactive_workspace_text => '888888', - inactive_workspace_bg => '222222', - urgent_workspace_text => 'ffffff', - urgent_workspace_bg => '900000', + background => '#ff0000', + statusline => '#00ff00', + focused_background => '#cc0000', + focused_statusline=> '#cccc00', + focused_separator => '#0000cc', + focused_workspace_border => '#4c7899', + focused_workspace_text => '#ffffff', + focused_workspace_bg => '#285577', + active_workspace_border => '#333333', + active_workspace_text => '#888888', + active_workspace_bg => '#222222', + inactive_workspace_border => '#333333', + inactive_workspace_text => '#888888', + inactive_workspace_bg => '#222222', + urgent_workspace_border => '#2f343a', + urgent_workspace_text => '#ffffff', + urgent_workspace_bg => '#900000', + binding_mode_border => '#abc123', + binding_mode_text => '#ababab', + binding_mode_bg => '#123abc', }, 'colors ok'); exit_gracefully($pid); @@ -170,4 +203,115 @@ isnt($bar1_config->{outputs}, $bar2_config->{outputs}, 'outputs different'); exit_gracefully($pid); +##################################################################### +# make sure comments work properly +##################################################################### + +$config = <get_bar_config()->recv; +$bar_id = shift @$bars; + +$bar_config = $i3->get_bar_config($bar_id)->recv; +is($bar_config->{status_command}, 'i3status --bar', 'status_command correct'); +is($bar_config->{colors}->{background}, '#000000', 'background color ok'); + +exit_gracefully($pid); + +##################################################################### +# verify that the old syntax still works +##################################################################### + +$config = <get_bar_config()->recv; +is(@$bars, 1, 'one bar configured'); + +$bar_id = shift @$bars; + +cmd 'nop yeah'; +$bar_config = $i3->get_bar_config($bar_id)->recv; +is($bar_config->{status_command}, 'i3status --bar', 'status_command correct'); +ok($bar_config->{verbose}, 'verbose on'); +ok(!$bar_config->{workspace_buttons}, 'workspace buttons disabled'); +ok($bar_config->{binding_mode_indicator}, 'mode indicator enabled'); +is($bar_config->{mode}, 'dock', 'dock mode'); +is($bar_config->{position}, 'top', 'position top'); +is_deeply($bar_config->{outputs}, [ 'HDMI1', 'HDMI2' ], 'outputs ok'); +is($bar_config->{tray_output}, 'HDMI2', 'tray_output ok'); +is($bar_config->{font}, 'Terminus', 'font ok'); +is($bar_config->{socket_path}, '/tmp/foobar', 'socket_path ok'); +is_deeply($bar_config->{colors}, + { + background => '#ff0000', + statusline => '#00ff00', + focused_workspace_text => '#ffffff', + focused_workspace_bg => '#285577', + active_workspace_text => '#888888', + active_workspace_bg => '#222222', + inactive_workspace_text => '#888888', + inactive_workspace_bg => '#222222', + urgent_workspace_text => '#ffffff', + urgent_workspace_bg => '#900000', + }, '(old) colors ok'); + +exit_gracefully($pid); + + done_testing;