<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/test/ng, branch v1.2.13</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>fix($animate): ensure $animate doesn't break natural CSS transitions</title>
<updated>2014-02-15T00:30:48+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-02-14T09:02:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=4f84f6b3e4210ae1eb14728a46d43dd961700a0c'/>
<id>4f84f6b3e4210ae1eb14728a46d43dd961700a0c</id>
<content type='text'>
BREAKING CHANGE: ngClass and {{ class }} will now call the `setClass`
animation callback instead of addClass / removeClass when both a
addClass/removeClass operation is being executed on the element during the animation.

Please include the setClass animation callback as well as addClass and removeClass within
your JS animations to work with ngClass and {{ class }} directives.

Closes #6019
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BREAKING CHANGE: ngClass and {{ class }} will now call the `setClass`
animation callback instead of addClass / removeClass when both a
addClass/removeClass operation is being executed on the element during the animation.

Please include the setClass animation callback as well as addClass and removeClass within
your JS animations to work with ngClass and {{ class }} directives.

Closes #6019
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($compile) support templates with table content root nodes</title>
<updated>2014-02-14T19:42:55+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2013-12-02T20:05:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=31c450bcee53d0a3827b7e0a611e9013b2496506'/>
<id>31c450bcee53d0a3827b7e0a611e9013b2496506</id>
<content type='text'>
If the first element in a template is a &lt;tr&gt;, &lt;th&gt;, &lt;td&gt;, or &lt;tbody&gt; tag,
the HTML compiler will ensure that the template is wrapped in a &lt;table&gt;
element so that the table content is not discarded.

Closes #2848
Closes #1459
Closes #3647
Closes #3241
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the first element in a template is a &lt;tr&gt;, &lt;th&gt;, &lt;td&gt;, or &lt;tbody&gt; tag,
the HTML compiler will ensure that the template is wrapped in a &lt;table&gt;
element so that the table content is not discarded.

Closes #2848
Closes #1459
Closes #3647
Closes #3241
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(input): setViewValue on compositionend</title>
<updated>2014-02-13T01:28:13+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2013-12-16T18:06:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=2b7302713674506fdbcdc396c38f18dcb90dee8c'/>
<id>2b7302713674506fdbcdc396c38f18dcb90dee8c</id>
<content type='text'>
Because of a4e6d962, model is not updated on input/change between the
compositionstart and compositionend events. Unfortunately, the compositionend
event does not always happen prior to an input/change event.

This changeset calls the listener function to update the model after a
compositionend event is received.

Closes #6058
Closes #5433
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Because of a4e6d962, model is not updated on input/change between the
compositionstart and compositionend events. Unfortunately, the compositionend
event does not always happen prior to an input/change event.

This changeset calls the listener function to update the model after a
compositionend event is received.

Closes #6058
Closes #5433
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(filterFilter): support deeply nested predicate objects</title>
<updated>2014-02-11T22:08:41+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-02-11T14:57:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b4eed8ad94ce9719540462c1ee969dfd3c6b2355'/>
<id>b4eed8ad94ce9719540462c1ee969dfd3c6b2355</id>
<content type='text'>
Due to 339a165, it became impossible to filter nested properties of an object using the filterFilter.
A proposed solution to this was to enable the use of nested predicate objects. This change enables the
use of these nested predicate objects.

Example:

```html
&lt;div ng-repeat="it in items | filter:{ address: { country: 'Canuckistan'}}"&gt;&lt;/div&gt;
```

Or

```js
$filter('filter')(items, { address: { country: 'Canuckistan' } });
```

Closes #6215
Related to #6009
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Due to 339a165, it became impossible to filter nested properties of an object using the filterFilter.
A proposed solution to this was to enable the use of nested predicate objects. This change enables the
use of these nested predicate objects.

Example:

```html
&lt;div ng-repeat="it in items | filter:{ address: { country: 'Canuckistan'}}"&gt;&lt;/div&gt;
```

Or

```js
$filter('filter')(items, { address: { country: 'Canuckistan' } });
```

Closes #6215
Related to #6009
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($compile): ensure element transclusion directives are linked with comment element</title>
<updated>2014-02-10T23:41:28+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-01-28T16:34:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e7338d3f27e8824196136a18e1c3e0fcf51a0e28'/>
<id>e7338d3f27e8824196136a18e1c3e0fcf51a0e28</id>
<content type='text'>
This corrects a complicated compiler issue, described in detail below:

Previously, if an element transclusion directive contained an asynchronous directive whose template
contained another element transclusion directive, the inner element transclusion directive would be
linked with the element, rather than the expected comment node.

An example manifestation of this bug would look like so:

