private static VirtualFile getCopyWithAnswers(@NotNull final VirtualFile taskDir,
@NotNull final VirtualFile file,
@NotNull final TaskFile source,
- @NotNull final TaskFile target) {
+ @NotNull TaskFile target) {
VirtualFile copy = null;
try {
final FileDocumentManager documentManager = FileDocumentManager.getInstance();
final Document document = documentManager.getDocument(copy);
if (document != null) {
- TaskFile.copy(source, target);
+ target = source.getTask().copy().getTaskFile(file.getName());
+ if (target == null) {
+ return copy;
+ }
EduDocumentListener listener = new EduDocumentListener(target);
document.addDocumentListener(listener);
for (AnswerPlaceholder answerPlaceholder : target.getActivePlaceholders()) {
}
String testsFileName = manager.getTestFileName();
- if (myTask.hasSubtasks()) {
+ if (myTask.hasSubtasks() && myTask.getActiveSubtaskIndex() != 0) {
testsFileName = FileUtil.getNameWithoutExtension(testsFileName);
- int index = myTask.getActiveSubtaskIndex() + 1;
+ int index = myTask.getActiveSubtaskIndex();
testsFileName += EduNames.SUBTASK_MARKER + index + "." + FileUtilRt.getExtension(manager.getTestFileName());
}
final File testRunner = new File(myTaskDir.getPath(), testsFileName);