test.coffee

    # CoffeeScript test
    # Source: https://coffeescript.org

    ### Multiline
      comment ###
    import 'local-file.coffee'

    # Assignment:
    number   = 42
    opposite = true

    # Conditions:
    number = -42 if opposite

    # Functions:
    square = (x) -> x * x

    # Arrays:
    list = [1, 2, 3, 4, 5]

    # Objects:
    math =
      root:   Math.sqrt
      square: square
      cube:   (x) -> x * square x

    # Splats:
    race = (winner, runners...) ->
      print winner, runners

    # Existence:
    alert "I knew it!" if elvis?

    # Array comprehensions:
    cubes = (math.cube num for num in list)

    # Classes:
    class Animal
      constructor: (@name) ->

      move: (meters) ->
        alert @name + " moved #{meters}m."

    # Switch/When/Else:
    switch day
      when "Mon" then go work
      when "Tue" then go relax
      when "Thu" then go iceFishing
      when "Fri", "Sat"
        if day is bingoDay
          go bingo
          go dancing
      when "Sun" then go church
      else go work

    # Member objects:
    Object.prop.  Object .Object Object
    timelineEvent.class

    # Embedded JavaScript Code
    markdown = `function () {
      return \`In Markdown, write code like \\\`this\\\`\`;
    }`

    ```
      // Comment
      var array = new Array(500);
      var name = "Willy";
      alert(`Hello ${name}!`);
    ```
    ` String.raw\`String ${x} \` `

    ` // Regular Expression after template
      const a = \`6\` / 2; /*comment*/
      \`template\` /regex/ `

    ` // Tagged template literals
      tagFunc\`Setting ${setting} is ${value}!\` `