JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://code.angularjs.org/1.0.5/angular.js"></script>
<script src="http://code.angularjs.org/1.0.5/angular-mocks.js"></script>
<html ng-app='myapp'>
<head>
    <link href="http://blog.bandzarewicz.com/stylesheets/jasmine/jasmine.css" media="screen, projection" rel="stylesheet" type="text/css">

    <script src="https://raw.github.com/pivotal/jasmine/v1.1.0/lib/jasmine-core/jasmine.js"></script>
    <script src="https://raw.github.com/pivotal/jasmine/v1.1.0/lib/jasmine-core/jasmine-html.js"></script>
        <script type="text/javascript" src="http://code.angularjs.org/1.0.5/angular.js"></script>
  <script type="text/javascript" src="http://code.angularjs.org/1.0.5/angular-mocks.js"></script>


  <title>Jasmine Spec Runner</title>
</head>

<body>
</body>
</html>

JavaScript

angular.module('myapp', ['myservice']);

angular.module('myservice', []).factory('myservice', function($q, $timeout) {
  var ls = {};

  ls.DoIt = function() {
    var deferred = $q.defer();
      
    $timeout(function(){
        deferred.resolve(5);
    },3000);
      
    return deferred.promise;
  }
  
  return ls;
  
});

describe('services', function () {

    beforeEach(module('myservice'));
    
    it("should equal 5",  inject(function(myservice, $timeout) {
        
        var valueToVerify;
        myservice.DoIt().then(function(returned) {
          valueToVerify = returned;  
        });  
        $timeout.flush();        
        expect(valueToVerify).toEqual(5);
    }));
});

// Jasmine spec runner
(function () {
    var jasmineEnv = jasmine.getEnv();
    jasmineEnv.updateInterval = 1000;

    var trivialReporter = new jasmine.TrivialReporter();

    jasmineEnv.addReporter(trivialReporter);

    jasmineEnv.specFilter = function (spec) {
        return trivialReporter.specFilter(spec);
    };

    var currentWindowOnload = window.onload;

    window.onload = function () {
        if (currentWindowOnload) {
            currentWindowOnload();
        }
        execJasmine();
    };

    function execJasmine() {
        jasmineEnv.execute();
        trivialReporter.outerDiv.className += ' show-passed';
    }

})();