| Age | Commit message (Collapse) | Author |
|
|
|
notes(igor): I also e2e tests and refactorred the e2e test example to be
more clear about what is a variable and what is an html/framework api.
|
|
|
|
|
|
Closes #599
|
|
|
|
|
|
|
|
The linked scope should be $digest-ed but only if a $digest isn't
already running on it.
|
|
|
|
|
|
|
|
|
|
Only $exceptionHandler gets notified now.
|
|
|
|
|
|
- refactored .scope() to use .inheritedData() instead.
- .bind('$destroy', callback) will call when the DOM element is removed
|
|
Because only controllers don't have currying, we can infer its arguments, all other APIs needing currying, automatic inference complicates the matters unecessary.
|
|
|
|
|
|
Closes #433
|
|
`angular.Array.limitTo`'s result should not exceed original input array size
Closes #571
|
|
this fix is needed for Firefox or other browsers that strictly follow
dom/css spec which states that element.style should make properties
available in camelCased form.
Closes #569
|
|
|
|
defaults definned per action should take precedence over defaults
defined for the whole resource.
This is potentialy a BREAKING CHANGE in case someone relied on the buggy
behavior.
|
|
|
|
since jQuery 1.6.4 attr() focuses only on work with element attributes and doesn't deal well with element properties, so adding prop() support is required for getting many e2e tests to pass after upgrading the runner to jQuery 1.6.4.
|
|
|
|
It appears that this whole time all IE8 unit tests ran only with jqLite. Due to a weird bug in IE[1], we never overwrote jqLite implementation with jQuery, so the tests ran with our jqLite instead.
This affected only IE8 (and likely older) and only in unit testing mode. angular.js - the built artifact binds to jQuery just find.
[1] https://plus.google.com/104744871076396904202/posts/Kqjuj6RSbbT
|
|
for special attrs like 'checked' or 'multiple', jquery now returns the name or undedefined.
e.g. foo.attr('checked') => 'checked' || undefined
The solution is a combination of updating our tests as well as switching
over to prop() instead which properly returns true/false
|
|
link rewriting used in html5 mode on legacy browsers binds to document.onClick - we need to destroy this listener after each test to prevent test collisions (global state is evil).
|
|
since jQuery 1.6.4 prop() became very important because attr() does't have access to certain properties any more (e.g. className), so I'm adding it to jqLite as well so that jqLite preserves the feature-set it had before the jQuery upgrade.
|
|
supports these invocation types:
- foo.unbind();
- foo.unbind('eventType');
- foo.unbind('eventType', fn);
more info: http://api.jquery.com/unbind/
|
|
foo.css('bogus', 'value')
foo.css('bogus') => null
so I had to change all tests to use valid css rules
|
|
since jQuery 1.6 'class' is not treated specially, so we have to revert this fix and use className in tests instead
|
|
Closes #556
|
|
|
|
This is jQuery incompatible hack.
But we were doing monkey patching there anyway...
`$(...).trigger('click')` returns an array of return values, so that scenario
runner knows, whether the event default action was cancelled.
Without this fix, scenario runner was doing navigation even if JS code called
`event.preventDefault()`.
Note, this does not work in FF6
|
|
* update $route to reflect new $location
* add some more unit tests to $route
* fix some other failing unit tests
* redirect overrides the url now
Breaks $route custom redirect fn has only 3 params now
|
|
See documentation of $location for more info
Breaks $location has no properties, only get/set methods
Closes #168
Closes #146
Closes #281
Closes #234
|
|
Chrome's Event has defaultPrevented property, but other browsers haven't.
This is workaround for other browsers - same as jQuery.
|
|
This method abstracts <base href="" /> in document.head - returns the value.
If absolute href set, it converts the href to relative.
|
|
This only extracts our 'hashchange' event and html5 history api detection from
$browser.
Closes #400
|
|
|
|
This is just basic implementation of $browser.url, $browser.onUrlChange methods:
$browser.url() - returns current location.href
$browser.url('/new') - set url to /new
If supported, history.pushState is used, location.href property otherwise.
$browser.url('/new', true) - replace current url with /new
If supported, history.replaceState is used, location.replace otherwise.
$browser.onUrlChange is only fired when url is changed from the browser:
- user types into address bar
- user clicks on back/forward button
- user clicks on link
It's not fired when url is changed using $browser.url()
Breaks Removed $browser.setUrl(), $browser.getUrl(), use $browser.url()
Breaks Removed $browser.onHashChange(), use $browser.onUrlChange()
|
|
|
|
|
|
Closes #547
|
|
ng:class as well as ng:class-odd and ng:class-even always reset the
class list to whatever it was before compilation, this makes it
impossible to create another directive which adds its own classes on the
element on which ng:class was applied.
the fix simply removes all classes that were added previously by
ng:class and add classes that the ng:class expression evaluates to.
we can now guarantee that we won't clobber stuff added before or after
compilation as long as all class names are unique.
in order to implement this I had to beef up jqLite#addClass and
jqLite#removeClass to be able to add/remove multiple classes without
creating duplicates.
|
|
|