Submit Search
Upload
Testing Javascript with Jasmine
•
11 likes
•
1,875 views
André Faria Gomes
Follow
Presentation about testing Javascript with Jasmine. https://github.com/pivotal/jasmine
Read less
Read more
Technology
Report
Share
Report
Share
1 of 28
Recommended
JavaScript gotchas
JavaScript gotchas
Pierre Nallet
7 decision-control
7 decision-control
Rohit Shrivastava
Catch and throw blocks
Catch and throw blocks
ashrafkhan12345
Nesting of if else statement & Else If Ladder
Nesting of if else statement & Else If Ladder
Vishvesh Jasani
Conditional statement c++
Conditional statement c++
amber chaudary
Conditionalstatement
Conditionalstatement
RaginiJain21
Control statement
Control statement
Sakib Shahriar
Chapter 8 - Conditional Statement
Chapter 8 - Conditional Statement
Deepak Singh
Recommended
JavaScript gotchas
JavaScript gotchas
Pierre Nallet
7 decision-control
7 decision-control
Rohit Shrivastava
Catch and throw blocks
Catch and throw blocks
ashrafkhan12345
Nesting of if else statement & Else If Ladder
Nesting of if else statement & Else If Ladder
Vishvesh Jasani
Conditional statement c++
Conditional statement c++
amber chaudary
Conditionalstatement
Conditionalstatement
RaginiJain21
Control statement
Control statement
Sakib Shahriar
Chapter 8 - Conditional Statement
Chapter 8 - Conditional Statement
Deepak Singh
Conditional Statement in C Language
Conditional Statement in C Language
Shaina Arora
CONDITIONAL STATEMENT IN C LANGUAGE
CONDITIONAL STATEMENT IN C LANGUAGE
Ideal Eyes Business College
Conditional and control statement
Conditional and control statement
narmadhakin
C lecture 3 control statements slideshare
C lecture 3 control statements slideshare
Gagan Deep
Lecture04(control structure part i)
Lecture04(control structure part i)
Dhaka University of Engineering & Technology(DUET)
basic of desicion control statement in python
basic of desicion control statement in python
nitamhaske
control statement
control statement
Kathmandu University
5 c control statements looping
5 c control statements looping
MomenMostafa
C if else
C if else
Ritwik Das
PHP MATERIAL
PHP MATERIAL
zatax
Selection Statements in C Programming
Selection Statements in C Programming
Kamal Acharya
Control Statement programming
Control Statement programming
University of Potsdam
Php & my sql
Php & my sql
Norhisyam Dasuki
SQL -PHP Tutorial
SQL -PHP Tutorial
Information Technology
Module 2- Control Structures
Module 2- Control Structures
nikshaikh786
Branching in C
Branching in C
Prabhu Govind
Control and conditional statements
Control and conditional statements
rajshreemuthiah
C++ STATEMENTS
C++ STATEMENTS
Prof Ansari
Arrays
Arrays
Edwin Llamas
Decision Control Structure If & Else
Decision Control Structure If & Else
Abdullah Bhojani
Tránsito en Bahía Blanca- Accidente de tránsito.
Tránsito en Bahía Blanca- Accidente de tránsito.
Karndulce
Manual de practicas de solidworks
Manual de practicas de solidworks
RM Diez Andre
More Related Content
What's hot
Conditional Statement in C Language
Conditional Statement in C Language
Shaina Arora
CONDITIONAL STATEMENT IN C LANGUAGE
CONDITIONAL STATEMENT IN C LANGUAGE
Ideal Eyes Business College
Conditional and control statement
Conditional and control statement
narmadhakin
C lecture 3 control statements slideshare
C lecture 3 control statements slideshare
Gagan Deep
Lecture04(control structure part i)
Lecture04(control structure part i)
Dhaka University of Engineering & Technology(DUET)
basic of desicion control statement in python
basic of desicion control statement in python
nitamhaske
control statement
control statement
Kathmandu University
5 c control statements looping
5 c control statements looping
MomenMostafa
C if else
C if else
Ritwik Das
PHP MATERIAL
PHP MATERIAL
zatax
Selection Statements in C Programming
Selection Statements in C Programming
Kamal Acharya
Control Statement programming
Control Statement programming
University of Potsdam
Php & my sql
Php & my sql
Norhisyam Dasuki
SQL -PHP Tutorial
SQL -PHP Tutorial
Information Technology
Module 2- Control Structures
Module 2- Control Structures
nikshaikh786
Branching in C
Branching in C
Prabhu Govind
Control and conditional statements
Control and conditional statements
rajshreemuthiah
C++ STATEMENTS
C++ STATEMENTS
Prof Ansari
Arrays
Arrays
Edwin Llamas
Decision Control Structure If & Else
Decision Control Structure If & Else
Abdullah Bhojani
What's hot
(20)
Conditional Statement in C Language
Conditional Statement in C Language
CONDITIONAL STATEMENT IN C LANGUAGE
CONDITIONAL STATEMENT IN C LANGUAGE
Conditional and control statement
Conditional and control statement
C lecture 3 control statements slideshare
C lecture 3 control statements slideshare
Lecture04(control structure part i)
Lecture04(control structure part i)
basic of desicion control statement in python
basic of desicion control statement in python
control statement
control statement
5 c control statements looping
5 c control statements looping
C if else
C if else
PHP MATERIAL
PHP MATERIAL
Selection Statements in C Programming
Selection Statements in C Programming
Control Statement programming
Control Statement programming
Php & my sql
Php & my sql
SQL -PHP Tutorial
SQL -PHP Tutorial
Module 2- Control Structures
Module 2- Control Structures
Branching in C
Branching in C
Control and conditional statements
Control and conditional statements
C++ STATEMENTS
C++ STATEMENTS
Arrays
Arrays
Decision Control Structure If & Else
Decision Control Structure If & Else
Viewers also liked
Tránsito en Bahía Blanca- Accidente de tránsito.
Tránsito en Bahía Blanca- Accidente de tránsito.
Karndulce
Manual de practicas de solidworks
Manual de practicas de solidworks
RM Diez Andre
Animating Digital Libraries
Animating Digital Libraries
James Williamson
Pomodoro
Pomodoro
André Faria Gomes
DXi EXEC SUMMARY
DXi EXEC SUMMARY
Srinivas Kilambi
INTRODUCCION A LA INGENIERIA Y OTROS SABERES DEL SIGLO XXI
INTRODUCCION A LA INGENIERIA Y OTROS SABERES DEL SIGLO XXI
Jorge Eduardo Noro
DEspinoza_Resume
DEspinoza_Resume
Derrick Espinoza
emt nat. cert
emt nat. cert
christopher cozad
MG Doyle Reference
MG Doyle Reference
Drusilla Bouraima
Resume of Cliff Daniels
Resume of Cliff Daniels
Cliff Daniels
termodinamica y sus aplicaciones a los seres vivos
termodinamica y sus aplicaciones a los seres vivos
mariaalanoca
Ptengine 「隠し要素」とは
Ptengine 「隠し要素」とは
Ptmind_jp
HELVETASinNepal_60Years_20062016
HELVETASinNepal_60Years_20062016
Tekendra Kumar Wod
Sci10 tg u2
Sci10 tg u2
Justine Romero
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
schoowebcampus
Actividad 5 ELEMENTOS DE LAS DIAPOSITIVAS
Actividad 5 ELEMENTOS DE LAS DIAPOSITIVAS
jose luis Ruiz Guzman
Actividad 7
Actividad 7
jose luis Ruiz Guzman
Actividad 10 6 g
Actividad 10 6 g
jose luis Ruiz Guzman
Viewers also liked
(18)
Tránsito en Bahía Blanca- Accidente de tránsito.
Tránsito en Bahía Blanca- Accidente de tránsito.
Manual de practicas de solidworks
Manual de practicas de solidworks
Animating Digital Libraries
Animating Digital Libraries
Pomodoro
Pomodoro
DXi EXEC SUMMARY
DXi EXEC SUMMARY
INTRODUCCION A LA INGENIERIA Y OTROS SABERES DEL SIGLO XXI
INTRODUCCION A LA INGENIERIA Y OTROS SABERES DEL SIGLO XXI
DEspinoza_Resume
DEspinoza_Resume
emt nat. cert
emt nat. cert
MG Doyle Reference
MG Doyle Reference
Resume of Cliff Daniels
Resume of Cliff Daniels
termodinamica y sus aplicaciones a los seres vivos
termodinamica y sus aplicaciones a los seres vivos
Ptengine 「隠し要素」とは
Ptengine 「隠し要素」とは
HELVETASinNepal_60Years_20062016
HELVETASinNepal_60Years_20062016
Sci10 tg u2
Sci10 tg u2
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
ヒートマップで、アクセス解析・仮説検証力を磨く 先生:小原 良太郎
Actividad 5 ELEMENTOS DE LAS DIAPOSITIVAS
Actividad 5 ELEMENTOS DE LAS DIAPOSITIVAS
Actividad 7
Actividad 7
Actividad 10 6 g
Actividad 10 6 g
Similar to Testing Javascript with Jasmine
Javascript conditional statements 1
Javascript conditional statements 1
Jesus Obenita Jr.
Regular Expressions: JavaScript And Beyond
Regular Expressions: JavaScript And Beyond
Max Shirshin
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
WebStackAcademy
Jasmine BDD for Javascript
Jasmine BDD for Javascript
Luis Alfredo Porras Páez
Farewell to #define private public
Farewell to #define private public
PVS-Studio
PHP and MySQL
PHP and MySQL
Sanketkumar Biswas
JSregularExpressions.pptx
JSregularExpressions.pptx
MattMarino13
Javascript - Break statement, type conversion, regular expression
Javascript - Break statement, type conversion, regular expression
Shivam gupta
JavaScript.pptx
JavaScript.pptx
Govardhan Bhavani
Clojure for Java developers - Stockholm
Clojure for Java developers - Stockholm
Jan Kronquist
Scala design pattern
Scala design pattern
Kenji Yoshida
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
javasebeyondbasics
javasebeyondbasics
webuploader
Contracts in-clojure-pete
Contracts in-clojure-pete
jessitron
javascript-variablesanddatatypes-130218094831-phpapp01.pdf
javascript-variablesanddatatypes-130218094831-phpapp01.pdf
AlexShon3
JavaScript Unit Testing with an Angular 5.x Use Case 101
JavaScript Unit Testing with an Angular 5.x Use Case 101
Hazem Saleh
Ekeko Technology Showdown at SoTeSoLa 2012
Ekeko Technology Showdown at SoTeSoLa 2012
Coen De Roover
Ecma script 5
Ecma script 5
Alexander Tarasyuk
Lex and Yacc Tool M1.ppt
Lex and Yacc Tool M1.ppt
MohitJain296729
Similar to Testing Javascript with Jasmine
(19)
Javascript conditional statements 1
Javascript conditional statements 1
Regular Expressions: JavaScript And Beyond
Regular Expressions: JavaScript And Beyond
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
JavaScript - Chapter 9 - TypeConversion and Regular Expressions
Jasmine BDD for Javascript
Jasmine BDD for Javascript
Farewell to #define private public
Farewell to #define private public
PHP and MySQL
PHP and MySQL
JSregularExpressions.pptx
JSregularExpressions.pptx
Javascript - Break statement, type conversion, regular expression
Javascript - Break statement, type conversion, regular expression
JavaScript.pptx
JavaScript.pptx
Clojure for Java developers - Stockholm
Clojure for Java developers - Stockholm
Scala design pattern
Scala design pattern
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
javasebeyondbasics
javasebeyondbasics
Contracts in-clojure-pete
Contracts in-clojure-pete
javascript-variablesanddatatypes-130218094831-phpapp01.pdf
javascript-variablesanddatatypes-130218094831-phpapp01.pdf
JavaScript Unit Testing with an Angular 5.x Use Case 101
JavaScript Unit Testing with an Angular 5.x Use Case 101
Ekeko Technology Showdown at SoTeSoLa 2012
Ekeko Technology Showdown at SoTeSoLa 2012
Ecma script 5
Ecma script 5
Lex and Yacc Tool M1.ppt
Lex and Yacc Tool M1.ppt
More from André Faria Gomes
Meetup Escale - Gestão para Equipes de Alta Performance
Meetup Escale - Gestão para Equipes de Alta Performance
André Faria Gomes
Protagonistas da inovação - Como criar e gerir os negócios do futuro
Protagonistas da inovação - Como criar e gerir os negócios do futuro
André Faria Gomes
A Mobilidade como Propulsor da Transformação Digital
A Mobilidade como Propulsor da Transformação Digital
André Faria Gomes
Além da Agilidade 2019 - KickOff Wow
Além da Agilidade 2019 - KickOff Wow
André Faria Gomes
Modern systems architectures: Uber, Lyft, Cabify
Modern systems architectures: Uber, Lyft, Cabify
André Faria Gomes
Breaking the monolith
Breaking the monolith
André Faria Gomes
Agilidade - APAS
Agilidade - APAS
André Faria Gomes
Principles and Radical Transparency - Lessons Learned from Ray Dalio
Principles and Radical Transparency - Lessons Learned from Ray Dalio
André Faria Gomes
Bluesoft @ AWS re:Invent 2017 + AWS 101
Bluesoft @ AWS re:Invent 2017 + AWS 101
André Faria Gomes
Boas Práticas da Rede Supermercadista Wegmans
Boas Práticas da Rede Supermercadista Wegmans
André Faria Gomes
Boas Práticas para Supermercadistas inspiradas no Whole Foods, Sprouts Marke...
Boas Práticas para Supermercadistas inspiradas no Whole Foods, Sprouts Marke...
André Faria Gomes
Change management - Kotter’s eight-step model
Change management - Kotter’s eight-step model
André Faria Gomes
Palestra na Uninove sobre Agilidade
Palestra na Uninove sobre Agilidade
André Faria Gomes
Pensando Rápido e Devagar
Pensando Rápido e Devagar
André Faria Gomes
What happened to Google Reader?
What happened to Google Reader?
André Faria Gomes
Gestão Ágil com Management 3.0
Gestão Ágil com Management 3.0
André Faria Gomes
Lições aprendidas em 10 anos de agilidade
Lições aprendidas em 10 anos de agilidade
André Faria Gomes
Os 7 hábitos das pessoas altamente eficazes
Os 7 hábitos das pessoas altamente eficazes
André Faria Gomes
Objetividade: A Virtude Esquecida
Objetividade: A Virtude Esquecida
André Faria Gomes
Bematech IFRS
Bematech IFRS
André Faria Gomes
More from André Faria Gomes
(20)
Meetup Escale - Gestão para Equipes de Alta Performance
Meetup Escale - Gestão para Equipes de Alta Performance
Protagonistas da inovação - Como criar e gerir os negócios do futuro
Protagonistas da inovação - Como criar e gerir os negócios do futuro
A Mobilidade como Propulsor da Transformação Digital
A Mobilidade como Propulsor da Transformação Digital
Além da Agilidade 2019 - KickOff Wow
Além da Agilidade 2019 - KickOff Wow
Modern systems architectures: Uber, Lyft, Cabify
Modern systems architectures: Uber, Lyft, Cabify
Breaking the monolith
Breaking the monolith
Agilidade - APAS
Agilidade - APAS
Principles and Radical Transparency - Lessons Learned from Ray Dalio
Principles and Radical Transparency - Lessons Learned from Ray Dalio
Bluesoft @ AWS re:Invent 2017 + AWS 101
Bluesoft @ AWS re:Invent 2017 + AWS 101
Boas Práticas da Rede Supermercadista Wegmans
Boas Práticas da Rede Supermercadista Wegmans
Boas Práticas para Supermercadistas inspiradas no Whole Foods, Sprouts Marke...
Boas Práticas para Supermercadistas inspiradas no Whole Foods, Sprouts Marke...
Change management - Kotter’s eight-step model
Change management - Kotter’s eight-step model
Palestra na Uninove sobre Agilidade
Palestra na Uninove sobre Agilidade
Pensando Rápido e Devagar
Pensando Rápido e Devagar
What happened to Google Reader?
What happened to Google Reader?
Gestão Ágil com Management 3.0
Gestão Ágil com Management 3.0
Lições aprendidas em 10 anos de agilidade
Lições aprendidas em 10 anos de agilidade
Os 7 hábitos das pessoas altamente eficazes
Os 7 hábitos das pessoas altamente eficazes
Objetividade: A Virtude Esquecida
Objetividade: A Virtude Esquecida
Bematech IFRS
Bematech IFRS
Recently uploaded
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Rick Flair
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Nicole Novielli
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
LoriGlavin3
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Nathaniel Shimoni
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
Recently uploaded
(20)
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Testing Javascript with Jasmine
1.
André Faria Gomes
@andrefaria
2.
Jasmine is a
behavior-driven development framework for testing your JavaScript code.
3.
It does not
depend on any other JavaScript frameworks
4.
It does not
require a DOM
5.
It has a
clean, obvious syntax so that you can easily write tests.
6.
7.
Specs
8.
Expectations
9.
Suites
10.
Nested
11.
Disabling
describe => xdescribe it => xit
12.
Matchers expect(x).toEqual(y); expect(x).toBe(y);
//same expect(x).toMatch(pattern); //regex expect(x).toBeDefined(); //not undefined expect(x).toBeNull(); expect(x).toBeTruthy(); expect(x).toBeFalsy(); expect(x).toContain(y); //for arrays or strings expect(x).toBeLessThan(y); expect(x).toBeGreaterThan(y); expect(fn).toThrow(e); expect(x).not.toEqual(y);
13.
Your Matchers
14.
Before & After
15.
Spies Spies
are automatically removed after each spec. They may be set in the beforeEach function
16.
Spying Static Methods
17.
Spying Instance Methods
18.
Spying CallBacks
19.
Spying AJAX
20.
Spying Matchers expect(x).toHaveBeenCalled() expect(x).toHaveBeenCalledWith(arguments) expect(x).not.toHaveBeenCalled() expect(x).not.toHaveBeenCalledWith(arguments) spyOn(x, 'method').andCallThrough():
spies on AND calls the original function spied on spyOn(x, 'method').andReturn(arguments): returns passed arguments when spy is called spyOn(x, 'method').andThrow(exception): throws passed exception when spy is called spyOn(x, 'method').andCallFake(function): calls passed function when spy is called Spy Properties callCount: returns number of times spy was called mostRecentCall.args: returns argument array from last call to spy. argsForCall[i] returns arguments array for call i to spy.
21.
Asynchronous Specs
runs
22.
Asynchronous Specs
waiting
23.
Asynchronous Specs
waiting condiction
24.
HTML
/src SpecRunner.html /spec
25.
Ruby Gem
26.
NodeJS package
npm install jasmine-node --global jasmine-node scripts
27.
Java maven
28.
References https://github.com/pivotal/jasmine