aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2013-02-20fix($compile): sanitize values bound to a[href]Igor Minar
2013-02-18fix(ngClass): keep track of old ngClass value manuallyPer Rovegård
ngClassWatchAction, when called as a $watch function, gets the wrong old value after it has been invoked previously due to observation of the interpolated class attribute. As a result it doesn't remove classes properly. Keeping track of the old value manually seems to fix this. Closes #1637
2013-02-18fix(compile): should not leak memory when there are top level empty text nodesPete Bacon Darwin
The change to prevent <span> elements being wrapped around empty text nodes caused these empty text nodes to have scopes and controllers attached, through jqLite.data() calls, which led to memory leaks and errors in IE8. Now we exclude all but document nodes and elements from having jqLite.data() set both in the compiler and in ng-view. Fixes: #1968 and #1876
2013-02-14feat(routeProvider): Add support to catch-all parameters in routesLuis Ramón López
This allows routeProvider to accept parameters that matches substrings even when they contain slashes if they are prefixed with an asterisk instead of a colon. For example, routes like edit/color/:color/largecode/*largecode will match with something like this http://appdomain.com/edit/color/brown/largecode/code/with/slashs.
2013-02-14fix(compile): Initialize interpolated attributes before directive linkingPete Bacon Darwin
2013-02-14fix(compile): Interpolate @ locals before the link function runsPete Bacon Darwin
Do a one-off interpolation of @ locals to ensure that the link fn receives attributes that are already interpolated.
2013-02-14feat(ngSwitch): support multiple matches on ngSwitchWhen and ngSwitchDefaultLucas Galfasó
Closes #1074
2013-02-14fix($httpBackend): patch for Firefox bug w/ CORS and response headersWill Moore
A workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=608735 In FF getAllResponseHeaders() returns null if the request is the result of CORS. Tried to format the code so that when a FF patch is released and gains enough traction it can easily be selected and deleted. Heavily inspired by jQuery's patch for the same bug. This patch falls short of passing through custom headers but covers all of the "simple response headers" in the spec at http://www.w3.org/TR/cors/ This commit should get reverted once Firefox 21 gets out. Closes #1468
2013-02-14fix(a): workaround IE bug affecting mailto urlsIgor Minar
Apparently there is a really weird bug in IE6-8 that causes anchor textContent to be reset with href content when both contain @ symbol. Inserting a bogus comment node into all anchor elements in IE works around this browser bug. I'm fixing the issue via directive because that way we'll fix it for jQuery as well. I fixed an e2e test too because it was incorrect. Closes #1949
2013-02-14fix($http): do not encode special characters `@$:,` in paramsVojta Jina
encodeURIComponent is too aggressive and doesn't follow http://www.ietf.org/rfc/rfc3986.txt with regards to the character set (pchar) allowed in path segments so we need this test to make sure that we don't over-encode the params and break stuff like buzz api which uses @self. This is has already been fixed in `$resource`. This commit fixes it in a same way for `$http` as well. BREAKING CHANGE: $http does follow RFC3986 and does not encode special characters like `$@,:` in params. If your application needs to encode these characters, encode them manually, before sending the request.
2013-02-14fix($resource): params should expand array values properlyMark Nadig
Today, calling e.g. var R = $resource('/Path/:a'); R.get({a: 'foo', bar: ['baz1', 'baz2']}); results in a query string like "/Path/doh?bar=baz1,baz2" which is undesirable. This commit enhances resource to use $http to encode any non-url parameters resulting in a query string like "/Path/doh?bar=baz1&bar=baz2". 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 resource service.
2013-02-14feat(scope): only evaluate constant $watch expressions onceDaniel Luz
2013-02-14feat($parse): added `constant` and `literal` propertiesDaniel Luz
* `literal` is set to true if the expression's top-level is a JavaScript literal (number, string, boolean, null/undefined, array, object), even if it contains non-literals inside. * `constant` is set to true if the expression is known to be made entirely of constant values, i.e., evaluating it will always yield the same result. A consequence is that a JSON expression is guaranteed to be both literal and constant.
2013-02-14fix($rootScope): minor typo fixesDaniel Luz
2013-02-14feat(noConflict): restore previous angular namespace referenceJames Morrin
2013-02-14fix(resource): Update RegExp to allow urlParams with out leading slashFredrik Bonander
Will allow reoucese to be loaded from a relative path Example: var R = $resource(':path'); R.get({ path : 'data.json' }); Example usage: Load resources in applications not using webserver, ie local webapp in on a tablet.
2013-02-14fix(compiler): Allow startingTag method to handle text / comment nodesShyam Seshadri
2013-02-14feat(filter): Add comparison function to filterRosina Bignall
Add optional comparator function argument to $filter('filter')(array, expression, comparator) such that the comparator function is used to compare the values and predicates. When true, defaults to equality. When missing defaults to substring matching.
2013-02-14fix(numberFilter): fix formatting when "0" passed as fractionSizeKury Kruitbosch
When checking to add decimal and trialing 0s number filter used to check trueness of fractionSize. "0" evaluating to true causes "123" to return "123."
2013-02-11feat($resource): expose promise based api via $then and $resolvedIgor Minar
Expose $then and $resolved properties on resource action return values which allow checking if a promise has been resolved already as well as registering listeners at any time of the resource object life-cycle. This commit replaces unreleased commit f3bff27460afb3be208a05959d5b84233d34b7eb which exposed unintuitive $q api instead and didn't expose important stuff like http headers.
2013-02-11chore(matchers): fix hasBeenCalledOnceWith matcherIgor Minar
the error message was wrong and misleading
2013-02-11test(angular.copy): add tests for scenarios when target is missingIgor Minar
2013-02-11fix(angular.forEach): correctly iterate over objects with length propIgor Minar
Should handle JQLite, jQuery, NodeList and other objects like arrays but not other generic objects or instances of user defined types with length property. Closes #1840
2013-02-07fix(scenario): include error messages in XML outputJulie
Fix the XML output of scenario tests so that it properly includes error messages from failing specs.
2013-02-07fix($compile): rename $compileNote to compileNodeEnrique Paredes
Directives was observing different instances of Attributes than the one that interpolation was registered with because we failed to realize that the compile node and link node were the same (one of them was a wrapper rather than raw node) Closes #1941
2013-02-07fix($cookies): set cookies on Safari&IE when base[href] is undefinedFredrik Bonander
Safari and IE don't like being told to store cookies with path set to undefined. This change ensures that if base[href] (from which cookie path is derived) is undefined then the cookie path defaults to ''. The test verifies that the cookie is set instead of checking that cookie has correct path, this is due to that cookie meta information is not avabile once the cookie is set. Closes #1190, #1191
2013-02-07feat(dateFilter): add `[.,]sss` formatter for millisecondsMaxim Grach
Also Implement getMilliseconds() method of TzDate and add test for this in ngMock.
2013-02-07feat($http): allow overriding the XSRF header and cookie nameSam McCall
Add 'xsrfCookieName' and 'xsrfHeaderName' property to $httpProvider.defaults and http config object, which give the name of the cookie the XSRF token is found in, and the name of the header it is sent in, respectively. This allows interop with servers with built-in XSRF support that use different names. The defaults match the current hard-coded values of 'XSRF-TOKEN' and 'X-XSRF-TOKEN'.
2013-02-07fix(date): invert timezone sign and always display signPhilip Roberts
This commit fixes #1261 and #1532. This covers two separate issues: - Positive timezones were being formatted without a leading `+` resulting in a formatting string like: "HH:MM:ssZ" giving "12:13:141000" instead of "12:13:14+1000". Fixed by checking if timezone is > 0 and adding a leading "+". - Timezone output signs were inverted. mock.TzDate expects the timezone _offset_ as it's first argument, _not_ the timezone. This means that a mock.TzDate with a positive offset should result in a date string with a negative timezone, and vice-versa. Closes #1261, #1532
2013-01-30feat(Scope): expose transcluded and isolate scope info for batarangBrian Ford
test($compile): add test for exposing transclude and isolate scope info to batarang
2013-01-29test(ngBindHtml): prevent variable name leakmetaweta
Add "var" so element is local instead of global Strict mode doesn't allow undeclared global vars, and these really should be local anyway.
2013-01-23feat(resource): add $q/$resorved property to ResourcePartap Davis
2013-01-22revert: fix($resource): Route constructor, updated RegExpIgor Minar
This reverts commit 06ed8ef0127bf80610eba17b5021d1f483d0b0bf. The reverted commit causes regressions. See comments in the PR: https://github.com/angular/angular.js/pull/1402#issuecomment-12575399
2013-01-22fix(angular.equals): relax the comparison for undefined propertiesIgor Minar
in 5ae63fd3 the comparison was made consistent but strict, so that angular.equals({}, {foo: undefined}) // always returns false this turns out to cause issues for data that is being roundtripped via network and serialized via JSON because JSON.stringify serializes {foo: undefined} as {}. Since angular.equals() behaved like this before the 5ae63fd3 in 50% of the cases, changing the behavior in this way should not introduce any significant issues. Closes #1648
2013-01-18fix($resource): Route constructor, updated RegExpFredrik Bonander
Update RegExp to allow urlParams with out leading slash (/). - Will allow reoucese to be loaded from a relative path Example: var R = $resource(':path'); R.get({ path : 'data.json' }); Example usage: Load resources in applications not using webserver, ie local webapp in on a tablet.
2013-01-18feat(scenario): add mouseover method to the ngScenario dslPedro Del Gallego
2013-01-18feat(route): Allow using functions as template params in 'when'Luis Ramón López
2013-01-18feat(directive): added ng-open boolean directiveDavid Chang
Closes# 1797 add ng-open attribute
2013-01-18fix(ngResource): correct leading slash removal.pavelgj
Fixed an issues with ngResource param substitution where it was incorrectly removing leading slash when param was followed by a non-slash character. Ex: '/:foo/:bar.baz/:aux' params = { foo: 'aaa', bar: undefined, aux: undefined } The above params were incorrectly producing '/aaa.baz' but now it results in '/aaa/.baz'.
2013-01-18fix(ngSwitch): don't leak when destroyed while not attacheddanilsomsikov
The leak can occur when ngSwich is used inside ngRepeat or any other directive which is destroyed while its transcluded content (which includes ngSwitch) is not attached to the DOM. Refactor ngSwitch to use controller instead of storing data on compile node. This means that we don't need to clean up the jq data cache. Controller reference is released when the linking fn is released. Closes #1621
2013-01-17feat(ngResource): support all $http.config actionsMisko Hevery
This allows the transformation of the $http request in both directions, headers, caching, and timeout.
2013-01-17feat($parse): allow strict equality in angular expressionsJeremy Tymes
Allows the parser to parse strict equality and inequality in angular expressions. Closes #908
2013-01-17fix(angular.equals): consistently compare undefined object propsIgor Minar
previously: a = {}; b = {x:undefined}; angular.equals(a, b) == angular.equals(b, a) // returns false. both should return false because these objects are not equal. unlike in implemented in #1695 the comparison should be stricter and return false not true. if we need to relax this in the future we can always do so. Closes #1648
2013-01-17feat($log): add $log.debug()nlaplante
New debug() method with suppressable output via $logProvider.debugEnabled() Closes #1592
2013-01-17fix($compile): do not wrap empty root text nodes in spansPete Bacon Darwin
Closes #1059
2013-01-17fix(ngRepeat): correctly apply $last if repeating over objectPete Bacon Darwin
If the $last property is calculated from the original collectionLength on an object and properties starting with $ were filtered out, then $last is never applied and $middle is applied erroniously. Closes #1789
2013-01-16fix(scenario): don't trigger input events on IE9Igor Minar
input.enter() should trigger 'change' rather than 'input' event on IE9 because input events on IE9 are broken and angular doesn't rely on them
2013-01-16fix($route): support route params not separated with slashes.Martin Probst
Commit 773ac4a broke support for route parameters that are not seperated from other route parts by slashes, which this change fixes. It also adds some documentation about path parameters to the when() method and escapes all regular expression special characters in the URL, not just some.
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).