jasmine test running on jsFiddle

jsFiddle template to run a jasmine test inside jsFiddle. Adds jasmine external resources, and initializes jasmine's HtmlReporter on window load. For more infor check this article: http://opensas.wordpress.com/2013/06/23/sharing-you-javascript-ninja-secrets-run-your-jasmine-tests-on-jsfiddle/

by levrun

HTML

<script src="https://cdn.jsdelivr.net/jasmine/2.5.2/jasmine.js"></script>
<script src="https://cdn.jsdelivr.net/jasmine/2.5.2/jasmine-html.js"></script>
<script src="https://cdn.jsdelivr.net/jasmine/2.5.2/boot.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/jasmine/2.5.2/jasmine.css">
<title>String calculator with TypeScript and Jasmine</title>

TypeScript

class StringCalculator {
    
    constructor() {
    }
    
    add(input: String) {
      if(input == null || input == "") {
      	return 0;
      }
      
      console.log("Input string is  " + input);
      
      var separator: string = ",";
      
      console.log("substring " + input.substring(0, 2));
      if (input.substring(0, 2) == "//") {
        
        console.log("Separator setup case ");
        separator = input.substring(2, 3);
      	input = input.substring(4, input.length);
      }
      
      console.log("Separator is " + separator);
      
      input = input.replace(/\n/g, separator);
      
      var array[] = input.split(separator);
      
      var errors[]:int[] = [];
      var summ: int = 0;
      for(let numberStr of array) {
        var num: int = parseInt(numberStr);
        if(num < 0) {
        	errors.push(num);	
        }
        summ = summ + num;
      }
      
      if(errors.length > 0) {
        var negatives:string = "";
        
        console.log(errors); 
        
        for (var item in errors) {
   					 negatives = negatives + errors[item].toString() + " ";
             console.log(item); 
				}
          
        console.log("Input string contains negative " + negatives);
      	throw new Error("Input string contains negative " + negatives);
      }
      
      return summ;
    	
    }
    

}

describe("String calculator suite", function() {
  
  it("Test that empty string return zero", function(done) {
    StringCalculator calculator = new StringCalculator();
    expect(calculator.add("")).toBe(0);
    setTimeout(done, 1000);
  });
  
  it("Test that one number return the same number", function(done) {
    StringCalculator calculator = new StringCalculator();
    expect(calculator.add("1")).toBe(1);
    setTimeout(done, 1000);
  });
  
  it("Test that two numbers return their summ", function(done) {
    StringCalculator calculator = new StringCalculator();
    expect(calculator.add("1,2")).toBe(3);
   ...