Hello World Angular JS
HTML
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<script src="http://searls.github.io/jasmine-all/jasmine-all-min.js"></script>
<button onClick="rodarTestes()">Executar testes !</button>
<div ng-app="">
<div ng-controller="HelloWorldCtrl">
<p>
<label>Nome</label>
<input type="text" ng-model="nome" required="true" />
</p>
<p>
<label>Número</label>
<input type="number" ng-model="numero" required="true" />
</p>
<p>Olá {{nome}}</p>
<p>Olá {{nome | uppercase}} - <em>(filtro uppercase)</em>
</p>
<p>{{numero | number:2}} - <em>(filtro number)</em>
</p>
</div>
</div>
CSS
.ng-invalid {
border: 1px solid red;
}
JavaScript
function HelloWorldCtrl($scope) {
$scope.nome = "mundo";
$scope.numero = 123;
$scope.digaOla = function () {
return "Olá " + $scope.nome + "!";
};
}
function rodarTestes() {
describe("Controlador HelloWorld", function () {
var scopeMock = {};
var cntrl = null;
beforeEach(function () {
cntl = new HelloWorldCtrl(scopeMock);
});
it('nome deve ser inicializado com "mundo"', function () {
expect(scopeMock.nome).toEqual('mundo');
});
it('deve dizer olá ao novo nome definido', function () {
scopeMock.nome = 'angular';
expect(scopeMock.digaOla()).toEqual('Olá angular!');
});
});
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
jasmineEnv.execute();
}