X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=testcases%2Ft%2F136-floating-ws-empty.t;h=6b2a028ed34b308aafae44fc5f439a44416ea54a;hb=37d0105c8328f718740c2ae9bae0dff87287a467;hp=f17b0ec146fa465b9ffad2c5de81a867b768edf6;hpb=df2236c5ee5f4ad9f386c887e5f4d0647138a0ee;p=i3%2Fi3 diff --git a/testcases/t/136-floating-ws-empty.t b/testcases/t/136-floating-ws-empty.t index f17b0ec1..6b2a028e 100644 --- a/testcases/t/136-floating-ws-empty.t +++ b/testcases/t/136-floating-ws-empty.t @@ -1,6 +1,21 @@ #!perl # vim:ts=4:sw=4:expandtab -# Regression test: when only having a floating window on a workspace, it should not be deleted. +# +# Please read the following documents before working on tests: +# • https://build.i3wm.org/docs/testsuite.html +# (or docs/testsuite) +# +# • https://build.i3wm.org/docs/lib-i3test.html +# (alternatively: perldoc ./testcases/lib/i3test.pm) +# +# • https://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) +# +# Regression test: when only having a floating window on a workspace, it should +# not be deleted. use i3test; @@ -25,4 +40,31 @@ my $otmp = fresh_workspace; ok(workspace_exists($otmp), "new workspace $otmp exists"); ok(workspace_exists($tmp), "old workspace $tmp still exists"); +################################################################################ +# 2: Similar test: Have two floating windows on a workspace, close one of them. +# The workspace should not be closed. Regression present until (including) commit +# 1f2c9306a27cced83ad960e929bb9e9a163b7843 +################################################################################ + +$tmp = fresh_workspace; + +ok(workspace_exists($tmp), "workspace $tmp exists"); + +# Create a floating window which is smaller than the minimum enforced size of i3 +my $first = open_floating_window; +my $second = open_floating_window; +ok($first->mapped, 'Window is mapped'); +ok($second->mapped, 'Window is mapped'); + +$otmp = fresh_workspace; + +ok(workspace_exists($otmp), "new workspace $otmp exists"); +ok(workspace_exists($tmp), "old workspace $tmp still exists"); + +$first->unmap; +wait_for_unmap $first; + +ok(workspace_exists($otmp), "new workspace $otmp exists"); +ok(workspace_exists($tmp), "old workspace $tmp still exists"); + done_testing;