private void OnExport() { if (selectedSetting == null) { return; } ClearLogs(); SaveSettings(); OutLog("Start exporting with validation."); var baseFolderPath = AssetDatabase.GetAssetPath(baseFolder); result = ValidatedExporter.ValidatedExport(baseFolderPath, selectedSetting, forceExport); AssetDatabase.Refresh(); var header = string.Format("- version:{0}", ProductInfoUtility.GetVersion()) + Environment.NewLine; header += string.Format("- Rule set:{0}", selectedSetting.SettingName) + Environment.NewLine; header += string.Format("- Base folder:{0}", baseFolderPath) + Environment.NewLine; if (forceExport) { header += string.Format("- Force export:{0}", forceExport) + Environment.NewLine; } var log = header + result.GetValidationLog() + result.GetExportLog() + result.log; forceExport = false; SetMessages(header, result); OutLog(log); OutLog("Export completed."); }
public void TestExport() { var filename = "test.unitypackage"; var baseFolderPath = "Assets/VitDeck/Exporter/Tests/TestBaseFolder"; var setting = ScriptableObject.CreateInstance(typeof(ExportSetting)) as ExportSetting; setting.SettingName = ""; setting.Description = ""; setting.ExportFolderPath = testExportFolder; setting.fileNameFormat = filename; setting.ruleSetName = "PassRuleSet"; var result = ValidatedExporter.ValidatedExport(baseFolderPath, setting, false, true); Assert.That(result.forceExport, Is.False); Assert.That(result.exportResult, Is.Not.Null); Assert.That(result.validationResults, Is.Not.Empty); Assert.That(string.IsNullOrEmpty(result.log)); Assert.That(File.Exists(result.exportResult.exportFilePath)); }
public void TestExportException() { var filename = "testException.unitypackage"; var baseFolderPath = "Assets/VitDeck/Exporter/Tests/TestBaseFolder"; var setting = new ExportSetting(); setting.SettingName = ""; setting.Description = ""; setting.ExportFolderPath = testExportFolder; setting.fileNameFormat = filename; setting.ruleSetName = ""; //setting null Assert.That(() => ValidatedExporter.ValidatedExport(baseFolderPath, null, false), Throws.ArgumentNullException); //basefolder null Assert.That(() => ValidatedExporter.ValidatedExport(null, setting, false), Throws.ArgumentNullException); //exportFolderPath empty setting.ExportFolderPath = ""; Assert.That(() => ValidatedExporter.ValidatedExport(null, setting, false), Throws.ArgumentNullException); //exportFolderPath does not start with `Assets` setting.ExportFolderPath = "InvalidPath/Export"; Assert.That(() => ValidatedExporter.ValidatedExport(null, setting, false), Throws.ArgumentNullException); }
public void TestExportError() { var filename = "testError.unitypackage"; var baseFolderPath = "Assets/VitDeck/Exporter/Tests/TestBaseFolder"; var setting = new ExportSetting(); setting.SettingName = ""; setting.Description = ""; setting.ExportFolderPath = testExportFolder; setting.fileNameFormat = filename; setting.ruleSetName = ""; ValidatedExporter.ValidatedExport(baseFolderPath, setting, false); //ファイル重複していた場合 ValidatedExportResult willFailResult = new ValidatedExportResult(false); LogAssert.Expect(LogType.Error, new Regex(@"^System\.IO\.IOException.*")); Assert.DoesNotThrow(() => willFailResult = ValidatedExporter.ValidatedExport(baseFolderPath, setting, false)); Assert.That(willFailResult.exportResult, Is.Not.Null); var willPassResult = ValidatedExporter.ValidatedExport(baseFolderPath, setting, true); Assert.That(willPassResult.exportResult.exportResult, Is.True); }