X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fautotests%2FuseSystemFonts.pl;h=1265d2003a7f0e8f4f4e9256b456d9c8359e1934;hb=9dc6f09c6584f765576dfed9758889ecbb286937;hp=98fd59acec0accae1f0a51dd29bc4b171894e49a;hpb=baa93548c8d977bcd45349f46ab271a86950d022;p=features.git diff --git a/development/autotests/useSystemFonts.pl b/development/autotests/useSystemFonts.pl index 98fd59acec..1265d2003a 100644 --- a/development/autotests/useSystemFonts.pl +++ b/development/autotests/useSystemFonts.pl @@ -129,7 +129,7 @@ my $destdirOfSubdocuments; { my ($name, $pat, $suffix) = fileparse($source, qr/\.[^.]*/); my $ext = $format . "-$lang"; - $name =~ s/_/-/g; + $name =~ s/[%_]/-/g; $destdirOfSubdocuments = "$destdir/tmp-$ext" . "-$name"; # Global var, something TODO here } @@ -182,7 +182,7 @@ sub interpretedCopy($$$$) $fi_line_no += 1; $l =~ s/[\n\r]+$//; #chomp($l); - my $rStatus = checkLyxLine($l); + my $rStatus = checkLyxLine($l, $sourcedir); if ($rStatus->{found}) { my $rF = $rStatus->{result}; if ($rStatus->{"filetype"} eq "replace_only") { @@ -203,29 +203,41 @@ sub interpretedCopy($$$$) my $ext = $isrel[1]; if ($rStatus->{"filetype"} eq "prefix_only") { $f = getNewNameOf("$sourcedir/$f", $rFiles); + if ($format =~ /^(docbook5|epub)$/) { + $rF->[1] = join(',', @{$filelist}); + $l = join('', @$rF); + } } else { my ($newname, $res1); my @extlist = (); - if (ref($rStatus->{ext}) eq "ARRAY" && defined($rStatus->{ext}->[1])) { - @extlist = @{$rStatus->{ext}}; + if (ref($rStatus->{ext}) eq "ARRAY") { + my @extlist = @{$rStatus->{ext}}; + my $created = 0; + for my $extx (@extlist) { + if (-e "$sourcedir/$f$extx") { + ($newname, $res1) = addFileCopyJob("$sourcedir/$f$extx", + "$destdirOfSubdocuments", + $rStatus->{"filetype"}, + $rFiles, $created); + print "Added ($res1) file \"$sourcedir/$f$extx\" to be copied to \"$newname\"\n"; + if (!$created && $extx ne "") { + $newname =~ s/$extx$//; + } + $created = 1; + } + } + print "WARNING: No prefixed file.(" . join('|', @extlist) . ") seens to exist, at \"$source:$fi_line_no\"\n" if (!$created); } else { - @extlist = ($ext); - } - my $created = 0; - for my $extx (@extlist) { - if (-e "$sourcedir/$f$extx") { - ($newname, $res1) = addFileCopyJob("$sourcedir/$f$extx", + ($newname, $res1) = addFileCopyJob("$sourcedir/$f$ext", "$destdirOfSubdocuments", $rStatus->{"filetype"}, - $rFiles, $created); - print "Added ($res1) file \"$sourcedir/$f$ext\" to be copied to \"$newname\"\n"; - if (!$created && $extx ne "") { - $newname =~ s/$extx$//; - } - $created = 1; - } + $rFiles, 0); + print "Added ($res1) file \"$sourcedir/$f$ext\" to be copied to \"$newname\"\n"; + if ($ext ne "") { + $newname =~ s/$ext$//; + } } $f = $newname; $res += $res1; @@ -250,13 +262,15 @@ sub interpretedCopy($$$$) } } } - if ($foundrelative) { + if ($foundrelative && $rStatus->{"filetype"} !~ /^(prefix_for_list|prefix_only)$/) { # The result can be relative too + # but, since prefix_for_list does no copy, we have to use absolute paths + # to address files inside the source dir my @rel_list = (); for my $fr (@{$filelist}) { push(@rel_list, File::Spec->abs2rel($fr, $destdir)); } - $rF->[$fidx] = join($separator, @rel_list); + $rF->[$fidx] = join($separator, @rel_list); $l = join('', @{$rF}); } } @@ -309,16 +323,16 @@ sub copyJob($$) for my $k (values %type2hash) { if ($rFiles->{$source}->{$k}) { if (! $rFiles->{$source}->{$k . "copied"}) { - $rFiles->{$source}->{$k . "copied"} = 1; - my $dest = $rFiles->{$source}->{$k}; - push(@dest, $dest); - if ($k =~ /^copyonly/) { - diestack("Could not copy \"$source\" to \"$dest\"") if (! cp($source, $dest)); - } - else { - interpretedCopy($source, $dest, $destdirOfSubdocuments, $rFiles); - } - $res += 1; + $rFiles->{$source}->{$k . "copied"} = 1; + my $dest = $rFiles->{$source}->{$k}; + push(@dest, $dest); + if ($k eq "copyonly") { + diestack("Could not copy \"$source\" to \"$dest\"") if (! cp($source, $dest)); + } + else { + interpretedCopy($source, $dest, $destdirOfSubdocuments, $rFiles); + } + $res += 1; } } } @@ -411,7 +425,7 @@ sub addFileCopyJob($$$$$) } if (!defined($rJob->{$hashname})) { addNewJob($source, - createTemporaryFileName($source, $destdirOfSubdocuments, $created), + createTemporaryFileName($source, $destdirOfSubdocuments, $created), "$hashname", $rJob, $rFiles); $res = 1; }