]> git.sur5r.net Git - i3/i3/blobdiff - testcases/t/171-config-migrate.t
Merge branch 'master' into next
[i3/i3] / testcases / t / 171-config-migrate.t
index 6efe607197ab23910968363816c29d0aa783d5d6..a0363ef3df4017238a801433c5e67e7fb935ee69 100644 (file)
@@ -1,6 +1,19 @@
 #!perl
 # vim:ts=4:sw=4:expandtab
 #
+# 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)
+#
 # Tests if i3-migrate-config-to-v4 correctly migrates all config file
 # directives and commands
 #
@@ -114,14 +127,15 @@ ok(line_exists($output, qr|^new_window none$|), 'new_window changed');
 # check whether new_window's parameters get changed correctly
 #####################################################################
 
-$output = migrate_config('new_window bb');
-ok(line_exists($output, qr|^new_window none$|), 'new_window bb changed');
-
-$output = migrate_config('new_window bn');
-ok(line_exists($output, qr|^new_window normal$|), 'new_window bn changed');
-
-$output = migrate_config('new_window bp');
-ok(line_exists($output, qr|^new_window 1pixel$|), 'new_window bp changed');
+$input = <<EOT;
+    new_window bb
+    new_window bn
+    new_window bp
+EOT
+$output = migrate_config($input);
+like($output->[0], qr|^new_window none$|, 'new_window bb changed');
+like($output->[1], qr|^new_window normal$|, 'new_window bn changed');
+like($output->[2], qr|^new_window 1pixel$|, 'new_window bp changed');
 
 #####################################################################
 # check that some commands remain untouched
@@ -194,7 +208,7 @@ EOT
 
 $output = migrate_config($input);
 ok(line_exists($output, qr|^bindsym Mod1\+s layout stacking$|), 's replaced');
-ok(line_exists($output, qr|^bindsym Mod1\+s layout default$|), 'd replaced');
+ok(line_exists($output, qr|^bindsym Mod1\+s layout toggle split$|), 'd replaced');
 ok(line_exists($output, qr|^bindsym Mod1\+s layout tabbed$|), 'T replaced');
 ok(line_exists($output, qr|^bindsym Mod1\+s fullscreen$|), 'f replaced');
 ok(line_exists($output, qr|^bindsym Mod1\+s fullscreen global$|), 'fg replaced');
@@ -232,56 +246,59 @@ ok(line_exists($output, qr|^bindsym Mod1\+s \[con_mark="foo"\] focus$|), 'goto r
 # check whether focus's parameters get changed correctly
 #####################################################################
 
-$output = migrate_config('bindsym Mod1+f focus 3');
-ok(line_exists($output, qr|^#.*focus.*obsolete.*focus 3$|), 'focus [number] gone');
-
-$output = migrate_config('bindsym Mod1+f focus floating');
-ok(line_exists($output, qr|^bindsym Mod1\+f focus floating$|), 'focus floating unchanged');
-
-$output = migrate_config('bindsym Mod1+f focus tiling');
-ok(line_exists($output, qr|^bindsym Mod1\+f focus tiling$|), 'focus tiling unchanged');
+$input = <<EOT;
+bindsym Mod1+f focus 3
+bindsym Mod1+f focus floating
+bindsym Mod1+f focus tiling
+bindsym Mod1+f focus ft
+EOT
 
-$output = migrate_config('bindsym Mod1+f focus ft');
-ok(line_exists($output, qr|^bindsym Mod1\+f focus mode_toggle$|), 'focus ft changed');
+$output = migrate_config($input);
+like($output->[0], qr|^#.*focus.*obsolete.*focus 3$|, 'focus [number] gone');
+like($output->[1], qr|^bindsym Mod1\+f focus floating$|, 'focus floating unchanged');
+like($output->[2], qr|^bindsym Mod1\+f focus tiling$|, 'focus tiling unchanged');
+like($output->[3], qr|^bindsym Mod1\+f focus mode_toggle$|, 'focus ft changed');
 
 #####################################################################
 # check whether resize's parameters get changed correctly
 #####################################################################
 
-$output = migrate_config('bindsym Mod1+f resize left +10');
-ok(line_exists($output, qr|^bindsym Mod1\+f resize grow left 10 px$|), 'resize left changed');
-
-$output = migrate_config('bindsym Mod1+f resize top -20');
-ok(line_exists($output, qr|^bindsym Mod1\+f resize shrink up 20 px$|), 'resize top changed');
-
-$output = migrate_config('bindsym Mod1+f resize right -20');
-ok(line_exists($output, qr|^bindsym Mod1\+f resize shrink right 20 px$|), 'resize right changed');
+$input = <<EOT;
+bindsym Mod1+f resize left +10
+bindsym Mod1+f resize top -20
+bindsym Mod1+f resize right -20
+bindsym Mod1+f resize bottom +23
+bindsym Mod1+f resize          left    \t +10
+EOT
 
-$output = migrate_config('bindsym Mod1+f resize bottom +23');
-ok(line_exists($output, qr|^bindsym Mod1\+f resize grow down 23 px$|), 'resize bottom changed');
+$output = migrate_config($input);
+like($output->[0], qr|^bindsym Mod1\+f resize grow left 10 px$|, 'resize left changed');
+like($output->[1], qr|^bindsym Mod1\+f resize shrink up 20 px$|, 'resize top changed');
+like($output->[2], qr|^bindsym Mod1\+f resize shrink right 20 px$|, 'resize right changed');
+like($output->[3], qr|^bindsym Mod1\+f resize grow down 23 px$|, 'resize bottom changed');
 
 #####################################################################
 # also resizing, but with indention this time
 #####################################################################
 
-$output = migrate_config("bindsym Mod1+f resize          left    \t +10");
-ok(line_exists($output, qr|^bindsym Mod1\+f resize grow left 10 px$|), 'resize left changed');
+like($output->[4], qr|^bindsym Mod1\+f resize grow left 10 px$|, 'resize left changed');
 
 #####################################################################
 # check whether jump's parameters get changed correctly
 #####################################################################
 
-$output = migrate_config('bindsym Mod1+f jump 3');
-ok(line_exists($output, qr|^#.*obsolete.*jump 3$|), 'jump to workspace removed');
-
-$output = migrate_config('bindsym Mod1+f jump 3 4 5');
-ok(line_exists($output, qr|^#.*obsolete.*jump 3 4 5$|), 'jump to workspace + col/row removed');
-
-$output = migrate_config('bindsym Mod1+f jump "XTerm"');
-ok(line_exists($output, qr|^bindsym Mod1\+f \[class="XTerm"\] focus$|), 'jump changed');
+$input = <<EOT;
+bindsym Mod1+f jump 3
+bindsym Mod1+f jump 3 4 5
+bindsym Mod1+f jump "XTerm"
+bindsym Mod1+f jump "XTerm/irssi"
+EOT
 
-$output = migrate_config('bindsym Mod1+f jump "XTerm/irssi"');
-ok(line_exists($output, qr|^bindsym Mod1\+f \[class="XTerm" title="irssi"\] focus$|), 'jump changed');
+$output = migrate_config($input);
+like($output->[0], qr|^#.*obsolete.*jump 3$|, 'jump to workspace removed');
+like($output->[1], qr|^#.*obsolete.*jump 3 4 5$|, 'jump to workspace + col/row removed');
+like($output->[2], qr|^bindsym Mod1\+f \[class="XTerm"\] focus$|, 'jump changed');
+like($output->[3], qr|^bindsym Mod1\+f \[class="XTerm" title="irssi"\] focus$|, 'jump changed');
 
 #####################################################################
 # check whether workspace commands are handled correctly