exercism/cfml

Name: cfml

Owner: exercism

Description: Exercism exercises in CFML.

Created: 2015-04-23 02:42:35.0

Updated: 2018-05-16 20:14:13.0

Pushed: 2018-02-07 20:29:33.0

Homepage: http://exercism.io/languages/cfml

Size: 177

Language: ColdFusion

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Exercism ColdFusion Track

Build Status

Exercism problems in ColdFusion. There are two major CFML engines in existence:

These exercises should teach the basics of CFML in a way that can be transferred to either engine. The CommandBox CLI will run your tests against Lucee Server by default.

Setup

The only thing you will need to run these exercises is CommandBox CLI and Java 7+ installed. CommandBox CLI is supported on Mac, Linux, and Windows, and the installation guide can be found here:

https://ortus.gitbooks.io/commandbox-documentation/content/setup/installation.html

An example of getting CommandBox CLI setup if you're a Homebrew user on Mac would be:

 install commandbox
Anatomy of an Exercise

The files for an exercise live in /exercises/<slug>. The slug for an exercise is a unique nickname composed of a-z (lowercase) and -, e.g. leap or hello-world. Inside its directory, each exercise has:

Running the Tests

To run the test for a given exercise, cd into the folder and run the following:

task run TestRunner
 start up a test watcher that will rerun when files change
task run TestRunner --:watcher

If you want to run the test suite against the solution:

task run TestRunner --:solution

The tests leverage a library called TestBox which supports xUnit and BDD style of testing. All test suites will be written in the BDD style which uses closures to define test specs. You won't need to worry about installing TestBox. The CLI test runner will take care of that for you. You just need to be connected to the internet the first time you run it. You can read more about it here:

https://testbox.ortusbooks.com/content/

Pull Requests

We welcome pull requests that provide fixes to existing test suites (missing tests, interesting edge cases, improved APIs), as well as new problems.

If you're unsure, then go ahead and open a GitHub issue, and we'll discuss the change.

Please submit changes to a single problem per pull request unless you're submitting a general change across many of the problems (e.g. formatting).

Style Guide

The exercise tests, solutions, and filenames will follow this ColdFusion style guide.

ColdFusion (CFML) Standards & Best Practices

Here's the TL;DR; version.

condition || otherCondition ) {
myStruct[ key ] = doSomething( param1, param2, true, 'Tuesday' );
se {
return false;

TODO: Configure task runner to lint exercises and clean trailing whitespace and tabs/spaces. Allow this to be run on all exercises or a single one.

Contributing Guide

Please see the contributing guide


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.