-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adding some functionality to rails-lib, experimenting with elisp BDD …
…framework, first test driven bug fix I felt that tests were missing from the emacs rails package so I have been experimenting a bit. There is now a behave-rails.el file which contains contexts that can be used by Technomancy's behave BDD framework. Although behave is old and no longer maintained it has some nice features. I may go for a different framework in the end. To use behave you can get it from git://github.com/tomtt/elisp_behave.git or alternatively clone my entire emacslisp dir from git://github.com/tomtt/tomtt_emacslisp.git. The most interesting other framework out there seems to be el-expectations: http://www.emacswiki.org/cgi-bin/wiki/EmacsLispExpectations
- Loading branch information
Tom ten Thij
committed
May 14, 2008
1 parent
16ae768
commit 91593a6
Showing
2 changed files
with
60 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
(require 'behave) | ||
|
||
(context "Testing if string is camelized" | ||
(tag rails rails-lib camelized-p) | ||
(specify "should be nil if there are no capital characters" | ||
(expect (camelized-p "horse") equal nil)) | ||
(specify "should be 0 for a word with first character being a capital" | ||
(expect (camelized-p "Horse") equal 0)) | ||
(specify "should be nil if the first character is not a capital" | ||
(expect (camelized-p "dragonFly") equal nil)) | ||
(specify "should be 0 if there are multiple capitals" | ||
(expect (camelized-p "DragonFly") equal 0)) | ||
(specify "should be 0 if it has numbers" | ||
(expect (camelized-p "DragonFly69") equal 0)) | ||
(specify "should be nil if all its characters are capital" | ||
(expect (camelized-p "DONKEY") equal nil))) | ||
|
||
(context "Testing if string is underscored" | ||
(tag rails rails-lib underscored-p) | ||
(specify "should be nil if there is a capital character" | ||
(expect (underscored-p "horSe") equal nil)) | ||
(specify "should be 0 if all characters are lowercase" | ||
(expect (underscored-p "horse") equal 0)) | ||
(specify "should be 0 if some characters are numbers" | ||
(expect (underscored-p "horse12") equal 0)) | ||
(specify "should be 0 if some characters are underscores" | ||
(expect (underscored-p "dragon_fly") equal 0)) | ||
(specify "should be nil if the first character is not a letter" | ||
(expect (underscored-p "5_gold_rings") equal nil)) | ||
) | ||
|
||
(context "Decamelizing" | ||
(tag rails rails-lib decamelize) | ||
(specify "should return a string of all lower case characters unchanged" | ||
(expect (decamelize "horse") equal "horse")) | ||
(specify "should replace an initial capital with a lower case character" | ||
(expect (decamelize "Horse") equal "horse")) | ||
(specify "should insert underscores before capital letters" | ||
(expect (decamelize "AntEaterTongue") equal "ant_eater_tongue")) | ||
(specify "should insert one underscore after last character of serie of capitals" | ||
(expect (decamelize "SMSMessage") equal "sms_message")) | ||
(specify "should insert an underscore between a digit and a capital" | ||
(expect (decamelize "Dalmatien101Movie") equal "dalmatien101_movie")) | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters