function truncateText(text, containerWidth, font, ellipsis, options) {
	        if (!containerWidth) {
	            return '';
	        }

	        var textLines = (text + '').split('\n');
	        options = prepareTruncateOptions(containerWidth, font, ellipsis, options);

	        // FIXME
	        // It is not appropriate that every line has '...' when truncate multiple lines.
	        for (var i = 0, len = textLines.length; i < len; i++) {
	            textLines[i] = truncateSingleLine(textLines[i], options);
	        }

	        return textLines.join('\n');
	    }
Show ellipsis if overflow.

@public
@param  {string} text
@param  {string} containerWidth
@param  {string} font
@param  {number} [ellipsis='...']
@param  {Object} [options]
@param  {number} [options.maxIterations=3]
@param  {number} [options.minChar=0] If truncate result are less
                 then minChar, ellipsis will not show, which is
                 better for user hint in some cases.
@param  {number} [options.placeholder=''] When all truncated, use the placeholder.
@return {string}