def test_testName(self):
		color.blue("test here baby")
		targetFileContent = """th = require 'throw'
getCitiesByCountry = require './getCitiesByCountry.iced'
regionsByCountryId = require '../../region/regionsByCountryId.iced'
citiesByRegionId_slow = require './citiesByRegionId_slow.iced'
_ = require 'underscore'		


module.exports = (db, countryId, autocb)->
	await getCitiesByCountry db, countryId, defer result
	[err, cityList] = result
	th.err err
	
	unless cityList
		await regionsByCountryId db, countryId, defer result
		[err, regions] = result
		th.err err

		cityList = []

		for region in regions
			await citiesByRegionId_slow db, regionId, defer result
			[err, cities] = result
			th.err err

			cityList = _.union cityList, cities


	return cityList"""
		result = returnLast.autocbOneEnding(targetFileContent)
		expected = "cityList"
		assertMy.equals(result, expected)
def do(targeFilename, sourceFilename):
    target = targeFilename
    source = sourceFilename
    print("target:", target, "-----------------------------------------------------")
    print("source:", source, "-----------------------------------------------------")
    rel = absRel.RelAndCutIfNodeModules(source, target)

    # 1) get fileName by filePath
    filename = absRel.filename(target)
    # 2) create string: #{fileName} = require '#{relativePath}'
    require = "{0} = require '{1}'".format(filename, rel)
    # 3) set to cliboard objectName - filename
    # 3.1) get param names:

    # get fileContent_target to load it once:
    fileContent_target = filer2.read(target)
    # check if function sync:
    sync = callForSyncFunc.isItSync(fileContent_target)
    color.red("sync in relativeRequireIced_model.py")
    print(sync)

    isCbWithouAutocb = callForSyncFunc.isItCb(fileContent_target)

    color.red("isCbWithouAutocb in relativeRequireIced_model.py")
    print(isCbWithouAutocb)

    if isCbWithouAutocb:  # (...,cb)->
        params = getParams.getParamsCb(fileContent_target)
        ending = returnLast.getReturnParamsForAutocbCommaSeparated(fileContent_target)
        toClip = "await {0}{1} defer {2}".format(filename, params, ending)
    else:
        if sync:
            # load params sync
            params = callForSyncFunc.byFileContent(fileContent_target)
            returnParams = returnLast.returnParamsForSyncExpressionOrReturn(fileContent_target)
            toClip = "{2} = {0}{1}".format(filename, params, returnParams)
        else:  # async: (..., autocb)->
            params = getParams.getParamsAutocb(fileContent_target)

            autocbOneEnding = returnLast.autocbOneEnding(fileContent_target)
            if autocbOneEnding:
                toClip = "await {0}{1} defer {2}".format(filename, params, autocbOneEnding)
            else:
                ending = returnLast.doAllByFileName(target)
                toClip = "await {0}{1} defer result{2}".format(filename, params, ending)

    result = (require, toClip)
    return result
	def test_testName(self):
		color.blue("test here baby")
		targetFileContent = """th = require 'throw'
# th.Throw()	
rubricKeys = require '../../copyFromSql/2.rubric/rubricKeys.iced'
rf = require '../../rf.iced'
module.exports = (autocb)->
	[z] = rubricKeys ""
	await rf.client.zrevrange z, 0, -1, defer err, allRubricIdList
	th.err err

	return [null, allRubricIdList]"""

		result = returnLast.autocbOneEnding(targetFileContent)
		expected = ""
		assertMy.equals(result, expected)