in intellij-plugin/educational-core/testSrc/com/jetbrains/edu/coursecreator/archive/FileAttributesTest.kt [76:161]
fun data(): Collection<Array<Any>> {
val excluded = expected(
excludedFromArchive = true,
archiveInclusionPolicy = ArchiveInclusionPolicy.MUST_EXCLUDE,
visibility = CourseViewVisibility.AUTHOR_DECISION
)
val excludedButCanBeInside = expected(
excludedFromArchive = true,
archiveInclusionPolicy = ArchiveInclusionPolicy.EXCLUDED_BY_DEFAULT,
visibility = CourseViewVisibility.AUTHOR_DECISION
)
val normal = expected(
excludedFromArchive = false,
archiveInclusionPolicy = ArchiveInclusionPolicy.INCLUDED_BY_DEFAULT,
visibility = CourseViewVisibility.AUTHOR_DECISION
)
val excludedAndInvisible = excluded.copy(visibility = CourseViewVisibility.INVISIBLE_FOR_ALL)
return listOf(
arrayOf("regular-file", normal),
arrayOf("regular-folder/", normal),
arrayOf("regular-file/inside-a-folder", normal),
arrayOf("regular-folder/inside-a-folder/", normal),
//.idea contents
arrayOf(".idea/", normal.copy(archiveInclusionPolicy = ArchiveInclusionPolicy.EXCLUDED_BY_DEFAULT)),
arrayOf(".idea/subfile", excluded.copy(archiveInclusionPolicy = ArchiveInclusionPolicy.EXCLUDED_BY_DEFAULT)),
arrayOf(".idea/subfolder/", excluded.copy(archiveInclusionPolicy = ArchiveInclusionPolicy.EXCLUDED_BY_DEFAULT)),
arrayOf(".idea/inspectionProfiles/", normal.copy(archiveInclusionPolicy = ArchiveInclusionPolicy.EXCLUDED_BY_DEFAULT)),
arrayOf(".idea/scopes/", normal.copy(archiveInclusionPolicy = ArchiveInclusionPolicy.EXCLUDED_BY_DEFAULT)),
arrayOf(".idea/scopes/subfile", normal.copy(archiveInclusionPolicy = ArchiveInclusionPolicy.EXCLUDED_BY_DEFAULT)),
arrayOf(".idea/workspace.xml", excluded),
arrayOf(".idea/usage.statistics.xml", excluded),
arrayOf(".idea/shelf/", excluded),
arrayOf(".idea/shelf/a-file.txt", excluded),
//.dot files and folders
arrayOf(".folder/", excludedButCanBeInside),
arrayOf(".file", excludedButCanBeInside),
arrayOf(".folder/in/subfolder/", excludedButCanBeInside),
arrayOf(".file/in/subfolder", excludedButCanBeInside),
arrayOf("folder/.subfile", excludedButCanBeInside),
arrayOf("folder/.subfolder/", excludedButCanBeInside),
arrayOf("folder/.subfolder/subfile", excludedButCanBeInside),
arrayOf(".idea/scopes/.excluded_with_dot", excludedButCanBeInside),
// iml files
arrayOf("project.iml", excludedAndInvisible),
arrayOf("subfolder/project.iml", excludedAndInvisible),
// task descriptions
arrayOf("lesson/task/task.md", excluded),
arrayOf("section/lesson/task/task.md", excluded),
arrayOf("lesson/task/task.html", excluded),
arrayOf("section/lesson/task/task.html", excluded),
// configs
arrayOf("course-info.yaml", excluded),
arrayOf("section/section-info.yaml", excluded),
arrayOf("lesson/lesson-info.yaml", excluded),
arrayOf("section/lesson/lesson-info.yaml", excluded),
arrayOf("lesson/task/task-info.yaml", excluded),
arrayOf("section/lesson/task/task-info.yaml", excluded),
// remote configs
arrayOf("course-remote-info.yaml", excluded),
arrayOf("section/section-remote-info.yaml", excluded),
arrayOf("lesson/lesson-remote-info.yaml", excluded),
arrayOf("section/lesson/lesson-remote-info.yaml", excluded),
arrayOf("lesson/task/task-remote-info.yaml", excluded),
arrayOf("section/lesson/task/task-remote-info.yaml", excluded),
//.coursecreator
arrayOf(".coursecreator/archive.zip", excludedAndInvisible),
//vcs
arrayOf(".git/objects/ha/hahaha42e136b17b7adfe79921a7a17def1185", excludedAndInvisible),
arrayOf(".git/config", excludedAndInvisible),
// other
arrayOf("hints", normal.copy(excludedFromArchive = true)),
arrayOf("stepik_ids.json", normal.copy(excludedFromArchive = true)),
arrayOf(".courseignore", excluded),
arrayOf("courseIcon.svg", excluded),
)
}