jasmineExample

by jazahn

HTML

<script src="http://jasmine.github.io/2.2/lib/jasmine.js"></script>
<script src="http://jasmine.github.io/2.2/lib/jasmine-html.js"></script>
<link rel="stylesheet" href="http://jasmine.github.io/2.2/lib/jasmine.css">
<script src="http://jasmine.github.io/2.2/lib/boot.js"></script>
  <title>Jasmine Spec Runner v2.2.0</title>

JavaScript

describe("Common tests", function() {
	describe("extractNumbers", function(){
 		it("ExtractNumbers method should extract numbers from a string", function () {
    		expect(extractNumbers("Logan 5, Francis 7")).toBe("57");
        });
    });
});

// a function that takes a string and returns only the numbers
function extractNumbers(text) {
    if (!text)
        return text;
    
    return text.replace( /\D+/g, '');
}

// a function that takes a string and only returns the first word
function firstWord(text){
    return text.split(" ")[0];
}

// a function that takes an array of strings and sorts them alphabetically (using https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)
function sortSingleNames(arr){
    return arr.sort;
}

// a funtcion that takes an array of name objects (like below) and sorts them based on lname
var names = [
    { fname: "Norman", lname: "Reedus" }, { fname: "Andrew", lname: "Lincoln" },
    { fname: "Steven", lname: "Yeun" }, { fname: "Lauren", lname: "Cohan" },
    { fname: "Danai", lname: "Gurira" }, { fname: "Melissa", lname: "McBride" }
];
function sortNames(arr){
    return arr.sort(function(a, b){
        if(a.lname.toLowerCase() < b.lname.toLowerCase()){
            return 1;
        } else if(a.lname.toLowerCase() > b.lname.toLowerCase()){
            return -1;
        } else {
            return 0;
        }
    });
}

// TODO: write a function that calls one of the earlier functions, test to make sure that inner function was called (