Skip to content

Refactor to support BoxLang alongside ACF,Lucee#450

Open
lanechase34 wants to merge 2 commits into
cfsimplicity:developfrom
lanechase34:boxlang_support
Open

Refactor to support BoxLang alongside ACF,Lucee#450
lanechase34 wants to merge 2 commits into
cfsimplicity:developfrom
lanechase34:boxlang_support

Conversation

@lanechase34
Copy link
Copy Markdown

@lanechase34 lanechase34 commented May 17, 2026

Changes:

  • BoxLang has null support on by default. Keys defined in the arguments scope are 'present' but default to null value. For BoxLang, we must check that the arguments.key is not null alongside arguments.keyExists()
  • BoxLang returns the query metadata in a different format. queryHelper.parseMetadata formats the BoxLang column metadata to the same format as ACF/Lucee.
  • ArrayResize() and QueryNew() do not default to using empty string ("") as default for 'null/empty' values. We must be explicit in defining the "" as the value that should be used.
  • BoxLang has default date/time formatting literals. The default formats and test cases were updated to account for this.
  • Use '.valueOf()' to access properties instead of short-hand notation.
  • BoxLang was trimming the newline whitespace at the end of csv files - not sure why this was happening but we instead append an extra new line or use the substring() method instead of toString().
  • Allow test suite to report back in json format, update workflow to show json results to better see entire test suite result.

Results:

  • 2 failing tests in BoxLang still - not sure if they are resolvable. The FileGetMimeType() seems to always look at the content rather than the extension in BoxLang. I am not familiar with a password protected xlsx file - I haven't really looked into that test too deep.
    -- can read the csv from a text file with an .xls extension (12 ms)
    -- Can write an XLSX file encrypted with a password (89 ms) - The supplied POIFSFileSystem does not contain a BIFF8 'Workbook' entry. Is it really an excel file? Had: []

  • 2 failing tests in Lucee6, Lucee7 - these were present before the changes I made were done.
    -- Sets the specified cell to the specified date value even if the Lucee timezone doesn't match the system (13 ms) - Expected [42106] but received [42105.8]
    -- allows the format of date and time values to be customised (11 ms) - Expected [2019-04-12] but received [2019-04-11]

  • ACF2025 all tests pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant