Пример #1
0
        public void DeleteLogo()
        {
            EngineState s                = EngineTests.CreateEngineState();
            string      scriptDir        = Path.Combine(StringEscaper.Preprocess(s, "%TestBench%"), "EncodedFile");
            string      logoScriptPath   = Path.Combine(scriptDir, "Blank.script");
            string      noLogoScriptPath = Path.Combine(scriptDir, "CompleteBlank.script");

            // ReSharper disable once ParameterOnlyUsedForPreconditionCheck.Local
            void Template(string testScriptPath, bool result)
            {
                string destDir    = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
                string destScript = Path.Combine(destDir, "DeleteLogoTest.script");

                Directory.CreateDirectory(destDir);
                try
                {
                    File.Copy(testScriptPath, destScript, true);

                    string errMsg;
                    Script sc = s.Project.LoadScriptRuntime(destScript, new LoadScriptRuntimeOptions());
                    (sc, errMsg) = EncodedFile.DeleteLogo(sc);

                    if (errMsg != null)
                    {
                        Assert.IsFalse(result);
                        return;
                    }
                    Assert.IsTrue(result);

                    Assert.IsFalse(EncodedFile.ContainsLogo(sc));
                }
                finally
                {
                    if (Directory.Exists(destDir))
                    {
                        Directory.Delete(destDir, true);
                    }
                }
            }

            Template(logoScriptPath, true);
            Template(noLogoScriptPath, false);
        }