fix: disable dialogs before opening automation drawings
This commit is contained in:
@@ -23,13 +23,14 @@ public sealed class StartupScriptBuilder : IStartupScriptBuilder
|
||||
if (!File.Exists(fixture)) throw new InvalidOperationException("AUTOMATION_FIXTURE_NOT_FOUND");
|
||||
if (!File.Exists(model)) throw new InvalidOperationException("AUTOMATION_SOURCE_MODEL_NOT_FOUND");
|
||||
var quote = (string value) => "\"" + value.Replace("\"", "\\\"") + "\"";
|
||||
var dialogFreeOpen = "_.FILEDIA\n0\n_.CMDDIA\n0\n";
|
||||
var diagnostic = paths.Diagnostic
|
||||
? "_.FILEDIA\n0\n_.CMDDIA\n0\n_.CMDECHO\n1\n_.NOMUTT\n0\n_.LOGFILEMODE\n1\n"
|
||||
? "_.CMDECHO\n1\n_.NOMUTT\n0\n_.LOGFILEMODE\n1\n"
|
||||
: string.Empty;
|
||||
var commands = paths.Diagnostic
|
||||
? "PHP_REC_AUTOMATION_BEFORE_PXP_1\nPXP-OA\nPHP_REC_AUTOMATION_AFTER_PXP_1\nPHP_REC_AUTOMATION_BEFORE_PXP_2\nPXP-OA\nPHP_REC_AUTOMATION_AFTER_PXP_2\n"
|
||||
: "PXP-OA\nPXP-OA\n";
|
||||
return "_.OPEN\n" + quote(model) + "\n_.OPEN\n" + quote(fixture) + "\n" + diagnostic + BuildNetloadScript(paths.ValidatedPackageRoot, paths.EntryAssembly) +
|
||||
return dialogFreeOpen + "_.OPEN\n" + quote(model) + "\n_.OPEN\n" + quote(fixture) + "\n" + diagnostic + BuildNetloadScript(paths.ValidatedPackageRoot, paths.EntryAssembly) +
|
||||
"PHP_REC_AUTOMATION_PREPARE\n" + commands + "PHP_REC_AUTOMATION_FINALIZE\n";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,6 +68,7 @@ public sealed class PathAndLaunchTests
|
||||
var paths = new ResolvedAutomationScriptPaths(root, entry, fixture, model, Path.Combine(root, "preview.scr"), false);
|
||||
var first = new StartupScriptBuilder().BuildAutomationScript(paths); var second = new StartupScriptBuilder().BuildAutomationScript(paths);
|
||||
Assert.Equal(first, second); Assert.EndsWith("\n", first); Assert.Equal(2, System.Text.RegularExpressions.Regex.Matches(first, "PXP-OA").Count);
|
||||
Assert.True(first.IndexOf("_.FILEDIA\n0", StringComparison.Ordinal) < first.IndexOf("_.OPEN", StringComparison.Ordinal));
|
||||
Assert.True(first.IndexOf(model, StringComparison.Ordinal) < first.IndexOf(fixture, StringComparison.Ordinal));
|
||||
Assert.True(first.IndexOf("PHP_REC_AUTOMATION_PREPARE", StringComparison.Ordinal) < first.IndexOf("PXP-OA", StringComparison.Ordinal));
|
||||
Assert.True(first.LastIndexOf("PXP-OA", StringComparison.Ordinal) < first.IndexOf("PHP_REC_AUTOMATION_FINALIZE", StringComparison.Ordinal));
|
||||
|
||||
Reference in New Issue
Block a user