[IFT] Edit navigate task in FileStructureLesson and refactor

GitOrigin-RevId: d24371ac5f86592bc04c84132222cafa6c402eb1
This commit is contained in:
Konstantin Hudyakov
2020-12-18 13:30:18 +00:00
committed by intellij-monorepo-bot
parent 906df0e494
commit e4af561bcb
3 changed files with 11 additions and 10 deletions
@@ -1,12 +1,11 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.java.ift.lesson.navigation
import com.intellij.openapi.editor.LogicalPosition
import training.learn.interfaces.Module
import training.learn.lesson.general.navigation.FileStructureLesson
class JavaFileStructureLesson(module: Module) : FileStructureLesson(module, "JAVA") {
override val searchSubstring: String = "hosa"
override val firstWord: String = "homo"
override val secondWord: String = "sapience"
override val existedFile: String = "src/FileStructureDemo.java"
override val methodToFindPosition: LogicalPosition = LogicalPosition(74, 16)
}
@@ -2,6 +2,7 @@
package training.learn.lesson.general.navigation
import com.intellij.ide.dnd.aware.DnDAwareTree
import com.intellij.openapi.editor.LogicalPosition
import com.intellij.openapi.editor.impl.EditorComponentImpl
import com.intellij.testGuiFramework.framework.GuiTestUtil
import com.intellij.testGuiFramework.util.Key
@@ -16,9 +17,11 @@ import training.learn.lesson.kimpl.LessonUtil
abstract class FileStructureLesson(module: Module, lang: String)
: KLesson("File structure", LessonsBundle.message("file.structure.lesson.name"), module, lang) {
abstract override val existedFile: String
abstract val searchSubstring: String
abstract val firstWord: String
abstract val secondWord: String
abstract val methodToFindPosition: LogicalPosition
private val searchSubstring: String = "hosa"
private val firstWord: String = "homo"
private val secondWord: String = "sapience"
override val lessonContent: LessonContext.() -> Unit
get() = {
@@ -39,7 +42,7 @@ abstract class FileStructureLesson(module: Module, lang: String)
}
task {
text(LessonsBundle.message("file.structure.navigate", LessonUtil.rawEnter()))
stateCheck { focusOwner is EditorComponentImpl }
stateCheck { editor.caretModel.logicalPosition == methodToFindPosition }
test { GuiTestUtil.shortcut(Key.ENTER) }
}
task("ActivateStructureToolWindow") {
@@ -1,12 +1,11 @@
// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.jetbrains.python.ift.lesson.navigation
import com.intellij.openapi.editor.LogicalPosition
import training.learn.interfaces.Module
import training.learn.lesson.general.navigation.FileStructureLesson
class PythonFileStructureLesson(module: Module) : FileStructureLesson(module, "Python") {
override val searchSubstring: String = "hosa"
override val firstWord: String = "homo"
override val secondWord: String = "sapience"
override val existedFile: String = "src/file_structure_demo.py"
override val methodToFindPosition: LogicalPosition = LogicalPosition(73, 8)
}