             semanticTree: stn
             transformedSemanticTree: if transformedStn != stn then transformedStn else "no change"
           log "\n"
+
         throw error if error
-        assert.eq js, expectedJs
+
+        if expectFailure
+          assert.eq js, null
+        else
+          assert.eq js, expectedJs
 
   parseTestSuite: parseTestSuite = (a, b) ->
     map = if b

      options = {}
      a

    hasStrings = hasOther = false
    for k, v of map
      if isString v
        hasStrings = true
      else
        hasOther = true

    throw new Error "either strings or others!" if hasStrings && hasOther
    if hasStrings
      -> parseTests options, map
    else
      object map, (v) -> parseTestSuite options, v

{CaffeineScript} = Neptune
{isNumber, each, object, array, isArray, log, formattedInspect, isPlainObject, merge, object, stringCount, isString} = Neptune.Art.StandardLib
{CaffeineScriptParser} = CaffeineScript
require "colors"