```html
&lt;div ng-repeat="i in [1,2,3,4,5]"&gt;
  &lt;div my-directive&gt;
  &lt;/div&gt;
&lt;/div&gt;
```

`my-directive` would be a replace directive, and its template would contain another element
transclusion directive, like so:

```html
&lt;div ng-if="true"&gt;{{i}}&lt;/div&gt;
```

ngIf would be linked with this template content, rather than the comment node, and the template element
would be attached to the DOM, rather than the comment. As a result, this caused ng-if to duplicate the
template when its expression evaluated to true.

Closes #6006
Closes #6101
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This corrects a complicated compiler issue, described in detail below:

Previously, if an element transclusion directive contained an asynchronous directive whose template
contained another element transclusion directive, the inner element transclusion directive would be
linked with the element, rather than the expected comment node.

An example manifestation of this bug would look like so:

```html
&lt;div ng-repeat="i in [1,2,3,4,5]"&gt;
  &lt;div my-directive&gt;
  &lt;/div&gt;
&lt;/div&gt;
```

`my-directive` would be a replace directive, and its template would contain another element
transclusion directive, like so:

```html
&lt;div ng-if="true"&gt;{{i}}&lt;/div&gt;
```

ngIf would be linked with this template content, rather than the comment node, and the template element
would be attached to the DOM, rather than the comment. As a result, this caused ng-if to duplicate the
template when its expression evaluated to true.

Closes #6006
Closes #6101
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(mocks): rename mock.animate to ngAnimateMock and ensure it contains all test helper code for ngAnimate</title>
<updated>2014-02-06T06:22:14+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-01-23T00:28:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=4224cd5182bc93e4a210f75e0a4e4de7f3c544e8'/>
<id>4224cd5182bc93e4a210f75e0a4e4de7f3c544e8</id>
<content type='text'>
Closes #5822
Closes #5917
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #5822
Closes #5917
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(mocks): remove usage of $animate.flushNext in favour of queing</title>
<updated>2014-02-06T06:21:41+00:00</updated>
<author>
<name>Matias Niemelä</name>
</author>
<published>2014-01-23T00:21:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=906fdad0f95465842e336e057ea97d0633712189'/>
<id>906fdad0f95465842e336e057ea97d0633712189</id>
<content type='text'>
The flushNext method of testing is difficult and highly coupled with the behavior
of ngAnimate's $animate workflow. It is much better instead to just queue all
$animate animation calls into a queue collection which is available on the $animate
service when mock.animate is included as a module within test code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The flushNext method of testing is difficult and highly coupled with the behavior
of ngAnimate's $animate workflow. It is much better instead to just queue all
$animate animation calls into a queue collection which is available on the $animate
service when mock.animate is included as a module within test code.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($q): make $q.reject support `finally` and `catch`</title>
<updated>2014-01-31T19:38:06+00:00</updated>
<author>
<name>Lucas Galfasó</name>
</author>
<published>2014-01-31T18:22:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=074b0675a1f97dce07f520f1ae6198ed3c604000'/>
<id>074b0675a1f97dce07f520f1ae6198ed3c604000</id>
<content type='text'>
Add support for the functions `finally` and `catch` to the
promise returned by `$q.reject`

Closes #6048
Closes #6076
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add support for the functions `finally` and `catch` to the
promise returned by `$q.reject`

Closes #6048
Closes #6076
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($compile): retain CSS classes added in cloneAttachFn on asynchronous directives</title>
<updated>2014-01-31T17:45:35+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-01-03T16:50:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=5ed721b9b5e95ae08450e1ae9d5202e7f3f79295'/>
<id>5ed721b9b5e95ae08450e1ae9d5202e7f3f79295</id>
<content type='text'>
Previously, classes added to asynchronous directive elements during the clone
attach function would not persist after the node is merged with the template, prior
to linking. This change corrects this behaviour and brings it in line with synchronous
directives.

Closes #5439
Closes #5617
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, classes added to asynchronous directive elements during the clone
attach function would not persist after the node is merged with the template, prior
to linking. This change corrects this behaviour and brings it in line with synchronous
directives.

Closes #5439
Closes #5617
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(filterFilter): don't interpret dots in predicate object fields as paths</title>
<updated>2014-01-31T11:16:46+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2014-01-28T01:35:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=339a1658cd9bfa5e322a01c45aa0a1df67e3a842'/>
<id>339a1658cd9bfa5e322a01c45aa0a1df67e3a842</id>
<content type='text'>
Closes #6005
Closes #6009
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #6005
Closes #6009
</pre>
</div>
</content>
</entry>
</feed>
