aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2013-09-03fix(ngView): ensure ngClass works with together with ngView's transclusion ↵Matias Niemelä
behavior Closes: #3727
2013-09-03fix(ngAnimate): ensure that ngClass is always compiled before enter, leave ↵Matias Niemelä
and move animations Closes #3727 Closes #3603
2013-09-03chore($rootScope): provide support to execute a function after the digest ↵Matias Niemelä
cycle is complete
2013-09-03fix(ngAnimate): cut down on extra $timeout callsMatias Niemelä
2013-09-03feat(ngMock): allow passing an object literal as shorthand to moduleMerrick Christensen
2013-09-02fix($http): allow empty responses to be cachedjankuca
Closes #3809
2013-08-29fix(core): parse IE11 UA string correctlyChirayu Krishnappa
It's great that IE11 wants to be compatible enough that it doesn't want to be special cased and treated differently. However, as long as one has to have a different code path for IE than for the other supported browsers, we still need to detect and special case it. For instance, our URL parsing code still needs the same workaround the we used for IE10. We still see the same Access denied / TypeError exceptions when setting certain values. FYI, Angular doesn't generally blindly test for IE – we also check the version number. Thanks to modern.ie for the free IE11 test VM. Closes #3682
2013-08-27test(Scope): fix tests after reverting commitsIgor Minar
Making assertions on state (rather than interactions) is better anyway.
2013-08-27revert: feat(mocks): make $timeout#flush throw an exception when emptyIgor Minar
This reverts commit cbf06a5d64aba537f0e2679a194d3998d8365493. This turned out to be a bad idea because it allow us to fast-forward the wall clock time (see previous commit).
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-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-25test(docs): disable brittle tests that need to be rewrittenIgor Minar
2013-08-25style(animateSpec): remove wsIgor Minar
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-23test: rename / remove duplicate unit testsVojta Jina
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-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($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-19fix($sniffer): ensure older versions of webkit work for animationsMatias Niemelä
2013-08-19revert(ngInclude): remove ngInclude manual transclusion systemMatias Niemelä
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-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-12test($location): fix broken testsIgor Minar
sorry, my bad!
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-09chore(ngAnimate): fix incomplete animation testMatias Niemelä
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);
2013-08-09fix(re-bootstrap): Throw an error when bootstrapping a bootstrapped element.Jeff Cross
Nothing would prevent a user from accidentally calling angular.bootstrap on an element that had already been bootstrapped. If this was done, odd behavior could manifest in an application, causing different scopes to update the same DOM, and causing debugger confusion. This fix adds a check inside of angular.bootstrap to check if the passed-in element already has an injector, and if so, will throw an error.
2013-08-09chore(ngMobile): rename module ngTouch and file to angular-touch.jsBrian Ford
BREAKING CHANGE: since all the code in the ngMobile module is touch related, we are renaming the module to ngTouch. To migrate, please replace all references to "ngMobile" with "ngTouch" and "angular-mobile.js" to "angular-touch.js". Closes #3526
2013-08-09fix(docs-bootstrap): Removed injector from bootstrapped docs samplesJeff Cross
This is necessary to make e2e tests pass for implementing #3411. At present, the docs are violating the rule being enforced by double-bootstrap prevention.
2013-08-09feat($q): add shorthand for defining promise error handlersbolasblack
Now we can instead this promise.then(null, errorHandler) with this promise.catch(errorhandler) Closes #2048 Closes #3476
2013-08-09docs(jqLite): update the minErr codes for on() and off()Igor Minar