This commit is contained in:
2023-11-27 16:21:40 +03:00
parent 0e17cff816
commit 7be3f9ccda
8 changed files with 50 additions and 5 deletions

View File

@@ -4,10 +4,11 @@ import Visual_DVM_2021.Passes.PassCode_2021;
public class TestsMenuBar extends DataMenuBar {
public TestsMenuBar() {
super("тесты",
PassCode_2021.DownloadTest,
//PassCode_2021.PublishTest,
PassCode_2021.CreateTestFromCurrentProject,
PassCode_2021.CreateTestFromDirectory,
PassCode_2021.EditTest,
PassCode_2021.DownloadTest,
PassCode_2021.DeleteTest);
}
}

View File

@@ -1134,5 +1134,17 @@ public class Utils {
if (project_data.exists())
FileUtils.forceDelete(project_data);
}
//--
public static boolean isVersion(File directory) throws Exception {
File[] files = directory.listFiles(File::isDirectory);
if (files!=null){
for (File file: files){
File data = new File(file, Constants.data);
if (data.exists())
return true;
}
}
return false;
}
}

View File

@@ -1095,7 +1095,7 @@ public class db_project_info extends DBObject {
//теперь копируем инфу по файлам.
if (cloneData) {
db_project_info res = new db_project_info(dst);
migrateFilesSettings(res, true, false);
migrateFilesSettings(res, true, false);
}
}
public void Clone(File dst) throws Exception {

View File

@@ -62,7 +62,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override
public void GetVersionInfo() {
version = 1036;
version = 1037;
String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime());

View File

@@ -0,0 +1,20 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Visual_DVM_2021.Passes.PassCode_2021;
public class CreateTestFromCurrentProject extends CreateTestFromDirectory {
@Override
public String getIconPath() {
return "/icons/RedAdd.png";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (Current.Check(Log, Current.Group, Current.Project)) {
return super.canStart(Current.getProject().Home, Current.getGroup());
}
return false;
}
@Override
protected void performDone() throws Exception {
passes.get(PassCode_2021.PublishTest).Do(target);
}
}

View File

@@ -81,7 +81,7 @@ public class CreateTestFromDirectory extends Pass_2021<Test> {
Log.Writeln_("Имя файла " + Utils.Brackets(file.getName()) + " содержит запрещённые символы " + Constants.all_forbidden_characters_string + ", или кириллицу.");
bad++;
}
if (file.isDirectory() && !file.getName().equalsIgnoreCase(Constants.data)) {
if (file.isDirectory() && !file.getName().equalsIgnoreCase(Constants.data) && Utils.isVersion(file)) {
subdirs++;
}
if (file.isFile()) {

View File

@@ -299,12 +299,15 @@ public enum PassCode_2021 {
//--
CreateGroupFromDirectory,
CreateTestFromDirectory,
CreateTestFromCurrentProject,
//->
TestPass;
public String getDescription() {
switch (this) {
case Undefined:
return "?";
case CreateTestFromCurrentProject:
return "Создать тест из текущего проекта";
case CreateTestFromDirectory:
return "Создать тест из папки";
case SPF_RemoveOmpDirectives: