aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2013-01-14fix($compile): safely create transclude comment nodesIgor Minar
Closes #1740
2013-01-09feat($compile): support modifying the DOM structure in postlink fnMartin Probst
Support modifying the DOM structure in the post link function of a directive by creating a defensive copy of the node list, as opposed to a live DOM list. This is useful for directives to actually replace their entire DOM fragment, e.g. with the HTML fragment generated by a 3rd party component (Closure, Bootstrap ...). Fix the indentation of the compileNodes function (was one too little).
2013-01-09fix(date): parse string input as local time unless TZ is specifiedIgor Minar
previously we were always parsing the string input as UTC which cased issues like: {{ '2012-04-01' | date:'d MMM yyyy' }} renders as 31 Mar 2012 BREAKING CHANGE: string input without timezone info is now parsed as local time/date Closes #847
2013-01-09fix(jqLite): children() should only return elementsPete Bacon Darwin
The jQuery implementation of children only returns child nodes of the given element that are elements themselves. The previous jqLite implementation was returning all nodes except those that are text nodes. Use jQLite.contents() to get all the child nodes. The jQuery implementation of contents returns [] if the object has no child nodes. The previous jqLite implementation was returning undefined, causing a stack overflow in test/testabilityPatch.js when it tried to `cleanup()` a window object. The testabilityPatch was incorrectly using children() rather than contents() inside cleanup() to iterate down through all the child nodes of the element to clean up.
2013-01-08fix(jqLite): make next() ignore non-element nodesKeyamoon
next() is supposed to return the next sibling *element* so it should ignore text nodes. To achieve this, nextElementSibling() should be used instead of nextSibling().
2013-01-08refactor($browser): remove faulty 20+ cookies warningIgor Minar
the warning is defunct (and the test is incorrect) so obviously nobody is using it and it just takes up space. also the browser behavior varies (ff and chrome allow up to 150 cookies, safari even more), so it's not very useful. Closes #1712
2012-12-20feat($timeout-mock): add verifyNoPendingTasks methodpetrovalex
added verifyNoPendingTasks method, which throws error if not all deferred tasks have been flushed Closes #1245
2012-12-19feat(limitTo): limitTo filter accepts stringsJeremy Tymes
This allows strings to be filtered by limitTo, using the same methods Closes #653
2012-12-18feat(directive): ng:keydown, ng:keyupMark Nadig
New directives for binding to keydown and keyup events. Closes #1035
2012-12-14fix($route): correctly extract $routeParams from urlsGonzalo Ruiz de Villa
Routes like '/bar/foovalue/barvalue' matching '/bar/:foo/:bar' now are well mapped in $routeParams to: {bar:'barvalue', foo:'foovalue'} Closes: #1501 Signed-off-by: Gonzalo Ruiz de Villa <gonzaloruizdevilla@gmail.com>
2012-12-05fix(select): support optgroup + select[multiple] combo_pants
Closes #1553
2012-12-01feat(e2eRunner): fail when an option to select does not existStephane Bisson
2012-12-01fix($injector): provider can now be defined in the array formatSudhir Jonathan
`injector.instantiate` is now called for arrays too, instead of only for functions. Closes #1452
2012-11-30fix($resource): HTTP method should be case-insensitiveSudhir Jonathan
Perform call `angular.uppercase` on all given action methods. Closes #1403
2012-11-30fix(Scope): ensure that a scope is destroyed only onceIgor Minar
Due to bd524fc4 calling $destroy() on a scope mupltiple times cases NPE. Closes #1627
2012-11-28feat($resource): allow dynamic default parametersPascal Corpet
Default resource params can now be calculated at runtime if defined via a function.
2012-11-26fix($http): only set X-XSFR-TOKEN header for same-domain requestRado Kirov
This is needed to prevent CORS preflight checks. The XSFR token is quite useless for CORS requests anyway. BREAKING CHANGE: X-XSFR-TOKEN is no longer send for cross domain requests. This shouldn't affect any known production service. Closes #1096
2012-11-26fix($http): remove 'X-Requested-With' from header defaultsRado Kirov
X-Requested-With header is rarely used in practice and by using it all the time we are triggering preflight checks for crossdomain requests. We could try detecting if we are doing CORS requests or not, but it doesn't look like it's worth the trouble. BREAKING CHANGE: X-Requested-With header is not set by $http service any more. If anyone actually uses this header it's quite easy to add it back via: ``` myAppModule.config(['$httpProvider', function($httpProvider) { $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest'; }]); ``` Closes #1004
2012-11-26fix($location): reset $location.$$replace with every watch callRado Kirov
Closes #1111
2012-11-26fix(ngRepeat): support mostly-stable repeating for primitivesIgor Minar
I'm reverting changes that were originally done to ngRepeat to fix #933, because these are now not necessary after the previous changes to keep ngModel always synced with the DOM.
2012-11-26test(ngRepeat): clean up and improve testsIgor Minar
2012-11-26test(ngRepeat): add test for issue #1076Igor Minar
2012-11-26feat(form): add ability to reset a form to pristine statePawel Kozlowski
Retting a form to pristine state will cause all of the nested form and form controls to be recursively reset as well. Closes #856
2012-11-26fix(jqLite): support append on document fragmentIgor Minar
previously jquery didn't support append on this node type, now it does (since 1.8.x) so I'm adding this to jqlite as well.
2012-11-26fix(jqLite): fire $destroy event via triggerHandlerIgor Minar
in jQuery 1.8.x the data() data structure is changed and events are not accessible via data().events. Since all we need is to trigger all event handlers, we can do so via triggerHandler() api instead of mocking with the internal jQuery data structures. This fix was originally proposed by PeteAppleton via PR #1512. Closes #1512
2012-11-26feat(jqLite): add triggerHandler()Igor Minar
we need triggerHandler() to become jQuery 1.8.x compatible. this is not fully featured triggerHandler() implementation - it doesn't bother creating new DOM events and passing them into the event handlers. this is intentional, we don't need access to the native DOM event for our own purposes and creating these event objects is really tricky.
2012-11-25fix(Scope): allow removing a listener during eventVojta Jina
2012-11-25feat($cacheFactory): cache.put now returns the added valueJP Sugarbroad
This allows common programming patterns to be expressed with more concise code. See #1583 for code examples.
2012-11-24fix($http): config.param should expand array values properlyTom Davis
Today, calling e.g. $http(url, { params: { a: [1,2,3] } }) results in a query string like "?a=%5B1%2C2%2C3%5D" which is undesirable. This commit enhances buildURL to createa query string like "?a=1&a=2&a=3". BREAKING CHANGE: if the server relied on the buggy behavior then either the backend should be fixed or a simple serialization of the array should be done on the client before calling the $http service. Closes #1363
2012-11-24feat(linky): allow optional 'target' argumentZach Dexter
Closes #1443
2012-11-24fix($cacheFactory): return undefined when removing non-existent entryJeremy Tymes
Instead of throwning an exception, remove should return undefined when cache entry to be removed doesn't exist. Closes #1497
2012-11-24fix($resource): prevent default params to be shared between actionsAdrian Gheorghe
Having a $resource defined as: var R = $resource('/Path', {}, { get: {method: 'GET', params: {objId: '1'}}, perform: {method: 'GET'} }); was causing both actions to call the same URI (if called in this order): R.get({}); // => /Path?objId=1 R.perform({}); // => /Path?objId=1
2012-11-15fix(CSP): update to the latest CSP apiIgor Minar
window.SecurityPolicy.isActive() is now window.securityPolicy.isActive since this is available only in Chrome Canary which has already been updated, we can safely make this change without worrying about backwards compatilibty. Closes #1577
2012-11-11feat($sanitize): support telephone linksAnna Vester
Per http://www.ietf.org/rfc/rfc3966.txt support tel: links
2012-10-31fix(select): select option with a label of 0 is not shownSudhir Jonathan
Bug caused by the use of the `||` operator to replace all non-truthy values with an empty string. Changed to replace only `undefined` values. Closes #1401
2012-10-31fix(scenario-runner): support data-ng and x-ng based attributesAdam Macejak
Prefixed attributes like data-ng-model and x-ng-model were not being found by the Selector. It was only looking at ng: and ng- prefixed attributes. Added a few tests as well to ensure the aforementioned prefixed attributes are being matched properly. Closes #1020
2012-10-29fix($compile): prevent double attr interpolation w/ templateUrlIgor Minar
This fixes the issue that caused two attr interpolation observers to be registered for the same attribute as a result of isolate scope definition with attr (@) property for this attribute. Duplicate observers would then fight with each other updating the model. The issue occured only when this directive was used in a repeater because that's when we clone the template node which caused the two observers to point to two different sets of $attr instances. Closes #1166, #836
2012-10-26fix(currency): Handle not-quite-zero valuesBraden Shepherdson
IEEE 754 floating point sometimes results in values that are very small, rather than zero. One example is 1.0 + 1.07 - 2.07, which returns 4.440892098500626e-16 instead of 0. This change tweaks the number formatting logic so that an exponential value with a negative exponent that is larger than the precision+1 returns 0 instead. For example: with precision 2, anything with an exponent of -4, -5 or more would become 0. 9e-3 = 0.009 = 0.01, but 9e-4 = 0.0009 = 0.001 = 0.00. This detail is unlikely to matter since this quirk is usually only triggered with values very close to zero. Closes #1469
2012-09-20fix($compile): reference local in isolate scopeVojta Jina
This was really corner case: Watcher needs to return changed value, to notify that model might have changed and one more $digest cycle needs to be performed. The watcher, that takes care of reference binding into an isolate scope ("="), did not return changed value, if the change was from the isolate scope to the parent. If any other watcher returned change, it worked fine, as this change caused re-digest. Closes #1272
2012-09-11fix($route): support inline annotation on .resolveMisko Hevery
2012-09-11feat($http): Allow setting withCredentials on defaultsTom Hughes
Closes #1095.
2012-09-11fix($evalAsync): have only one global async queueMisko Hevery
Having one async queue per scope complicates the matters when users wish to do partial scope updates, since many services put events on the rootScope. By having single queue the programing model is simplified.
2012-09-06fix(FormController): propagate dirty state to parent formsKai Groner
2012-09-06fix(ngSrc): don't set src if value is empty stringXiangru Chen
Current implementation of ngSrc may lead to empty src attribute when page is loading. For example: <img ng-src="{{image.url}}"> can be temporarily rendered as <img src=""> before the image resource is loaded. Some browser emits a request to the current page when seeing <img src=""> (Firefox13 and IE8 will, Chromium20 won't), which leads to performance problems.
2012-09-06fix($injector): more conservative annotation parsingMisko Hevery
2012-09-06feat(scenario): add dblclick method to the ngScenario dslPedro Del Gallego
2012-09-06fix(dateFilter): make timezone optionalIwein Fuld
Makes the time zone optional in the date filter Problem with the current R_ISO8601_STR regex was that the time was optional, but the zone was not. This results in the filter not formatting local date times, which it could easily do. For example: 2012-08-30 -> formatted 2012-08-30T06:06:06.123Z -> formatted 2012-08-30T06:06:06.123 -> NOT formatted A simple change in the regex fixes this. Arguably this is closer to the ISO8601 spec which specifies local dates being in the "current time zone" and not requiring a Z. In any case it behaves more like a user would expect.
2012-09-06feat(ngModel): support ngTrim attribute on inputGregory Pike
2012-09-06fix($resource): allow falsy values in URL parametersBenjamín Eidelman
Close #1212 when a param value was 0 (or false) it was ignored and removed from url. after this fix that only happens if the value is undefined or null.
2012-09-06fix($resource): ignore undefined parameterspetrovalex
- $resource should handle multiple params with same name - ignore slashes of undefined parameters - fix default parameters issue, mentioned in #875 Closes #875 Closes #782