<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/src/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>fixed Scenario.js so that it does not clobber global vars</title>
<updated>2010-10-19T23:25:23+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2010-10-19T23:25:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=a0ac6725ede819a726d484ebafa72be76a6dd2b8'/>
<id>a0ac6725ede819a726d484ebafa72be76a6dd2b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fixed tests</title>
<updated>2010-10-19T23:14:16+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2010-10-19T23:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=406373b5db841bada476d290542c9c49515f18fe'/>
<id>406373b5db841bada476d290542c9c49515f18fe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>cleanup underscore.js form rakefile</title>
<updated>2010-09-23T11:53:38+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2010-09-23T11:53:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=27868f17ded5e668aad17739cecd228dc3c87219'/>
<id>27868f17ded5e668aad17739cecd228dc3c87219</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>stringify names for better compression, remove dead functions, removed underscore.js compatibility</title>
<updated>2010-08-19T00:26:33+00:00</updated>
<author>
<name>Misko Hevery</name>
</author>
<published>2010-08-18T23:23:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=5ddd8d958686c5075b6c58b700f19b4bdea90e1d'/>
<id>5ddd8d958686c5075b6c58b700f19b4bdea90e1d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
