Route params test
http://angularjs.org/
HTML
<script src="https://raw.github.com/pivotal/jasmine/master/lib/jasmine-core/jasmine.js"></script>
<script src="https://raw.github.com/pivotal/jasmine/master/lib/jasmine-core/jasmine-html.js"></script>
<script src="http://code.angularjs.org/1.0.1/angular-1.0.1.js"></script>
<script src="http://code.angularjs.org/1.0.1/angular-mocks-1.0.1.js"></script>
<div ng-controller="lame">{{result}}</div>
CSS
body {
background-color: #eeeeee;
padding: 0;
margin: 5px;
overflow-y: scroll;
}
#TrivialReporter {
padding: 8px 13px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
overflow-y: scroll;
background-color: white;
font-family:"Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif;
/*.resultMessage {*/
/*white-space: pre;*/
/*}*/
}
#TrivialReporter a:visited, #TrivialReporter a {
color: #303;
}
#TrivialReporter a:hover, #TrivialReporter a:active {
color: blue;
}
#TrivialReporter .run_spec {
float: right;
padding-right: 5px;
font-size: .8em;
text-decoration: none;
}
#TrivialReporter .banner {
color: #303;
background-color: #fef;
padding: 5px;
}
#TrivialReporter .logo {
float: left;
font-size: 1.1em;
padding-left: 5px;
}
#TrivialReporter .logo .version {
font-size: .6em;
padding-left: 1em;
}
#TrivialReporter .runner.running {
background-color: yellow;
}
#TrivialReporter .options {
text-align: right;
font-size: .8em;
}
#TrivialReporter .suite {
border: 1px outset gray;
margin: 5px 0;
padding-left: 1em;
}
#TrivialReporter .suite .suite {
margin: 5px;
}
#TrivialReporter .suite.passed {
background-color: #dfd;
}
#TrivialReporter .suite.failed {
background-color: #fdd;
}
#TrivialReporter .spec {
margin: 5px;
padding-left: 1em;
clear: both;
}
#TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped {
padding-bottom: 5px;
border: 1px solid gray;
}
#TrivialReporter .spec.failed {
background-color: #fbb;
border-color: red;
}
#TrivialReporter .spec.passed {
background-color: #bfb;
border-color: green;
}
#TrivialReporter .spec.skipped {
background-color: #bbb;
}
#TrivialReporter .messages {
border-left: 1px dashed gray;
padding-left: 1em;
padding-right: 1em;
}
#TrivialReporter .passed {
background-color:...
JavaScript
angular.module('MyApp', []).controller('MyAppCtrl', function ($scope, $routeParams) {
$scope.id = $routeParams.discussionId || $routeParams.articleId || "new";
});
//Test code
describe('Testing a controller', function () {
var scope, ctrl, routeParams;
//you need to indicate your module in a test
beforeEach(module('MyApp'));
beforeEach(inject(function ($rootScope) {
scope = $rootScope.$new();
routeParams = {};
}));
it('should take articleId as id if specified', inject(function ($controller) {
routeParams.articleId = 5;
ctrl = $controller('MyAppCtrl', {
$scope: scope,
$routeParams: routeParams
});
expect(scope.id).toEqual(5);
}));
it('should default id to new if no route params specified', inject(function ($controller) {
ctrl = $controller('MyAppCtrl', {
$scope: scope,
$routeParams: routeParams
});
expect(scope.id).toEqual('new');
}));
});
// KICK OFF JASMINE
var jasmineEnv = jasmine.getEnv();
var trivialReporter = new jasmine.TrivialReporter();
jasmineEnv.addReporter(trivialReporter);
jasmineEnv.specFilter = function (spec) {
return trivialReporter.specFilter(spec);
};
jasmineEnv.execute();