keytests: Allow definition of shortcuts for the test.

Since no extra shortcuts are defined, this is essentially a noop ATM.
This commit is contained in:
Kornel Benko 2017-04-24 17:50:49 +02:00
parent 0f3b1539e8
commit 6e9e7f2b94

View File

@ -14,6 +14,13 @@ my %allowedKeys = (
"use_converter_needauth" => ["true", "false"], "use_converter_needauth" => ["true", "false"],
); );
# Bindings used by some tests
# used file is "$userdir/bind/user.bind"
my %bindings = (
# Empty for now, example below
# "A-h" => ["dialog-hide", "findreplaceadv"],
);
chdir($bindir); chdir($bindir);
# Parse Arguments for strings to substitute # Parse Arguments for strings to substitute
@ -52,6 +59,7 @@ for my $arg (@ARGV) {
} }
} }
} }
if (%Subst) { # Try to do something only if a substitute is requested if (%Subst) { # Try to do something only if a substitute is requested
if (open(FO, '>', "$userdir/preferences.tmp")) { if (open(FO, '>', "$userdir/preferences.tmp")) {
if (open(FI, "$userdir/preferences")) { if (open(FI, "$userdir/preferences")) {
@ -74,6 +82,43 @@ if (%Subst) { # Try to do something only if a substitute is requested
} }
} }
if (open(FO, '>', "$userdir/userbind.tmp")) {
my %used = ();
if (open(FI, "$userdir/bind/user.bind")) {
while (my $l = <FI>) {
my $found = 0;
for my $k (keys %bindings) {
if ($l =~ /^\s*\\bind\s+\"$k\"/) {
$found = 1;
if (! defined($used{$k})) {
$used{$k} = 1;
$l = "\\bind \"$k\" \"" . join(' ', @{$bindings{$k}}) . "\"\n";
print FO $l;
last;
}
}
print FO $l if (! $found);
}
}
close(FI);
}
else {
print FO "## This file is automatically generated by lyx\n";
print FO "## All modifications will be lost\n";
print FO "\n\n";
print FO "Format 4\n\n";
}
for my $k (keys %bindings) {
if (! defined($used{$k})) {
$used{$k} = 1;
my $l = "\\bind \"$k\" \"" . join(' ', @{$bindings{$k}}) . "\"\n";
print FO $l;
}
}
close(FO);
rename("$userdir/userbind.tmp", "$userdir/bind/user.bind");
}
my $res = 0; my $res = 0;
if (@ctestpars) { if (@ctestpars) {
$res = system("ctest", @ctestpars); $res = system("ctest", @ctestpars);