tracker issue : CF-4204413

select a category, or use search below
(searches all categories and all time range)
Title:

CFDump is missing CSS and JavaScript when output is set to false

| View in Tracker

Status/Resolution/Reason: To Fix//BugVerified

Reporter/Name(from Bugbase): Laura H. / ()

Created: 05/23/2019

Components: Debugging, CFDump

Versions: 2018

Failure Type: Incorrectly functioning

Found In Build/Fixed In Build: 2018.0.03.314033 /

Priority/Frequency: Normal / Most users will encounter

Locale/System: English / Windows 10 64 bit

Vote Count: 0

Problem Description:

When <cfdump> (or WriteDump()) is called within a function that has its "output" attribute set to "false", a dump output will appear, but it is missing the CSS and JavaScript that usually is inserted before the actual dump.
This behaviour renders the dump output unusable in those situations, and the only workaround is to set the "output"-attribute to "true" or to omit it. This, however, is not a viable solution since it is prone to errors and makes debugging in ColdFusion 2018 much less comfortable.
The difficulties that this bug produces are the reason why I set the severity to "Minor Failure" instead of "Cosmetic".

Steps to Reproduce:

<!--- File: test.cfm --->
<cffunction name="testFunction" returntype="void" output="false">
	<cfset local.testStruct = { "test": true }>
	
	<cfdump var="#local.testStruct#">
	<cfabort>
</cffunction>

<cfset testFunction()>
<!--- End File: test.cfm --->

Actual Result:

A dump output is generated, but it is missing important styles and it is generating JavaScript Errors, for example when clicking on "struct" trying to expand/collapse it.

Expected Result:

The dump output should contain the CSS and JavaScript blocks, that normally are generated at the beginning of the dump output and make the dump output look and work like it is described within the official documentation: https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-d-e/cfdump.html

Any Workarounds:

Omit the output attribute like this:

<!--- File: test.cfm --->
<cffunction name="testFunction" returntype="void">
	<cfset local.testStruct = { "test": true }>
	
	<cfdump var="#local.testStruct#">
	<cfabort>
</cffunction>

<cfset testFunction()>
<!--- End File: test.cfm --->

Or set it to true instead of false. Yet afterwards, it obviously needs to be changed back to false.

Attachments:

Comments: