<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/test/scenario, branch v0.9.0</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>Lots of stability and performance updates and UI polish too.</title>
<updated>2010-10-20T21:38:00+00:00</updated>
<author>
<name>Elliott Sprehn</name>
</author>
<published>2010-10-19T20:17:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=2115db69035c5993533fe7a3825e64cf6e9068ad'/>
<id>2115db69035c5993533fe7a3825e64cf6e9068ad</id>
<content type='text'>
Polish the Scenario Runner UI to include:
- a scroll pane that steps appear in since the list can be very long
- Collapse successful tests
- Show the line where the DSL statements were when there's an error (Chrome, Firefox)

Also:
- Remove lots angular.bind calls to reduce the amount of stack space used.
- Use setTimeout(...,0) to schedule the next future to let the browser breathe and have it repaint the steps. Also prevents overflowing the stack when an it() creates many futures.
- Run afterEach() handlers even if the it() block fails.
- Make navigateTo() take a function as the second argument so you can compute a URL in the future.
- Add wait() DSL statement to allow interactive debugging of tests.
- Allow custom jQuery selectors with element(...).query(fn) DSL statement.

Known Issues:
- All afterEach() handlers run even if a beforeEach() handler fails. Only after handlers for the same level as the failure and above should run.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Polish the Scenario Runner UI to include:
- a scroll pane that steps appear in since the list can be very long
- Collapse successful tests
- Show the line where the DSL statements were when there's an error (Chrome, Firefox)

Also:
- Remove lots angular.bind calls to reduce the amount of stack space used.
- Use setTimeout(...,0) to schedule the next future to let the browser breathe and have it repaint the steps. Also prevents overflowing the stack when an it() creates many futures.
- Run afterEach() handlers even if the it() block fails.
- Make navigateTo() take a function as the second argument so you can compute a URL in the future.
- Add wait() DSL statement to allow interactive debugging of tests.
- Allow custom jQuery selectors with element(...).query(fn) DSL statement.

Known Issues:
- All afterEach() handlers run even if a beforeEach() handler fails. Only after handlers for the same level as the failure and above should run.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix browser triggering in scenario to always do native events.</title>
<updated>2010-10-19T22:56:53+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2010-10-19T22:34:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=01c7abab35dbdee711c54875424b388f8631a3c0'/>
<id>01c7abab35dbdee711c54875424b388f8631a3c0</id>
<content type='text'>
 - Also fixed angular.suffix for scenarios
 - refactored click() to browserTrigger()
 - Fixed Rakefile with CSS and jQuery
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - Also fixed angular.suffix for scenarios
 - refactored click() to browserTrigger()
 - Fixed Rakefile with CSS and jQuery
</pre>
</div>
</content>
</entry>
<entry>
<title>Significantly clean up the way the scenario DSL works and implement many more DSL statements.</title>
<updated>2010-10-19T07:45:38+00:00</updated>
<author>
<name>Elliott Sprehn</name>
</author>
<published>2010-10-18T21:02:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e7e894a2e36e042be6d62af56b0f3126f4e4fc77'/>
<id>e7e894a2e36e042be6d62af56b0f3126f4e4fc77</id>
<content type='text'>
- "this" always means the current chain scope inside a DSL

- addFutureAction callbacks now take ($window, $document, done)

- $document has a special method elements() that uses the currently selected nodes in the document as defined by using() statements.

- $document.elements() allows placeholder insertion into selectors to make them more readable.
  ex. $document.elements('input[name="$1"]', myVar) will substitute the value of myVar for $1 in the selector. Subsequent arguments are $2 and so on.

- $document.elements() results have a special method trigger(event) which should be used to events. This method implements some hacks to make sure browser UI controls update and the correct angular events fire.

- futures now allow custom formatting. By default any chain that results in a future can use toJson() or fromJson() to convert the future value to and from json. A custom parser can be provided with parsedWith(fn) where fn is a callback(value) that must return the parsed result.

Note: The entire widgets.html UI is now able to be controlled and asserted through DSL statements!!! Victory! :)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- "this" always means the current chain scope inside a DSL

- addFutureAction callbacks now take ($window, $document, done)

- $document has a special method elements() that uses the currently selected nodes in the document as defined by using() statements.

- $document.elements() allows placeholder insertion into selectors to make them more readable.
  ex. $document.elements('input[name="$1"]', myVar) will substitute the value of myVar for $1 in the selector. Subsequent arguments are $2 and so on.

- $document.elements() results have a special method trigger(event) which should be used to events. This method implements some hacks to make sure browser UI controls update and the correct angular events fire.

- futures now allow custom formatting. By default any chain that results in a future can use toJson() or fromJson() to convert the future value to and from json. A custom parser can be provided with parsedWith(fn) where fn is a callback(value) that must return the parsed result.

Note: The entire widgets.html UI is now able to be controlled and asserted through DSL statements!!! Victory! :)
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed lint warnings and one flaky test</title>
<updated>2010-10-15T20:44:53+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2010-10-15T20:44:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=a36964799be3d21163ba6350d862fced2bbd3437'/>
<id>a36964799be3d21163ba6350d862fced2bbd3437</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>New Angular Scenario runner and DSL system with redesigned HTML UI.</title>
<updated>2010-10-14T16:47:39+00:00</updated>
<author>
<name>Elliott Sprehn</name>
</author>
<published>2010-10-08T23:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=03df6cbddbb80186caf571e29957370b2ef9881c'/>
<id>03df6cbddbb80186caf571e29957370b2ef9881c</id>
<content type='text'>
Uses the Jasmine syntax for tests, ex:

describe('widgets', function() {
  it('should verify that basic widgets work', function(){
    navigateTo('widgets.html');
    input('text.basic').enter('Carlos');
    expect(binding('text.basic')).toEqual('Carlos');
    input('text.basic').enter('Carlos Santana');
    expect(binding('text.basic')).not().toEqual('Carlos Boozer');
    input('text.password').enter('secret');
    expect(binding('text.password')).toEqual('secret');
    expect(binding('text.hidden')).toEqual('hiddenValue');
    expect(binding('gender')).toEqual('male');
    input('gender').select('female');
    expect(binding('gender')).toEqual('female');
  });
});

Note: To create new UI's implement the interface shown in angular.scenario.ui.Html.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Uses the Jasmine syntax for tests, ex:

describe('widgets', function() {
  it('should verify that basic widgets work', function(){
    navigateTo('widgets.html');
    input('text.basic').enter('Carlos');
    expect(binding('text.basic')).toEqual('Carlos');
    input('text.basic').enter('Carlos Santana');
    expect(binding('text.basic')).not().toEqual('Carlos Boozer');
    input('text.password').enter('secret');
    expect(binding('text.password')).toEqual('secret');
    expect(binding('text.hidden')).toEqual('hiddenValue');
    expect(binding('gender')).toEqual('male');
    input('gender').select('female');
    expect(binding('gender')).toEqual('female');
  });
});

Note: To create new UI's implement the interface shown in angular.scenario.ui.Html.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed all trivial jslint violations</title>
<updated>2010-09-14T21:22:15+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2010-09-14T21:22:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=894ffadc8c35da6c7daf3e16a9f4931b24f3b231'/>
<id>894ffadc8c35da6c7daf3e16a9f4931b24f3b231</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Provide all jquery functions as futures</title>
<updated>2010-08-13T19:24:09+00:00</updated>
<author>
<name>Shyam Seshadri</name>
</author>
<published>2010-08-13T19:05:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=60eeeb9f20be3220dbb891abef848fe3754437da'/>
<id>60eeeb9f20be3220dbb891abef848fe3754437da</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix broken tests for element dsl</title>
<updated>2010-08-13T17:16:27+00:00</updated>
<author>
<name>Shyam Seshadri</name>
</author>
<published>2010-08-13T17:11:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=9260f4867a6d1aaa51585a3efac9d315b74eae53'/>
<id>9260f4867a6d1aaa51585a3efac9d315b74eae53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert click dsl, since what is returned by element is a jquery object</title>
<updated>2010-08-13T17:13:03+00:00</updated>
<author>
<name>Shyam Seshadri</name>
</author>
<published>2010-08-13T16:45:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=1f230bf3f55fc8541423dfa9fc0bc91f50c000a3'/>
<id>1f230bf3f55fc8541423dfa9fc0bc91f50c000a3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pull in Rajat's changes to add click and url checking dsl</title>
<updated>2010-08-13T17:13:03+00:00</updated>
<author>
<name>Shyam Seshadri</name>
</author>
<published>2010-08-13T16:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=669d8241b2ea61122aee3e45f67694e65596a2dd'/>
<id>669d8241b2ea61122aee3e45f67694e65596a2dd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
