<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/test, branch v1.2.x</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>test($rootScope): add assertion to test ensuring that NaN -&gt; NaN does not throw</title>
<updated>2014-03-21T20:05:29+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-03-20T03:48:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=ad128e09ff0f5837d659f0b9d0bf304446f46044'/>
<id>ad128e09ff0f5837d659f0b9d0bf304446f46044</id>
<content type='text'>
https://github.com/angular/angular.js/commit/fb6062fb9d83545730b993e94ac7482ffd43a62c implements a
fix for NaN values causing $watchCollection to throw an infdig error. This change updates the test
by adding an assertion which explains what is actually being tested a bit better, and may also
provide better information in the event that the test ever fails.

Closes #6758
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/angular/angular.js/commit/fb6062fb9d83545730b993e94ac7482ffd43a62c implements a
fix for NaN values causing $watchCollection to throw an infdig error. This change updates the test
by adding an assertion which explains what is actually being tested a bit better, and may also
provide better information in the event that the test ever fails.

Closes #6758
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($rootScope): ng-repeat can't handle NaN values. #4605</title>
<updated>2014-03-21T20:05:29+00:00</updated>
<author>
<name>Sekib Omazic</name>
</author>
<published>2014-02-09T16:58:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e48c28fe9292efe7af6205b2be116d2350990c73'/>
<id>e48c28fe9292efe7af6205b2be116d2350990c73</id>
<content type='text'>
$watchCollection checks if oldValue !== newValue which does not work for NaN. This was causing
infinite digest errors, since comparing NaN to NaN in $watchCollection would always return false,
indicating that a change was occuring on each loop.

This fix adds a simple check to see if the current value and previous value are both NaN, and
if so, does not count it as a change.

Closes #4605
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
$watchCollection checks if oldValue !== newValue which does not work for NaN. This was causing
infinite digest errors, since comparing NaN to NaN in $watchCollection would always return false,
indicating that a change was occuring on each loop.

This fix adds a simple check to see if the current value and previous value are both NaN, and
if so, does not count it as a change.

Closes #4605
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(orderBy): support string predicates containing non-ident characters</title>
<updated>2014-03-21T20:05:29+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-02-06T04:50:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=10d3e1e4472ab9f5cf4418b6438ec2e0f2b0b288'/>
<id>10d3e1e4472ab9f5cf4418b6438ec2e0f2b0b288</id>
<content type='text'>
The orderBy filter now allows string predicates passed to the orderBy filter to make use property
name predicates containing non-ident strings, such as spaces or percent signs, or non-latin
characters.

This behaviour requires the predicate string to be double-quoted.

In markup, this might look like so:

```html
&lt;div ng-repeat="item in items | orderBy:'\"Tip %\"'"&gt;
...
&lt;/div&gt;
```

Or in JS:

```js
var sorted = $filter('orderBy')(array, ['"Tip %"', '-"Subtotal $"'], false);
```

Closes #6143
Closes #6144
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The orderBy filter now allows string predicates passed to the orderBy filter to make use property
name predicates containing non-ident strings, such as spaces or percent signs, or non-latin
characters.

This behaviour requires the predicate string to be double-quoted.

In markup, this might look like so:

```html
&lt;div ng-repeat="item in items | orderBy:'\"Tip %\"'"&gt;
...
&lt;/div&gt;
```

Or in JS:

```js
var sorted = $filter('orderBy')(array, ['"Tip %"', '-"Subtotal $"'], false);
```

Closes #6143
Closes #6144
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(ngCookie): convert non-string values to string</title>
<updated>2014-03-21T20:05:29+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-03-18T17:13:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=93d1c95c61dbfa565333bb64527a103242175af7'/>
<id>93d1c95c61dbfa565333bb64527a103242175af7</id>
<content type='text'>
Previously, non-string values stored in $cookies would be removed, without warning the user, and
causing difficulty debugging. Now, the value is converted to string before being stored, and the
value is not dropped. Serialization may be customized using the toString() method of an object's
prototype.

Closes #6151
Closes #6220
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, non-string values stored in $cookies would be removed, without warning the user, and
causing difficulty debugging. Now, the value is converted to string before being stored, and the
value is not dropped. Serialization may be customized using the toString() method of an object's
prototype.

Closes #6151
Closes #6220
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(ngTouch): update workaround for desktop Webkit quirk</title>
<updated>2014-03-21T20:05:29+00:00</updated>
<author>
<name>Chris Constantin</name>
</author>
<published>2014-02-18T00:10:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=01a34f513bb567ed6d4c81d00d7c2a777c0dae01'/>
<id>01a34f513bb567ed6d4c81d00d7c2a777c0dae01</id>
<content type='text'>
Fix click busting of input click triggered by a label click quickly
following a touch event on a different element, in desktop
and mobile WebKit

To reproduce the issue fixed by this commit set up a page with
 - an element with ng-click
 - a radio button (with hg-model) and associated label
In a quick sequence tap on the element and then on the label.
The radio button will not be checked, unless PREVENT_DURATION has passed

Closes #6302
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix click busting of input click triggered by a label click quickly
following a touch event on a different element, in desktop
and mobile WebKit

To reproduce the issue fixed by this commit set up a page with
 - an element with ng-click
 - a radio button (with hg-model) and associated label
In a quick sequence tap on the element and then on the label.
The radio button will not be checked, unless PREVENT_DURATION has passed

Closes #6302
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(jqLite): traverse `host` property for DocumentFragment in inheritedData()</title>
<updated>2014-03-21T18:42:17+00:00</updated>
<author>
<name>Caitlin Potter</name>
</author>
<published>2014-03-10T23:32:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=98d825e10d3bf76f47e69abba857a8933c8cb7d9'/>
<id>98d825e10d3bf76f47e69abba857a8933c8cb7d9</id>
<content type='text'>
If dealing with a document fragment node with a host element, and no parent, use the host
element as the parent. This enables directives within a Shadow DOM or polyfilled Shadow DOM
to lookup parent controllers.

Closes #6637
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If dealing with a document fragment node with a host element, and no parent, use the host
element as the parent. This enables directives within a Shadow DOM or polyfilled Shadow DOM
to lookup parent controllers.

Closes #6637
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(select): avoid checking option element selected properties in render</title>
<updated>2014-03-20T21:27:02+00:00</updated>
<author>
<name>Jeff Balboni</name>
</author>
<published>2014-01-26T21:17:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=dc149de9364c66b988f169f67cad39577ba43434'/>
<id>dc149de9364c66b988f169f67cad39577ba43434</id>
<content type='text'>
In Firefox, hovering over an option in an open select menu updates the selected property of option
elements. This means that when a render is triggered by the digest cycle, and the list of options
is being rendered, the selected properties are reset to the values from the model and the option
hovered over changes. This fix changes the code to only use DOM elements' selected properties in a
comparison when a change event has been fired. Otherwise, the internal new and existing option
arrays are used.

Closes #2448
Closes #5994
Closes #6769
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In Firefox, hovering over an option in an open select menu updates the selected property of option
elements. This means that when a render is triggered by the digest cycle, and the list of options
is being rendered, the selected properties are reset to the values from the model and the option
hovered over changes. This fix changes the code to only use DOM elements' selected properties in a
comparison when a change event has been fired. Otherwise, the internal new and existing option
arrays are used.

Closes #2448
Closes #5994
Closes #6769
</pre>
</div>
</content>
</entry>
<entry>
<title>test(ngMock): workaround issue with negative timestamps</title>
<updated>2014-03-19T04:31:20+00:00</updated>
<author>
<name>Brett Porter</name>
</author>
<published>2014-03-18T04:36:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=d4ac25496aaace2b85aa9f5e5232e5eabeb40c63'/>
<id>d4ac25496aaace2b85aa9f5e5232e5eabeb40c63</id>
<content type='text'>
In some specific timezones and operating systems, it seems that
getTimezoneOffset() can return an incorrect value for negative timestamps, as
described in #5017. While this isn't something easily fixed in the mock code,
the tests can avoid that particular timeframe by using a positive timestamp.

Closes #5017
Closes #6730
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In some specific timezones and operating systems, it seems that
getTimezoneOffset() can return an incorrect value for negative timestamps, as
described in #5017. While this isn't something easily fixed in the mock code,
the tests can avoid that particular timeframe by using a positive timestamp.

Closes #5017
Closes #6730
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($$RAFProvider): check for webkitCancelRequestAnimationFrame</title>
<updated>2014-03-19T01:38:20+00:00</updated>
<author>
<name>Traxmaxx</name>
</author>
<published>2014-03-04T17:54:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=e84da2283c4e195be557f7b06c8783fe502acbbb'/>
<id>e84da2283c4e195be557f7b06c8783fe502acbbb</id>
<content type='text'>
Android 4.3 only supports webkitCancelRequestAnimationFrame.

Closes #6526
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android 4.3 only supports webkitCancelRequestAnimationFrame.

Closes #6526
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(Scope): $watchCollection should call listener with oldValue</title>
<updated>2014-03-18T19:01:42+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2014-03-17T22:48:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=3dd9572754c7bafec30dd625f5c611346959c969'/>
<id>3dd9572754c7bafec30dd625f5c611346959c969</id>
<content type='text'>
Originally we destroyed the oldValue by incrementaly copying over portions of the newValue
into the oldValue during dirty-checking, this resulted in oldValue to be equal to newValue
by the time we called the watchCollection listener.

The fix creates a copy of the newValue each time a change is detected and then uses that
copy *the next time* a change is detected.

To make `$watchCollection` behave the same way as `$watch`, during the first iteration
the listener is called with newValue and oldValue being identical.

Since many of the corner-cases are already covered by existing tests, I refactored the
test logging to include oldValue and made the tests more readable.

Closes #2621
Closes #5661
Closes #5688
Closes #6736
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Originally we destroyed the oldValue by incrementaly copying over portions of the newValue
into the oldValue during dirty-checking, this resulted in oldValue to be equal to newValue
by the time we called the watchCollection listener.

The fix creates a copy of the newValue each time a change is detected and then uses that
copy *the next time* a change is detected.

To make `$watchCollection` behave the same way as `$watch`, during the first iteration
the listener is called with newValue and oldValue being identical.

Since many of the corner-cases are already covered by existing tests, I refactored the
test logging to include oldValue and made the tests more readable.

Closes #2621
Closes #5661
Closes #5688
Closes #6736
</pre>
</div>
</content>
</entry>
</feed>
