FancordionRelease Notes



  • Chg: Added more extensive docs on BedSheet testing.
  • Bug: Table parsing stripped off any trailing + characters.


  • New: Added todo command.
  • New: Added table macros #COL and #ROWS[n].
  • New: FancordionSkin renders a <meta charset="UTF-8"/> tag for viewing results from the file system.
  • New: Link cmd may also link to other fixtures.
  • New: Added static cur() methods to FixtureMeta and FixtureCtx.
  • Chg: Deprecated #N macro in favour of #COL.
  • Chg: VerifyErrType matches both qualified and non-qualified type names.
  • Chg: VerifyErrType and VerifyErrMsg may test the same Err instance.
  • Bug: Test still passed if table container fewer rows than actual test data.




  • New: FancordionRunner.sectionFuncs determine which headings correspond to sections and should be wrapped in a special border.
  • New: Added moar SpecificationFinders to find standalone .specification, .spec and .fandoc files.
  • Chg: FancordionSkin methods now render direct to the skin's StrBuf and return this. (Breaking change.)
  • Chg: FancordionRunner.commands now also accepts an immutable function of |Str cmdUrl->Bool| as a key.
  • Chg: Converted FancordionRunner.gimmeSomeSkin() from a virutal method to a field. (Breaking change.)
  • Bug: #COL[0] variables were not available in col[x]+XX: commands.


  • New: Added SpecificationFinders that look for external .spec files.
  • New: Added verifyErrType command.
  • New: Added verifyErrMsg command.
  • New: Use Fantom links (like sys::Uri) and fandoc scheme links (like fandoc:sys/api/Uri) in specifications - thanks to a new FandocCmd.
  • New: CmdRun now guards against stoopid recursion.
  • Bug: In FancordionSkin, replaced the <emphasis> HTML tag with <em> - D'Oh!


  • New: Added Table row+ command to execute commands on row by row basis.
  • New: CommandCtx wraps some common command methods.
  • New: Added cmd shortcut aliases, e.g. use eq: in place of verifyEq:.
  • New: Added #FIXTURE command macro.
  • New: verifyRows table command works on 2D tables.
  • New: Table col[n] command with #N macro.
  • Chg: Command expressions need not be run against the fixure.
  • Chg: Set command only uses BeanProperties for simple expressions.
  • Chg: More lenient table parsing.
  • Chg: Arguments for verifyEq commands are trimmed.
  • Bug: Table markup was not rendered when table command failed fast.
  • Bug: Tables are no longer rendered in a pre tag.
  • Bug: Could not render plain anchor / frag links.
  • Bug: Fixture macros were not applied to verify commands.
  • Bug: Tables could not have empty cells.



  • New: Added Table syntax in pre-formatted text.
  • New: Added Table column commands.
  • New: Added Table verifyRows command.
  • Chg: Simplified verify command syntax: verify:Eq(xxx) -> verifyEq:xxx.


  • New: Project renamed to Fancordion - see Concordion for Fantom.
  • New: Added FancordionRunner.current() that returns the current FancordionRunner in use, or null if none.
  • Chg: FixtureTest now extends Test.


  • New: Preview release.