Index
A
- actions
- about / Actions
- actions, DalekJS
- adapters, JsTestDriver
- Agile
- and TDD / Agile and TDD
- application
- setting up, on Node.js / Setting up the application
- asertions, JsTestDriver
- assertEquals(message, expected, actual) / Assertions
- assertNotEquals(message, expected, actual) / Assertions
- assertions
- about / Actions and assertions, Assertions
- equity assertions / Assertions
- sameness assertions / Assertions
- data type assertions / Assertions
- special value assertions / Assertions
- forced failures / Assertions
- assertions, DalekJS
- .chain / Assertions
- .end / Assertions
- .width / Assertions
- .height / Assertions
- .exists / Assertions
- .doesntExist / Assertions
- .attr / Assertions
- .url / Assertions
- .dialogText / Assertions
- .title / Assertions
- assertions, JsTestDriver
- assertTrue(message, actual) / Assertions
- assertFalse(message, actual) / Assertions
- assertSame(message, expected, actual) / Assertions
- assertNotSame(message, expected, actual) / Assertions
- assertNull(message, actual) / Assertions
- assertNotNull(message, actual) / Assertions
- assertUndefined(message, actual) / Assertions
- assertNotUndefined(message, actual) / Assertions
- assertNaN(message, actual) / Assertions
- assertNotNaN(message, actual) / Assertions
- assertException(message, callback, error) / Assertions
- assertNoException(message, callback, error) / Assertions
- assertArray(message, actual) / Assertions
- assertTypeOf(message, expected, value) / Assertions
- assertBoolean(message, actual) / Assertions
- assertFunction(message, actual) / Assertions
- assertObject(message, actual) / Assertions
- assertNumber(message, actual) / Assertions
- assertString(message, actual) / Assertions
- assertMatch(message, regexp, actual) / Assertions
- assertNotMatch(message, regexp, actual) / Assertions
- assertTagName(message, tagName, element) / Assertions
- assertClassName(message, className, element) / Assertions
- assertElementId(message, id, element) / Assertions
- assertInstanceOf(message, constructor, actual / Assertions
- assertNotInstanceOf(message, constructor, actual / Assertions
- fail(message) / Assertions
- assertions, QUnit
- async() / Writing tests
- equal(actual, expected, message) / Writing tests
- expect(asserts) / Writing tests
- notEqual(actual, expected, message) / Writing tests
- deepEqual(actual, expected, message) / Writing tests
- notDeepEqual(actual, expected, message) / Writing tests
- ok(result, message) / Writing tests
- notOk(result, message) / Writing tests
- strictEqual(actual, expected, message) / Writing tests
- notStrictEqual(actual, expected, message) / Writing tests
- propEqual(actual, expected, message) / Writing tests
- notPropEqual(actual, expected, message) / Writing tests
- push() / Writing tests
- throws() / Writing tests
- asynchronous calls, custom equality tester
- using / Asynchronous calls
- jasmine-ajax plugin / The Jasmine Ajax plugin
- Jasmine Ajax plugin / The Jasmine Ajax plugin
- asynchronous testing / Asynchronous testing
B
- BDD
- benefits, TDD
- benefits, unit testing
- big changes, making / Benefits of unit testing
- confidence, boosting / Benefits of unit testing
- system design / Benefits of unit testing
- green lighting development / Benefits of unit testing
- faster development / Benefits of unit testing
- easy debugging / Benefits of unit testing
- reusable code / Benefits of unit testing
- cost saving / Benefits of unit testing
- best practices, TDD / TDD best practices
- browser console
- using / Using the browser console
- browser detection
- about / Browser detection
- user agent sniffing / User agent sniffing
- browser prefixes / Modernizr.prefixed()
C
- callbacks, QUnit
- QUnit.begin() / Writing tests
- QUnit.done() / Writing tests
- QUnit.log() / Writing tests
- QUnit.moduleDone() / Writing tests
- QUnit.moduleStart() / Writing tests
- QUnit.testDone() / Writing tests
- QUnit.testStart() / Writing tests
- calls property
- calls.any() / Tracking spies using calls
- calls.count() / Tracking spies using calls
- calls.argsFor() / Tracking spies using calls
- calls.allArgs() / Tracking spies using calls
- calls.all() / Tracking spies using calls
- calls.mostRecent() / Tracking spies using calls
- calls.first() / Tracking spies using calls
- calls.reset() / Tracking spies using calls
- Chai
- about / Choosing a test runner, Mocha and Chai
- URL / Mocha and Chai
- using / Mocha and Chai
- clock, Jasmine
- jasmine.clock().install() function / Jasmine clock
- about / Jasmine clock
- code coverage, JsTestDriver / Code coverage
- compare function / Creating a custom matcher
- configuration file elements, JsTestDriver
- server / The configuration file
- load / The configuration file
- exclude / The configuration file
- serve / The configuration file
- proxy / The configuration file
- plugin / The configuration file
- timeout / The configuration file
- content delivery network (CDN)
- about / The configuration file
- currency conversion lifecycle
- following / Following the life cycle
- test, writing / Writing a test
- test, running / Running the test and seeing if test fails
- test failure, detecting / Running the test and seeing if test fails
- production code, writing / Writing a production code
- all tests, running / Running all tests
- code, cleaning / Cleaning up the code
- whole process, repeating / Repeat
- currency converter
- working / Following the process
- custom equality tester
- creating / Creating a custom equality tester
- asynchronous calls, using / Asynchronous calls
- custom matcher
- about / Creating a custom matcher
- creating / Creating a custom matcher
- custom spy
- creating / Creating a custom spy
- Cygwin
- download link / Code coverage
D
- DalekJS
- about / DalekJS, Getting started
- tests, writing / Writing tests
- actions / Actions
- assertions / Assertions
- tests, running / Running tests
- dependency chain / One assertion per test is enough
- describe function, Jasmine
- about / describe and specs
- development practices
E
- Eclipse Indigo version
- URL, for installing / Setting up JsTestDriver with IDE
- environment
- setting up / Setting up the environment
- environment, unit tests
- reference, URLs / Preparing the environment
- preparing / Preparing the environment
- event dispatcher/listener implementation
- about / Event dispatcher/listener
- emitter.removeAllListeners([event]) / Event dispatcher/listener
- EventEmitter.defaultMaxListeners / Event dispatcher/listener
- emitter.listeners(event) / Event dispatcher/listener
- emitter.emit(event[, arg1][, arg2][, ...]) / Event dispatcher/listener
- EventEmitter.listenerCount(emitter, event) / Event dispatcher/listener
- Event*'newListener' / Event dispatcher/listener
- Event*'removeListener' / Event dispatcher/listener
- events
- expectation, Jasmine / Expectations
- [email protected]
- about / Helpdesk – sample application
F
- feature detection
- about / Understanding feature detection
- methods / Available methods and libraries
- libraries / Available methods and libraries
- feature detection tools
- about / Feature detection tools
- features, for better ideas on testing tools
- nested suites / Other features
- reporting / Other features
- code coverage / Other features
- timer support / Other features
- build tasks / Other features
- IDE supported / Other features
- support / Other features
- customization / Other features
- mocking / Other features
- dependency / Other features
- features, JsUnit
- test pages / Writing tests
- test functions / Writing tests
- assertions / Writing tests
- functions / Writing tests
- tearDown() / Writing tests
- test suites / Writing tests
- tracing / Writing tests
- logging / Writing tests
- features testing, with Modernizr
- about / Features testing with Modernizr
- CSS features / CSS features
- HTML5 features / HTML5 features
- miscellaneous features / Miscellaneous features
- plugins for additional tests / Plugins for additional tests
- flags, jQuery.callbacks
- once / Observer pattern using jQuery.Callbacks
- memory / Observer pattern using jQuery.Callbacks
- unique / Observer pattern using jQuery.Callbacks
- stopOnFalse / Observer pattern using jQuery.Callbacks
H
- has.js
- URL / Available methods and libraries
- about / has.js
- custom tests, writing / Writing custom tests
- Helpdesk sample application
- about / Helpdesk – sample application
- hot swapping / Advantages, Hot swapping components
I
- IDE
- JsTestDriver, setting up with / Setting up JsTestDriver with IDE
- implementations, observer design pattern
- event dispatcher/listener / Event dispatcher/listener
- publish/subscribe / Publish/subscribe
- installation, Node.js / Installing Node.js
J
- Jasmine
- beforeEach function / Writing tests
- afterEach function / Writing tests
- custom matchers / Writing tests
- asynchronous support / Writing tests
- about / Setting up Jasmine
- URL / Setting up Jasmine, Overview
- describe function / describe and specs
- spec / describe and specs
- expectation / Expectations
- matchers / Matchers
- setup / Set up and tear down
- teardown / Set up and tear down
- afterEach / Set up and tear down
- beforeEach / Set up and tear down
- spy / Spies
- clock / Jasmine clock
- custom matcher, creating / Creating a custom matcher
- custom equality tester, creating / Creating a custom equality tester
- suites, nesting / Nesting suites
- jasmine-1.1.0.js file
- download link / Running Jasmine specs
- jasmine-ajax plugin
- about / The Jasmine Ajax plugin
- URL / The Jasmine Ajax plugin
- JavaScript file, URL / The Jasmine Ajax plugin
- jasmine-jstd-adapter
- reference link / Running Jasmine specs
- Jasmine specs
- running, with JsTestDriver / Running Jasmine specs
- jQuery.Callbacks
- using, with observer design pattern / Observer pattern using jQuery.Callbacks
- jQuery browser
- reference link / User agent sniffing
- JsLint
- about / JsLint
- JsTestDriver
- about / JsTestDriver
- overview / Overview
- adapters / Overview
- URL / Getting started
- tests, writing / Writing tests
- assertions / Assertions
- browser, capturing / Capturing the browser
- project, restructuring / Restructuring your project
- configuration file / The configuration file
- tests, running with command prompt / Running tests using the command prompt
- setting up, with IDE / Setting up JsTestDriver with IDE
- tests, running / Running the tests
- Jasmine specs, running with / Running Jasmine specs
- code coverage / Code coverage
- JsUnit
- about / JsUnit, Getting started
- tests, writing / Writing tests
- features / Writing tests
- tests, running / Running tests
K
- Karma
- about / Karma with Jasmine
- setting up / Getting started
- describe function / Writing tests
- it function / Writing tests
- expect function / Writing tests
- URL / Overview
- Karma with Jasmine
- tests, writing / Writing tests
- tests, running / Running tests
L
- lcov
- download link / Code coverage
- life cycle, TDD
- test, writing / The life cycle of TDD
- test, running / The life cycle of TDD
- minimal production code, writing / The life cycle of TDD
- all tests, running / The life cycle of TDD
- cleanup code / The life cycle of TDD
- process, repeating / The life cycle of TDD
M
- matchers, Jasmine
- about / Matchers
- toBe() / Matchers
- toEqual() / Matchers
- toMatch() / Matchers
- toBeDefined() / Matchers
- toBeUndefined() / Matchers
- toBeNull() / Matchers
- toBeTruthy() / Matchers
- toBeFalsy() / Matchers
- toContain() / Matchers
- toBeLessThan() / Matchers
- toBeGreaterThan() / Matchers
- toBeCloseTo() / Matchers
- toThrow() / Matchers
- toThrowError() / Matchers
- jasmine.any() / Matchers
- jasmine.objectContaining() / Matchers
- matchers, spy
- Mocha
- about / Choosing a test runner, Mocha and Chai
- URL / Choosing a test runner, Mocha and Chai
- using / Mocha and Chai
- Mocha test
- about / The Mocha test
- mocks
- using / Using mocks
- Modernizr
- about / Available methods and libraries, Modernizr
- downloading / Downloading and setting up Modernizr
- setting up / Downloading and setting up Modernizr
- URL, for source code / Downloading and setting up Modernizr
- URL, for downloading / Downloading and setting up Modernizr
- URL, for development version / Downloading and setting up Modernizr
- working / How it works
- using / Using Modernizr
- supported browsers / Supported browsers
- Modernizr, methods
- about / Modernizr methods
- Modernizr.prefixed() / Modernizr.prefixed()
- Modernizr.prefixedCSS() / Modernizr.prefixedCSS()
- Modernizr.mq() / Modernizr.mq()
- Modernizr.on() / Modernizr.on()
- Modernizr.atRule() / Modernizr.atRule()
- Modernizr.addTest() / Modernizr.addTest()
- Modernizr.testStyles() / Modernizr.testStyles()
- Modernizr.testProp() / Modernizr.testProp()
- Modernizr.AlltestProps() / Modernizr.testAllProps()
- Modernizr.hasEvent() / Modernizr.hasEvent()
- Modernizr.addTest() method / Modernizr.addTest()
- Modernizr.atRule() method / Modernizr.atRule()
- Modernizr.hasEvent() method / Modernizr.hasEvent()
- Modernizr.mq() method / Modernizr.mq()
- Modernizr.on() method / Modernizr.on()
- Modernizr.prefixed() method / Modernizr.prefixed()
- Modernizr.prefixedCSS() method / Modernizr.prefixedCSS()
- Modernizr.testAllProps() method / Modernizr.testAllProps()
- Modernizr.testProp() method / Modernizr.testProp()
- Modernizr.testStyles() method / Modernizr.testStyles()
- Modernizr._domPrefixes / Modernizr._prefixes and Modernizr._domPrefixes
- Modernizr._prefixes / Modernizr._prefixes and Modernizr._domPrefixes
- modules, for creating Helpdesk sample application
- Node.js / Helpdesk – sample application
- [email protected] / Helpdesk – sample application
- MongoDB / Helpdesk – sample application
- Mongoose / Helpdesk – sample application
- Swig / Helpdesk – sample application
- MongoDB
- MongoDB database
- setting up / Setting up the MongoDB database
- Mongoose
- about / Helpdesk – sample application
- myths, TDD
N
- National Institute of Standards and Technology (NIST)
- about / The need for testing
- URL / The need for testing
- Node.js
- download link / Installing Node.js
- installing / Installing Node.js
- application, setting up on / Setting up the application
- about / Helpdesk – sample application
- node.js
- download link / Getting started, Getting started
- Nodeunit
- about / Choosing a test runner
- URL / Choosing a test runner
- notify method / The notify method
O
- object detection / Object detection
- observer design pattern
- overview / Overview
- feature / Overview
- iObserver object / Overview
- iSubject object / Overview
- Subject object / Overview
- Observer object / Overview
- scenarios / When to use it
- advantages / Advantages
- disadvantages / Disadvantages
- implementations / Different implementations of the observer
- topics, using / Observer with topics
- jQuery.Callbacks, using / Observer pattern using jQuery.Callbacks
- implementing, with TDD / Implementing the observer pattern using TDD
- observer design pattern implementation, with TDD
- about / Implementing the observer pattern using TDD
- red step (code with error) / Red step (code with error)
- green step (with running code) / Green step (with running code)
- refactoring / Refactoring
- Ogg
- once() method / Event dispatcher/listener
P
- patterns, API
- about / Understanding patterns in API
- notify method / The notify method
- subscribe method / Subscribe
- unsubscribe method / Unsubscribe
- pitfalls, unit testing
- about / Pitfalls of unit testing
- wrong assumptions / Pitfalls of unit testing
- tight deadlines / Pitfalls of unit testing
- plugin to Modernizr,at GitHub
- reference link / Plugins for additional tests
- polyfills
- about / Polyfills
- references / Polyfills
- loading / Loading polyfills
- processes
- project restructuring, JsTestDriver
- source directory / Restructuring your project
- test directory / Restructuring your project
- configuration file / Restructuring your project
- plugins directory / Restructuring your project
- publisher / Publish/subscribe
- publisher/subscriber implementation
- about / Publish/subscribe
- push, versus pull / Push versus pull
- sample code / Sample code
Q
- QUnit
- about / QUnit
- download link / Getting started
- tests, writing / Writing tests
- assertions / Writing tests
- callbacks / Writing tests
- test functions / Writing tests
- tests, running / Running tests
- URL / Overview
R
- raleway fonts
- reference link / Undetectable features
- Red-Green-Refactor / TDD microcycle
- refactoring
- about / Refactoring
- hot swapping components / Hot swapping components
- observer API, browser compatibility / Browser compatibility of the observer API
- removeListener() method / Event dispatcher/listener
S
- server-side testing tools
- about / Server-side testing tools
- server-side unit testing
- about / Server-side unit testing
- setUp() function / setUp() and tearDown()
- setUp() method
- using / Using setUp and tearDown methods
- setup, Jasmine / Set up and tear down
- spec, Jasmine
- about / describe and specs
- disabling / Disabling suites and specs
- spy
- about / Spies
- creating / Spies
- matchers / Spies
- tracking, with calls / Tracking spies using calls
- custom spy, creating / Creating a custom spy
- stubs
- using / Using stubs
- subscriber / Publish/subscribe
- suites
- nesting / Nesting suites
- disabling / Disabling suites and specs
- Swig
- about / Helpdesk – sample application
T
- TDD
- about / Understanding test-driven development, Understanding behavior-driven development
- testing, importance / The need for testing
- testing, types / Types of testing
- life cycle / The life cycle of TDD
- test, writing / The life cycle of TDD
- microcycle / TDD microcycle
- and Agile / Agile and TDD
- benefits / Benefits of TDD and common myths
- myths / Benefits of TDD and common myths, Myths
- test suite / Understanding behavior-driven development
- used, for implementing observer design pattern / Implementing the observer pattern using TDD
- best practices / TDD best practices
- TDD microcycle
- about / TDD microcycle
- steps / TDD microcycle
- tearDown() function / setUp() and tearDown()
- tearDown() method
- using / Using setUp and tearDown methods
- teardown, Jasmine / Set up and tear down
- test cases
- test functions, QUnit
- QUnit.module() / Writing tests
- QUnit.skip() / Writing tests
- QUnit.test() / Writing tests
- test runner
- selecting / Choosing a test runner
- Nodeunit / Choosing a test runner
- Mocha / Choosing a test runner
- Vows / Choosing a test runner
- tools
- selecting / Choosing the right tool
- feature detection tools / Feature detection tools
- server-side testing tools / Server-side testing tools
- topics
- using, with observer design pattern / Observer with topics
U
- undetectable features
- about / Undetectable features
- reference link / Undetectable features
- unit test
- about / TDD best practices
- running time / Running time of unit tests
- browser support / Browser support
- unit testing
- about / Unit testing
- frameworks / Unit testing frameworks
- beforeEach() function / Unit testing frameworks
- afterEach() function / Unit testing frameworks
- before() function / Unit testing frameworks
- after() function / Unit testing frameworks
- YUI tests / YUI Tests
- currency converter process / Following the process
- environment, preparing / Preparing the environment
- browser console, using / Using the browser console
- setUp() function / setUp() and tearDown()
- tearDown() function / setUp() and tearDown()
- suites / Test suites
- actions / Actions and assertions
- assertions / Actions and assertions
- benefits / Benefits and pitfalls
- pitfalls / Benefits and pitfalls
- unsubscribe method / Unsubscribe
- user agent sniffing
- about / User agent sniffing
- reference link / User agent sniffing
V
- vendor prefixes / Modernizr.prefixed()
- Vows
- about / Choosing a test runner
- URL / Choosing a test runner
W
- web pages
- complexity / Complexity of web pages
- web server
- implementing, in application / Implementing the web server
Y
- yepnope.js
- reference link / Loading polyfills
- YUI test
- YUI tests
- URL / Overview
Z
- ZIP bundle, of JsUnit
- downoad link / Getting started