I could reproduce your problem.
I created a test case in Script mode:
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
def name = "村人"
switch (name) {
case "犬":
// dog barks
println "わんわん"
break
case "猿":
// monkey shouts
println "きいきい"
break
case "雉":
// rooster crows
println "けんけん"
break
default:
// the unknown greets
println "こんにちは桃太郎さんどこへ行くんですか"
break
}
WebUI.comment("鬼ヶ島へ鬼退治に行くんです")
I switched the Test Case editor from Script mode to Manual mode. In the Manual mode, I added a line:
I saved it to disk.
I reopened the Test Case in Script mode. It looked as follows:
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import internal.GlobalVariable as GlobalVariable
def name = '村人'
switch (name) {
case '犬':
// dog barks
println('わんわん')
break
case '猿':
// monkey shouts
println('きいきい')
break
case '雉':
// rooster crows
println('けんけん')
break
// the unknown greets
default:
println('こんにちは桃太郎さんどこへ行くんですか')
break
}
WebUI.comment('鬼ヶ島へ鬼退治に行くんです')
WebUI.comment('お気をつけていってらっしゃい')
As you see, Test Case Editor in Manual mode saved the code in an entirely new format. Especially the line of
// the unknown greets
is interesting. It has new width of indent, it is located in a line that is 1 one above the original. Very strange. Probably the Manual mode does not recognise a Groovy comment (such as // the unknown greets
) as a first class citizen.
workaround
If you want your Groovy comments preserved as you typed, Don’t switch to the Manual mode. You and all team members should stay in the Script mode.
If somebody in your team demands the Manual mode, then you can write String literals such as this:
default:
'the unknown greets'
println "こんにちは桃太郎さんどこへ行くんですか"
break
I checked this and found the Manual mode respects String literals.