aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2013-08-27revert: fix(mocks): $timeout#flush should not update time when emptyIgor Minar
This reverts commit 42af8eada2803a54a98b4f792e60feb480d68a0c. This turned out to be a bad idea as it prevents us from moving the time forward and asserting that the component state didn't change due to the scheduled task executing too early.
2013-08-27style($http): remove unused argumentIgor Minar
2013-08-27fix(i18n): remove obsolete locale filesIgor Minar
Remove obsolete locale files that are not found in Google Closure library. I don't know why they were removed, but without a link to Closure we can't maintain these files going forward so I'm deleting them. BREAKING CHANGE: some non-common region-specific local files were removed.
2013-08-26feat(Scope): async auto-flush $evalAsync queue when outside of $digestIgor Minar
This change causes a new $digest to be scheduled in the next tick if a task was was sent to the $evalAsync queue from outside of a $digest or an $apply. While this mode of operation is not common for most of the user code, this change means that $q promises that utilze $evalAsync queue to guarantee asynchronicity of promise apis will now also resolve outside of a $digest, which turned out to be a big pain point for some developers. The implementation ensures that we don't do more work than needed and that we coalese as much work as possible into a single $digest. The use of $browser instead of setTimeout ensures that we can mock out and control the scheduling of "auto-flush", which should in theory allow all of the existing code and tests to work without negative side-effects. Closes #3539 Closes #2438
2013-08-25fix(mocks): $timeout#flush should not update time when emptyIgor Minar
When $timeout#flush is called with a delay and no task can be flushed within that delay, the current time should not be updated as that gets the mock into an inconsistent state. BREAKING CHANGE: if a tests was written around the buggy behavior the delays might be off now This would typically not be a problem, but because of the previous breaking change in $timeout.flush, the combination of two might be confusing and that's why we are documenting it. Old behavior: ``` doSomething(); //schedules task to execute in 500ms from now doOtherStuff(); //schedules task to execute in 600ms from now try { $timeout.flush(300); // throws "no task to be flushed" exception } catch(e) {}; $time.flush(200); //flushes only doSomething() task ``` New behavior: ``` doSomething(); //schedules task to execute in 500ms from now doOtherStuff(); //schedules task to execute in 600ms from now try { $timeout.flush(300); // throws "no task to be flushed" exception } catch(e) {}; $time.flush(200); // throws "no task to be flushed" exception again // because previous exception didn't move the time forward ``` Fixed test: ``` doSomething(); //schedules task to execute in 500ms from now doOtherStuff(); //schedules task to execute in 600ms from now try { $timeout.flush(300); // throws "no task to be flushed" exception } catch(e) {}; $time.flush(500); // flushes only doSomething() task ```
2013-08-25feat(mocks): make $timeout#flush throw an exception when emptyIgor Minar
When calling $timeout.flush with or without a delay an exception should be thrown if there is nothing to be flushed. This prevents tests from flushing stuff unnecessarily. BREAKING CHANGE: calling $timeout.flush(delay) when there is no task to be flushed within the delay throws an exception now. Please adjust the delay or remove the flush call from your tests as the exception is a signed of a programming error.
2013-08-24fix($q): reject should catch & forward exceptions thrown in errbackIgor Minar
2013-08-23chore: reorganize test helper files under test/helpersIgor Minar
2013-08-23fix($animate): skip ngAnimate animations if the provided element already has ↵Matias Niemelä
transitions/durations attached to it Closes #3587
2013-08-23fix($animate): only execute a timeout when transitions or keyframe ↵Matias Niemelä
animations are used ngAnimate causes a 1ms flicker on the screen when no CSS animations are present on the element. The solution is to change $animate to only use $timeouts when a duration is found on the element before the transition/keyframe animation takes over. Closes #3613
2013-08-23feat(ngMock): add support for creating dynamic style sheets within test codeMatias Niemelä
2013-08-23fix($sniffer): history problems on Boxee boxDusan Bartos
History API not working properly on Boxee box browser (old Webkit) problem similar to the one on Android < 4
2013-08-22revert: fix($sce): allow IE7 standards mode to pass non-quirks mode testChirayu Krishnappa
This reverts commit 637c9b1611c5a75a42048ee1c591521c7031751a. (ref #3633 and #3646) The minimum bar for $sce is IE8 in standards mode. IE7 standards mode is not supported. If you must support IE7, you should disable $sce completely. angular.module('ie7support', []).config(function($sceProvider) { // Completely disable SCE to support IE7. $sceProvider.enabled(false); });
2013-08-22docs(module): improve the installation instructions for optional modulesBrian Ford
Currently, the documentation does a bad job of explaining the distinction between the services that it provides, and the module itself. Furthermore, the instructions for using optional modules are inconsistent or missing. This commit addresses the problem by ading a new `{@installModule foo}` annotation to the docs generator that inlines the appropriate instructions based on the name of the module.
2013-08-21fix($q): fix forwarding resolution when callbacks aren't functionsBrian Ford
Uses the changes from @jamestalmage's fix in #3535. (thanks!) Closes #3535
2013-08-21fix(docs): Replace missing end tilde in resource docs for minerr.Adam Shannon
2013-08-21docs(angular.module): improve docsSequoia McDowell
it wasn't clear before that if given the same name a second time this method RETRIEVES an EXISTING module. Not even sure if my description is accurate, hoping someone will either confirm and merge or clear it up. Closes #3666
2013-08-21fix($sce): allow IE7 standards mode to pass non-quirks mode testjustinrknowles
Changes documentMode test version to 7 in order to support IE 8 in IE 7 standards mode while still protecting against quirks mode. documentMode returns the following values: 5 - quirks mode, 7 - IE 7 standards mode, 8 - IE 8 standards mode. Closes #3633 Closes #3646
2013-08-20fix(ngTransclude): clear the translusion point before transcludingIgor Minar
when the transluded content is being teleported to the translusion point, we should ensure that the translusion point is empty before appending otherwise we end up with junk before the transcluded content
2013-08-20fix(ngTransclude): make the transclusion available to parent post-linkIgor Minar
previously the translusion was appended the the ngTranslude element via $evalAsync which makes the transluded dom unavailable to parent post-linking functions. By appending translusion in linking phase, post-linking functions will be able to access it.
2013-08-20docs(sce,urlutils): update table to use marked syntaxChirayu Krishnappa
Commit 258cae83dc1a03b6b878a7b4236c499288cd2624 replaced Showdown with marked.
2013-08-19fix($sniffer): ensure older versions of webkit work for animationsMatias Niemelä
2013-08-19revert(ngView): remove ngView manual transclusion systemMatias Niemelä
2013-08-19revert(ngInclude): remove ngInclude manual transclusion systemMatias Niemelä
2013-08-16docs($sce): fix parseAsHtml linkMisha Moroshko
2013-08-16fix($injector): don't parse fns with no argsIgor Minar
When annotating a fn, it is wasteful to try to parse a fn that has no arguments as such fn has no injectable dependencies
2013-08-15fix(filter): filter on false propertiesTom Dunstan
Code was evaluating !expression[key] while attempting to see if the key was present, but this was evaluating to true for false values as well as missing keys. Closes #2797.
2013-08-15fix($parse): handle promises returned from parsed function callsJussi Kosunen
When a parsed function call returns a promise, the evaluated value is the resolved value of the promise rather than the promise object. Closes #3503
2013-08-15feat(minerr): log minerr doc url in developmentKen Sheedlo
Closes #3566
2013-08-15style($route): make some jshint recommended changesJosh Taylor
Syntax changes: - ternary indentation - remove unused variable, N - use triple equals instead of double Closes #3559
2013-08-15docs($route): add hint for ngRoute module inclusionReto Aebersold
Closes #3583
2013-08-15docs($cookies): add info about angular-cookies.jsRob Dodson
per the [top comment here](http://docs.angularjs.org/api/ngCookies.$cookies#comment-912064775) updating documentation so it matches [$resource](http://docs.angularjs.org/api/ngResource.$resource) and instructs the user to include the `angular-cookies.js` and load `ngCookies`. Closes #3607
2013-08-15docs($interpolate): fix example for provider w/ custom symbolsIgor Minar
2013-08-14fix(orderBy): remove redundant if statementItsLeeOwen
Removed unnecessary additional conditional statement.
2013-08-14fix($timeout): clean deferreds immediately after callback exec/cancelAndy Gurden
Make sure $timeout callbacks are forgotten about immediately after execution or cancellation. Previously when passing invokeApply=false, the cleanup used $q and so would be pending until the next $digest was triggered. This does not make a large functional difference, but can be very visible when looking at memory consumption of an app or debugging around the $$asyncQueue - these callbacks can have a big retaining tree.
2013-08-14docs($http): added return to interceptors success callbackMikk Kirstein
2013-08-13chore($parse): remove duplicate comment lineIgor Minar
2013-08-13chore(mocks): remove obsolte createMockWindow apiIgor Minar
we never released this api, so it's safe to remove
2013-08-12docs(minErr): add location/ipthprfxIgor Minar
2013-08-12docs(minErr): add location/isrcharg docsIgor Minar
2013-08-12docs(minErr): add location/ihshprfxIgor Minar
2013-08-12chore($location): drop bugus errorIgor Minar
we can never get to this state, so dropping the error
2013-08-12fix($location): don't initialize hash url unnecessarilyIgor Minar
After a recent refactoring using $location in the default hashbang mode would result in hash url being initialized unnecessarily in cases when the base url didn't end with a slash. for example http://localhost:8000/temp.html would get rewritten as http://location:8000/temp.html#/temp.html by error.
2013-08-12feat($route): express style route matchingjoshrtay
Added new route matching capabilities: - optional param Changed route matching syntax: - named wildcard BREAKING CHANGE: the syntax for named wildcard parameters in routes has changed from *wildcard to :wildcard* To migrate the code, follow the example below. Here, *highlight becomes :highlight*: Before: $routeProvider.when('/Book1/:book/Chapter/:chapter/*highlight/edit', {controller: noop, templateUrl: 'Chapter.html'}); After: $routeProvider.when('/Book1/:book/Chapter/:chapter/:highlight*/edit', {controller: noop, templateUrl: 'Chapter.html'});
2013-08-12fix($compile): correct controller instantiation for async directivesChirayu Krishnappa
This fixes regression introduced by #3514 (5c560117) - this commit is being reverted here and a better fix is included. The regression caused the controller to be instantiated before the isolate scope was initialized. Closes #3493 Closes #3482 Closes #3537 Closes #3540
2013-08-09fix(ngAnimate): make sure that the class value passed into ↵Matias Niemelä
addClass/removeClass is the base class string value
2013-08-09fix(ngView): ensure ngView is terminal and uses its own manual transclusion ↵Matias Niemelä
system
2013-08-09fix(ngInclude): ensure ngInclude is terminal and uses its own manual ↵Matias Niemelä
transclusion system
2013-08-09style(minerr): prefer component name as namespaceKen Sheedlo
Closes #3527
2013-08-09chore($q): rename `promise.always` to `promise.finally`Brian Ford
BREAKING CHANGE: the `always` method has been renamed to `finally`. The reason for this change is to align `$q` with the Q promises library, despite the fact that this makes it a bit more difficult to use with non-ES5 browsers, like IE8. `finally` also goes well together with `catch` api that was added to $q recently and is part of the DOM promises standard. To migrate the code follow the example below: Before: $http.get('/foo').always(doSomething); After: $http.get('/foo').finally(doSomething); or for IE8 compatible code: $http.get('/foo')['finally'](doSomething);