Commit graph

1100 commits

Author SHA1 Message Date
Igor Minar
c5f3a413bc feat:$xhr: provide access to $xhr header defaults
$xhr header defaults are now exposed as $xhr.defaults.headers.common and
$xhr.default.headers.<httpmethod>. This allows applications to configure
their defaults as needed.

This commit doesn't allow headers to be set per request, only per
application. Per request change would require api change, which I tried
to avoid *for now*.
2011-06-30 00:34:50 -07:00
Igor Minar
d3fb5b411e fix:tests: replace angular.annotate with annotate
forgot to fix tests in 6aee2938a7
2011-06-27 22:41:49 -07:00
Di Peng
75bc59ee4b test:ng#class: added a better unit test for ng:class 2011-06-27 22:31:29 -07:00
Igor Minar
6aee2938a7 fix:testabilityPatch: remove annotate since it's not public 2011-06-27 16:46:29 -07:00
Di Peng
b5a510a343 feat:filter.date: add day/month string format support
Support new date format, specifically day of week/Month of year in string
e.g. {{ someDate | data:"EEE, MMM d, yyyy" }} -> "Wed, Jul 10, 2011"

Closes #396
2011-06-23 12:06:46 -07:00
Misko Hevery
9ec45ad5c4 fix🆖repeater - fix $position when collection size changes 2011-06-23 08:12:01 -07:00
Misko Hevery
8e880fcb77 style:ApiSpecs - clean up test names to match jasmine conventions 2011-06-23 08:12:01 -07:00
Misko Hevery
b74163dc1d fix:$orderBy - return unsorted array if no predicate
Closes #399
2011-06-23 08:12:01 -07:00
Di Peng
bad62d87a1 fix:scope - reintroduce support for eager services
8cad231 broke $eager services

Problem is that the injector.eager function is not invoked when a new scope
is created. Added a test to make sure service is eagerly instantiated.

Closes #403
2011-06-23 08:06:24 -07:00
Di Peng
65b6e48742 test:angular.service - add tests for $inject 2011-06-23 07:56:58 -07:00
Vojta Jina
d0edc11704 Fix failing unit tests in IE7 (Binder, select widget)
The fix does not change any production code, we only need to ignore couple of attributes that IE7 should not display:
* value attribute for LI
* selected attribut for SELECT

Simplified condition in compiler test, this should have been part of f9f0905f4a
2011-06-17 22:48:22 +02:00
Vojta Jina
f9f0905f4a Fix compiler test for IE9
Older IEs serialize html uppercased, but IE9 does not...
Would be better to expect case insensitive, unfortuntaly jasmine does not allow
to user regexps for throw expectations.

Closes #392
2011-06-17 19:48:49 +02:00
Vojta Jina
92ebf11b2a Remove obsolete scenario folder
* moved scenario e2e tests in test/scenario/e2e folder
* remove $location test
2011-06-17 19:13:49 +02:00
Di Peng
e6ee994764 Added ng:disabled, ng:checked, ng:multiple, ng:readonly, ng:selected to markup.js.
Also added coresponding descriptions  live examples and tests for each directive to be displayed on the website.

Closes #351
2011-06-16 21:17:46 -07:00
Vojta Jina
7460a7ef61 Fix test for scenario.Application - should remove old iframe
This behavior was changed by e83465c362
So this commit should have been part of e83465c362

Also removed hiding and navigating to about:blank as it makes no sense now...
2011-06-15 22:58:57 -07:00
Misko Hevery
91a34a7027 remove ng:format=index 2011-06-08 15:21:33 -07:00
Misko Hevery
af285dd370 Added ng:options directive
Closes #301
2011-06-08 15:21:33 -07:00
Misko Hevery
89e001b18a Added prepend() to jqLite 2011-06-08 15:21:33 -07:00
Misko Hevery
4f2f3c9cbf Added support for deferring callbacks in time 2011-06-08 15:21:33 -07:00
Misko Hevery
c1abc03cf3 Fixed indentation error 2011-06-08 15:21:33 -07:00
Misko Hevery
04a62e83bc Throw error when compiling multiple roots
Closes #338
2011-06-08 15:21:33 -07:00
Misko Hevery
8cad231bd2 Refactor injector to have invoke method for speed reasons 2011-06-08 15:21:31 -07:00
Misko Hevery
0e17ade959 Cleanup parser code to expose smaller API 2011-06-08 15:01:32 -07:00
Misko Hevery
bb67ee8d28 Added HashMap 2011-06-08 15:01:32 -07:00
Misko Hevery
2a12f7dcaa Added nextUid() function for unified way of generating IDs in angular 2011-06-08 15:01:32 -07:00
Misko Hevery
cc9f1fdf38 Proper handling of special attributes in jqlite 2011-06-08 13:49:11 -07:00
Misko Hevery
26e651996a fix JSON to match native browser behavior 2011-06-08 13:49:11 -07:00
Misko Hevery
73e3f4c10c better error reporting for exceptions 2011-06-08 13:49:11 -07:00
Misko Hevery
ec6d106d4a code cleanup: missing ; and indentation 2011-06-08 13:49:11 -07:00
Misko Hevery
d6eba8f39f Number filter would return incorrect value when fractional part had leading zeros. 2011-06-08 13:49:09 -07:00
Di Peng
9fdb09ebf8 added input#val method
Closes #237
2011-06-06 12:49:46 -07:00
Di Peng
1eebb771e3 renamed $pause to $sleep AND $wait to $pause
Closes #207
2011-06-05 12:00:45 -07:00
Vojta Jina
9a69677551 Fix CSS tests on Opera
Opera translates name colors to numbers (red -> #ff0000)
Other browsers like FF or Chrome translate number to rgb (#ff0000 -> rgb(255, 0, 0)
So avoiding colors in tests is probably the easiest solution...
2011-06-02 12:51:12 -07:00
Vojta Jina
dad2603752 Refactor $browser's lazy start polling
+ unit tests
2011-06-02 10:50:43 -07:00
Vojta Jina
50076b571d Fix hashchange event on IE8 compatibility mode
Stupid IE8 in compatibility mode or in IE7 mode returns true for `('onhashchange' in window)`, but does not support hashchange event.

Closes #353
2011-06-02 10:50:39 -07:00
Vojta Jina
aa64d37a23 Fix unit test in IE7 2011-06-02 08:55:10 -07:00
Vojta Jina
2e5199997c Rename deprecated wasCalled() -> toHaveBeenCalled() in all specs
As well as wasNotCalled(), wasCalledWith(), wasNotCalledWith()
2011-05-31 10:32:54 +02:00
Vojta Jina
b2f5299e0e Normalize IE XHR bug (status code 1223 to 204)
See http://bugs.jquery.com/ticket/1450
2011-05-31 10:23:30 +02:00
Vojta Jina
805e083c24 Remove trailing white spaces from all source files
find . -name "*.js" -print | xargs sed -Ei s/[[:space:]]*$//
2011-05-19 09:43:56 -07:00
Vojta Jina
1abdc097b2 JSTD adapter for running e2e tests
Couple of changes into angular.scenario runner:
 - add autotest config (runs tests when document ready)
 - update ObjectModel (forwards events)
 - use only one ObjectModel instance for all outputters
 - expose error msg and line number in ObjectModel.Spec and ObjectModel.Step
 - fix generating spec.ids
 - fix 'html' output so that it does not mutate ObjectModel

Couple of changes into docs / generator:
 - rename copy -> copyTpl
 - move docs/static into docs/examples (to avoid conflict with jstd proxy)

Running all docs e2e tests:
========================================================
1/ compile angular-scenario, jstd-scenario-adapter
>> rake compile

2/ build docs
>> rake docs

3/ start jstd server
>> ./server-scenario.sh

4/ capture some browser

5/ run node server to serve static content
>> node ../lib/nodeserver/server.js

6/ run tests
>> ./test-scenario.sh
2011-05-19 09:43:56 -07:00
Vojta Jina
9f56af9c15 XHR should add Content-type header only for POST
Sending Content-type header causes JSTD (Jetty) proxy to change GET methods into POST.
2011-05-19 09:43:56 -07:00
Vojta Jina
c5f0342ad8 Don't check url (by HEAD request) before navigateTo
Removed angular.scenario.Application.checkUrlStatus_ method and these tests:
* should call error handler if status check fails
* should perform a HEAD request to verify file existence
* should call error handler if status code is less than 200
* should call error handler if status code is greater than 299
* should call error handler if status code is greater than 299
2011-05-19 09:43:56 -07:00
Vojta Jina
f85c82acd6 Fix some typos, missing semi-colons, etc...
This is a combination of 4 commits:
* Fix some small typos, missing semi-colons, etc.
* Fix comment for angular.scenario.SpecRunner.run method
* Fixed some missing semi-colons in cookbook
* Fixed missing semi-colon in nodeserver/server.js
2011-04-25 08:17:17 -07:00
Igor Minar
3d388498e5 add test for ng:view sync cache regression
test for 9bd2c396
2011-04-11 08:04:16 -07:00
Igor Minar
9462b556a3 fix build for IE9
all unit tests now pass under IE9
2011-04-09 00:16:44 -07:00
Igor Minar
8e6ecd98ae fix e2e runner tests 2011-04-08 10:16:56 -07:00
Igor Minar
0d2d7025e6 use special nodeName_ impl only for IE<9
apparently IE9 is one step closer to becoming a real browser by
treating xmlns-like ("foo:") prefixes in node names as part of the
node name.

fixes:
https://groups.google.com/forum/?lnk=srg#!topic/angular/TGdrV4GsL8U
2011-04-07 14:56:57 -07:00
Igor Minar
754d2541c4 correct $resource's success callback execution
succcess callbacks should be executed for status codes in the range
of <200,300).
2011-04-04 16:04:37 -07:00
Igor Minar
78a0f41058 encode query params correctly but not too agressively 2011-03-31 21:45:28 -07:00
Igor Minar
eccd9bfbb3 add much needed whitespace to jqLiteSpec.js
can we agree to put more white space into our code?

I follow there rules for specs:

- 1 blank line between sections of nontrivial it block
- 2 blank lines between it blocks
- 2 blank lines between describe blocks
- 2 blank lines between beforeEach and afterEach
- no blank line between describe and the first child it
- no blank lines between two or more closing }); lines
2011-03-31 01:42:42 -07:00
Igor Minar
2d9dd1c172 add specs for jqLite wrapping/node creation
tests cover:
- creating comment tags from a string
- creating script tag from a string
- wrapping document fragment
2011-03-31 01:20:20 -07:00
Igor Minar
a2c4271128 ignore jqLite#append for doc fragment
this is needed to be compatible with jqQuery 1.5.1
2011-03-31 01:19:07 -07:00
Igor Minar
56c00800c7 fix jqLite#parent to be compatible with jQuery
our original implementation doesn't work with
document fragments on IE

- tests were added to cover missing cases
2011-03-31 01:17:34 -07:00
Igor Minar
a4863d5244 correct size() impl for object's w/ 'length' prop
the original implementation returned incorrect value value for
objects with 'length' property.
2011-03-30 15:24:03 -07:00
Igor Minar
96a1df192a extend size() to take ownPropsOnly param
- extend size() to take size(obj, ownPropsOnly)
- add specs for size()
- update docs to mention string support
- use size() in ng:repeat

including the hasOwnProp check for all object doesn't create
significant perf penalty:
http://jsperf.com/dedicated-code-branch-for-hasownprop
2011-03-30 15:24:03 -07:00
Igor Minar
c06c5a36b1 make xhr.cache optionally synchronous
- add `sync` flag xhr.cache
- change ng:include to use the sync flag
- change ng:view to use the sync flag

The end result is that there are fewer repaints in the browser,
which means less "blinking" that user sees.
2011-03-30 15:22:22 -07:00
Igor Minar
9985104dc0 remove weird spaces from resource mutation test 2011-03-30 15:22:14 -07:00
Anthony Lieuallen
94514a91f8 Don't mutate resource if server responded with no body
If the server provides response with no body to a resource request,
resource should not mutate the resource model in the callback.
2011-03-29 00:25:22 -07:00
Igor Minar
e1d122a4b7 encode $resource query params using encodeURIComponent 2011-03-28 23:33:46 -07:00
Igor Minar
885c3ad5dd fixing lint warnings 2011-03-28 23:15:28 -07:00
Vojta Jina
9312bed472 Added missing semi-colons
So that my eclipse stops complaining...
2011-03-28 23:04:48 -07:00
Igor Minar
1e59822df7 remove _null and _undefined
they have no significant effect on minified and gziped size. in fact
they make things worse.

file        | before     | after removal
----------------------------------------
concat      | 325415     | 325297
min         | 62070      | 62161
min + gzip  | 25187      | 25176

The bottom line is that we are getting 0.05% decrease in size after
gzip without all of the hassle of using underscores everywhere.
2011-03-26 23:19:04 -07:00
Misko Hevery
0084cb5ca4 Remove the script tag after successful JSONP request 2011-03-11 14:16:53 -08:00
Misko Hevery
c578f8c3ed Added XSRF prevention logic to $xhr service 2011-03-11 14:16:53 -08:00
Misko Hevery
d19c0ac6d3 Changed the $browser.xhr parameter post from optional to required 2011-03-11 14:16:52 -08:00
Misko Hevery
5343deb3da Consider all 2xx responses as OK, not just 200 2011-03-11 14:16:52 -08:00
Misko Hevery
26bad2bf87 Fixed cookies which contained unescaped '=' would not show up in cookie service. 2011-03-11 14:16:52 -08:00
Igor Minar
d304b0c3df fix failing autobind test on IE 2011-03-11 09:30:53 -08:00
Igor Minar
9d5c533791 ng:autobind now optionally takes element id
so it is possible to easily compile just a part of a document.

e.g.:

<html>
  <head>
    <title>partially compiled doc</title>
    <script src="angular.js" ng:autobind="compileThis"></script>
  </head>
  <body>
    this part won't be compiled: {{1+2}}
    <div id="compileThis" ng:init="i=0" ng:click="i = i+1">
      Click count: {{i}}
    </div>
  </body>
</html>
2011-03-11 08:45:43 -08:00
Igor Minar
7414e7b533 angularJsConfig now allows ng:autobind and #autobind value to be passed in 2011-03-11 08:45:16 -08:00
Igor Minar
cd139f5767 $xhr service now autodetects and strips )]}',\n
")]}\',\n" is a commonly used security prefix added to json http
responses iat google and elsewhere in order to prevent certain
cross-site attacks

$xhr service now autodetects the prefix and strips it before
deserializing the json.

the implementation should be more flexible to allow for wider range
of prefixes, but we need this one right now and can address other
usecases later.
2011-03-02 22:56:14 -08:00
Igor Minar
945056b166 linking function should return bound scope
angular.compile()() returns {scope:scope, view:view},
this isn't useful at all and only makes tests more verbose.
Instead, this change makes the linking function return scope directly
and if anyone needs the linked dom there are two ways to do it
documented in angular.compile.

other changes:
- moved angular.compile docs to the compiler so that they are closer to
  the compiler
- fixed some typos and updated angular.compile docs with the new return
  value
2011-03-01 17:09:25 -08:00
Igor Minar
a709dc19b8 adding an extra injector spec
- added a spec for dependency graph resolution
- also simplyfying cache presence check
2011-02-27 16:19:21 -08:00
Misko Hevery
edbe9d8ca8 Added delay parameter to the $defer service 2011-02-25 11:30:22 -08:00
Misko Hevery
9e67da420b Corrected an issue where properties inherited from __proto__ show up in ng:repeat.
Closses #112
2011-02-25 09:23:30 -08:00
Misko Hevery
c7998f5f99 add class on any namespace elments 2011-02-22 15:23:08 -08:00
Misko Hevery
5a3c9190dc correct hashchange event registration on window 2011-02-19 20:39:46 -08:00
Misko Hevery
e160944bfa fix test which fails on CI build, because the image has size 2011-02-19 20:37:17 -08:00
Misko Hevery
87cbf9f591 Remove ng:watch
Closes#143
2011-02-18 14:22:51 -08:00
Misko Hevery
fd6e5e3f31 replace smart-quotes with regular quotes 2011-02-18 14:02:21 -08:00
Misko Hevery
7d4aee31bb Auto create $inject property form the argument names. Any arg starting with $ or _ will be injected 2011-02-18 13:14:07 -08:00
Igor Minar
9e30baad3f resources should not over-encode chars in url path
- added encodeUriSegment that properly encodes only those chars
  that URI RFC requires us to encode
- modified Resource to use encodeUriSegment
2011-02-17 23:06:53 -08:00
Misko Hevery
c90abf057b Changed the angular.compile(element)(scope[, cloneAttachNode]) 2011-02-16 08:59:57 -05:00
Misko Hevery
00cc9eb32a rewrite of JQuery lite implementation, which now better supports selected sets 2011-02-16 08:59:42 -05:00
Misko Hevery
ef4bb28be1 Change API angular.compile(element)([scope], [element/true]) 2011-02-16 01:03:12 -05:00
Misko Hevery
23b255a8b7 remove $init on scope from applying compilation template
Closes #40
2011-02-16 00:49:15 -05:00
Misko Hevery
0a5c00abf8 Add public API to retrieve scope from element. 2011-02-16 00:48:22 -05:00
Misko Hevery
a004d487c4 allow jquery to be declared after angular in the script loading order 2011-02-16 00:48:22 -05:00
Igor Minar
1777110958 split up services into individual files
- split up services into files under src/service
- split up specs into files under test/service
- rewrite all specs so that they don't depend on one global forEach
- get rid of obsolete code and tests in ng:switch
- rename mock $log spec from "$log" to "$log mock"
2011-02-15 11:01:53 -05:00
Igor Minar
e9ce22592a $resource should encode url params with encodeURIComponent 2011-02-10 17:57:42 -08:00
Igor Minar
86321d1f57 add support for hashSearch redirection and custom redirection functions 2011-02-07 23:56:33 -08:00
Igor Minar
8724e97b7e $route redirection should interpolate variables 2011-02-07 23:56:33 -08:00
Igor Minar
bf8013ad57 $location.updateHash should not preserve hashSearch when hashSearch is undefined 2011-02-07 23:56:32 -08:00
Igor Minar
ea9ca651d2 fix how redirection is handled and tested 2011-02-06 09:35:14 -08:00
Vojta Jina
9798f5e35f mock $log: fixed bug, added some tests
I extracted mock $log factory into stand alone function, so we can access it and test, because this service is rewritten by real service during testing, so we can't access it through angular.$service('$log')...
2011-02-04 14:18:28 -08:00
Igor Minar
fbc7f1b454 ng:view should be nestable in ng:include 2011-02-04 14:11:53 -08:00
Igor Minar
bf7c9d9900 $route.onChange should return the registered fn 2011-02-04 14:11:52 -08:00
Igor Minar
568574b915 mock's .xhr.flush() should throw exception when there is nothing to flush 2011-02-04 14:11:52 -08:00
Misko Hevery
46d690ff01 smarter normalization of value on option, and htmlParser fixes 2011-02-04 13:44:22 -08:00
Misko Hevery
d35c1ac8b0 Fixed notifyWhenNoOutstandingRequests() when using JSONP 2011-02-03 20:03:32 -08:00
Misko Hevery
b6a01bd27d fixed population of value attribute on option
The value attribute must be populated manually, since different
browsers default to different value of option when not explicitly
defined.
2011-02-03 13:25:01 -08:00
Misko Hevery
aaaad298ac corrected typo in the dump function which was preventig serialization of objects 2011-02-03 12:25:43 -08:00
Igor Minar
9fd3dfe49d add support for $route.reload()
Closes 254
2011-02-01 09:35:19 -08:00
Igor Minar
d7686a429c add $route.parent for setting parentScope 2011-02-01 09:35:19 -08:00
Igor Minar
6c0cf17404 add redirection support to $route
Closes #217
2011-02-01 09:35:19 -08:00
Igor Minar
c648fee5c2 fix $location to handle updates to empty hash well 2011-02-01 09:35:18 -08:00
Igor Minar
9462c78fbf $browser poller should notify $location only once per url change 2011-02-01 09:35:18 -08:00
Igor Minar
ce7ab3d1ee add support for 404 handling via $route.otherwise
Closes #217
2011-02-01 09:33:59 -08:00
Igor Minar
7db3b54c1f adding spec for controller-less $route definitions 2011-02-01 09:33:59 -08:00
Igor Minar
8682befc72 fix for stupid IE handling of named functions in mocks 2011-01-26 22:30:09 -08:00
Igor Minar
3f0a37f380 add missing test/mocks.js 2011-01-26 20:12:23 -08:00
Igor Minar
f5d08963b0 split mocks and create $log and $exceptionHandler mocks
- split mocks between angular-mocks.js and mocks.js
- src/angular-mocks.js now contains only mocks that we want to ship
- test/mocks.js contains mocks that we use internally for testing
  angular
- created angular.mock namespace
- created public $exceptionHandler mock rethrows errors
- created public $log mock stores all logs messages in an array that can
  be accessed to make assertions
- internally we now have factory to create $exceptionHandler
  that we can assert on
- internally we also keep track of all messages logged and
  fail tests if messages were not expected and cleaned up (checked
  via global beforeEach and afterEach)
- updated RakeFile and docs reader.js to point to the new
  angular-mocks.js location
- made real $exceptionHandler and $log factories accessible from tests
  and simplified their specs
- fixed typos in several spec descriptions
- added log assertions throughout the test suite
2011-01-26 15:46:05 -08:00
Igor Minar
9e0fa5b7c8 compile but don't bind option elements nested in a nameless select
otherwise an exception is thrown unexpectidly
2011-01-25 20:49:25 -08:00
Igor Minar
9368ea3814 Scope should retrieve $log and $exceptionHandler via $service
- fix $log and $exceptionHandler retrieval
- remove reference to non-existent `error` handler
- update tests
2011-01-25 20:49:25 -08:00
Misko Hevery
c2f2587a79 fixed example rendering, add tests for it. 2011-01-24 14:23:51 -08:00
Igor Minar
a5990050d4 ng:view should propagate evals to the current child scope
- this change is needed because of previously reverted $route changes
  that used to propagate evals automatically.
- also added docs to highlight how the eval propagation works
2011-01-24 14:03:43 -08:00
Igor Minar
8d507df8c9 Revert "$route should create child scope via $new"
This reverts commit a5eb3ed107.

See 9ca2facb for reasoning.
2011-01-24 14:03:42 -08:00
Igor Minar
567f33823b Revert "fix ng:include issue introduced by a5eb3ed1"
This reverts commit 17ee0f031a.

this and a5eb3ed1 introduced scope leakage that can't be resolved
until we fix up scope relationships and eval propagation.
I'm reverting both this and a5eb3ed1 until we can properly address
the issue.
2011-01-24 14:03:42 -08:00
Igor Minar
5340d1e0b1 fix for infinite loop in retrieveScope with jQuery + specs
- retrieveScope run into infinite loop if called on DOM tree
  that doesn't contain scope reference (happens only with jQuery)
- added missing specs for retrieveScope function
2011-01-24 14:03:42 -08:00
Igor Minar
94737cd017 $cookies service should not call $eval during $eval
- added comment
- removed $eval call
- changed the code to not require $eval
- updated specs
2011-01-24 14:03:41 -08:00
Igor Minar
4a569560d8 null and other falsy values should not be rendered in the view
Closes #242
2011-01-20 12:55:03 -08:00
Igor Minar
17ee0f031a fix ng:include issue introduced by a5eb3ed1 2011-01-19 21:47:14 -08:00
Igor Minar
10646c9f6f add ng:view widget 2011-01-19 15:53:59 -08:00
Igor Minar
a5eb3ed107 $route should create child scope via $new 2011-01-19 15:52:27 -08:00
Misko Hevery
459a01e582 improved dump function to atomatically render HTML 2011-01-18 15:02:51 -08:00
Misko Hevery
1d7b9d5626 support compilation in HTML widgets 2011-01-14 10:30:05 -08:00
Misko Hevery
347be5ae9a fixed select with ng:format
select (one/multiple) could not chose from a list of objects, since DOM requires string ids.
Solved by adding index formatter, which exposed incorrect handling of formatters in select
widgets.
2011-01-14 10:30:00 -08:00
Igor Minar
23875cb330 significant rewrite of the $location service
- don't update browser before and after eval instead
  - sync location properties before eval
  - sync location properties and update browser after eval
- added tests
- symplified the code
- removed $location.toString() because it was not idempotent and useless

This resolves the issue with issuing two $route.onHashChange calls
when the $location was updated with a hashPath that needs to be encoded
2011-01-13 16:58:35 -08:00
Igor Minar
b0be87f663 fix for angular.Object.equals to handle equals({},null) 2011-01-13 07:55:31 -08:00
Vojta Jina
aab3df7aea Fixed filter.date, so it parses format ending with non-replaced string
Closes #159
2011-01-10 10:37:37 -08:00
Igor Minar
0a6cf70deb Rename angular.foreach to angular.forEach to make the api consistent.
camelcase is used for other angular functions and forEach is also
used by EcmaScript standard.

- rename the internal as well as the external function name
- tweak the implementation of the function so that it doesn't
  clober it self when we extend the angular object with an
  object that has a forEach property equal to this forEach function

Closes #85
2011-01-10 10:26:55 -08:00
Igor Minar
0ad39dde4f fix onhashchange tests for IE 2011-01-10 10:24:12 -08:00
Misko Hevery
47c454a315 change to keydown from keyup; add delayed $updateView
- There was a perceived lag when typing do to the fact that we were
   listening on the keyup event instead of keydown. The issue with
   keydown is that we can not read the value of the input field. To
   solve this we schedule a defer call and perform the model update
   then.

 - To prevent calling $eval on root scope too many times as well as to
   prevent drowning the browser with too many updates we now call the
   $eval only after 25ms and any additional requests get ignored. The
   new update service is called $updateView
2011-01-07 14:39:46 -08:00
Igor Minar
16086aa37c $location service should utilize onhashchange events instead of polling 2011-01-07 14:39:41 -08:00
Igor Minar
b28dee7fd5 use toMatch in widgetSpec 2011-01-07 12:02:46 -08:00
Igor Minar
142a985f33 Revert "Issue #51: Update extensionMap()"
This reverts commit 00ca67e4be.

Now that we don't have published services, we don't need to worryi
about this any more and in fact this behavior is confusing because
to override a service that has dependencies with a services with
no dependencies one must specify $inject:[] or else the old
dependencies will be injected.

Conflicts:

	src/Angular.js
	test/AngularSpec.js
2011-01-07 12:02:45 -08:00
Misko Hevery
807d8c92b3 removed dissabled tests which are now outdated 2011-01-06 14:51:44 -08:00
Misko Hevery
454626ad39 converted last of tests to specs 2011-01-06 14:34:21 -08:00
Igor Minar
b2631f6170 rename scope.$inject to scope.$service
see changelog diff for more info
2011-01-04 18:04:00 -08:00
Igor Minar
1430c6d6b1 renaming service property $creation to $eager
see changelog diff for more info
2011-01-04 18:03:55 -08:00
Igor Minar
3ea5941f0e removing support for 'eager-published' services 2011-01-04 16:40:41 -08:00
Misko Hevery
d0270d9256 Remove many eager-publish services, lazy polling
- Browser now starts the poller on first call to addPollFn()

- Many services ($location, $cookies, $router) are no longer eager-publish. The result is that
  unless someone needs the $cookies, they will not cause the Browser to start polling for them.
2011-01-04 16:40:40 -08:00
Igor Minar
5a534235b6 fixing invalid json strings in ResourceSpec 2010-12-23 09:03:34 -08:00
Igor Minar
e7a0fb250f fromJson delegation to native JSON parser if available
- native parser delegation
- $xhr change to use native parser
2010-12-22 14:16:36 -08:00
Igor Minar
d11088eb43 Revert "Refactor lexer to use regular expressions"
We came across a major performance regression due to this change.
I'm reverting it until we find a better solution.

This reverts commit 23fc73081f.
2010-12-22 14:16:36 -08:00
Misko Hevery
a5df1fc41f Stricter JSON parsing, for security 2010-12-11 10:07:10 -08:00
Misko Hevery
ec4d446f89 Closes #153: input widgets without name are ignored 2010-12-11 08:28:11 -08:00
Misko Hevery
b225083a21 Fire $eval only if the value has actually changed on input 2010-12-11 08:27:52 -08:00
Igor Minar
b370fac4fc $defer service should always call $eval after callback finished
Closes #189
2010-12-10 13:22:44 -08:00
Misko Hevery
23fc73081f Refactor lexer to use regular expressions 2010-12-08 14:39:22 -08:00
Misko Hevery
e5e69d9b90 Remove RegExp parser
- RegExp parser is rearly used, feature, and one should not have RegExps
  in views anyways, so we are removing it

BACKWARD INCOMPATIBLE CHANGE!!!
2010-12-08 14:36:51 -08:00
Misko Hevery
fa722447f8 Fixed failed assignments of form abj[0].name=value
Closes #169
2010-12-08 14:20:26 -08:00
Igor Minar
c8f34e7f6b fixing lint warnings in older code 2010-12-06 16:45:59 -08:00
Igor Minar
011fa39c2a add $browser.defer and $defer service and fix async xhr cache issue
- Closes #152 ($resource().query() sometimes calls callback before
  returning, and it shouldn't)
- add $browser.defer method
- add $defer service
- integrate $browser.defer with outstandingRequests counter in $browser
- fix all old tests that relied on buggy behavior
2010-12-06 16:45:59 -08:00
Misko Hevery
2bbced212e Fix sanitization issues as suggested by evn 2010-12-03 15:42:42 -08:00
Misko Hevery
5a8ad8fe32 Closes #170. Corrected the behavior of select when options are ng:repeated
- Delete $postEval method, as it was a hack
2010-12-02 22:45:57 -08:00
Misko Hevery
41d5938883 Fixed sanitization
* explicitly require full URLs (ftp|https?://...)
* list the URI attributes
* remove a lot of unneeded attributes
2010-11-29 21:55:32 -08:00
Igor Minar
efec0c358d Add angular.Array.limitTo and docs for angular.Array 2010-11-22 10:57:32 -08:00
Igor Minar
522ec1a9ec move attribute widgets to widgets.js file
- move @ng:repeat to widgets.js and its specs to widgetsSpecs.js
- move @ng:non-bindable to widgets.js and its specs to widgetsSpecs.js
- make widget.template suitable for attribute widgets
- fix up the js docs for attribute widgets
2010-11-18 02:35:29 -08:00
Misko Hevery
b2d63ac48b Changed error handling so that better stack traces are displayed in the ng-errors 2010-11-16 14:19:55 -08:00
Igor Minar
a130bb899d add onload attribute to ng:include 2010-11-16 11:35:43 -08:00
Igor Minar
0a8b3161b1 $watch should optionally skip listener exec
- if initRun param is set to false, listener doesn't execute
- the oldValue should equal newValue during the initial execution
- added docs
- added specs
2010-11-11 16:39:01 -08:00
Igor Minar
c5b2bf083c Make ng:repeat expose $position.
- $position is a textual representation of the position of
  repeated item ('first', 'middle', 'last')
- added specs for $index
2010-11-10 21:04:44 -08:00
Misko Hevery
0499c47270 added ng:switch-when-default; changed $watch to always fire on init. (may be backward incompatible) 2010-11-10 21:01:17 -08:00
Igor Minar
264f960800 added spec for auto bootstrap with #autobind 2010-11-09 19:58:42 -08:00
Elliott Sprehn
257e97a65f Support substring matching of bindings with repeater(). Closes #123 2010-11-09 13:39:12 -08:00
Elliott Sprehn
96e37a0866 Add key/value jQuery methods in a loop. Support 'css' method.
Closes #134
2010-11-09 08:02:49 -08:00
Vojta Jina
5062d32621 Updated parser tests to use jasmine expects
And some formatting as well and a bit of rafactor...
2010-11-09 07:38:03 -08:00
Vojta Jina
d458f31711 Updated filters tests to use jasmine expects
And some small formatting...
2010-11-09 07:38:03 -08:00
Igor Minar
fc9ce9ec07 make angular.String.toDate consider all time fractions as optional 2010-11-08 22:49:30 -08:00
Igor Minar
e5c135ac50 Support ISO 8601 extended datetime format troughout angular.
Support ISO 8601 extended format datetime strings (YYYY-MM-DDTHH:mm:ss.SSSZ) as defined
  in EcmaScript 5 throughout angular. This means that the following apis switched from
  YYYY-MM-DDTHH:mm:ssZ to YYYY-MM-DDTHH:mm:ss.SSSZ (note the added millis) when representing dates:
  - angular.Date.toString
  - angular.String.toDate
  - JSON serialization and deserialization (used by json filter, $xhr and $resource)
2010-11-08 22:49:30 -08:00
Igor Minar
1a43f36e23 Add isDate method + fix old code 2010-11-08 22:49:29 -08:00
Igor Minar
1c305dc67a fixing spec description for the date filter 2010-11-08 22:46:41 -08:00
Igor Minar
a397645537 date filter should accept ISO 8601 formatted string as input
Closes #125
2010-11-08 22:46:41 -08:00
Igor Minar
f077649f48 TzDate should support various UTC methods 2010-11-08 22:46:41 -08:00
Vojta Jina
f3ac2cd434 Update AngularSpec tests to use BDD style - jasmine expect 2010-11-07 14:42:04 -08:00
Vojta Jina
7779630989 Added tests for angular.service
- should allow to override a service
- should preserve angular properties on override
- should not preserve non-angular properties on override
2010-11-07 14:42:03 -08:00
Vojta Jina
00ca67e4be Issue #51: Update extensionMap()
If user override existing extension, angular properties ($) will be preserved.

This piece of logic could be refactored into separate method:
Something like we have extend(), addMissingProperties() - I can't find a name
for this method...

Closes #51
2010-11-07 14:42:03 -08:00
Misko Hevery
91b6c5f7ff Added documentation for validators.
BACKWARD INCOMPATIBLE: removed ssn validators, since it is unlikely that most people will need it and if they do, they can added it thorough RegExp
2010-11-07 13:06:55 -08:00
Vojta Jina
b7027b9d87 Updated toJson() to not serialize window/document objects.
The reason to void these to objects is that they cause all sorts
of problems like exceptions being thrown and infinite loops occuring
when we iterate over object properties.
2010-11-05 21:39:00 -07:00
Vojta Jina
fe8353bc5e Changed toJson() to not ignore $ properties 2010-11-05 21:39:00 -07:00
Vojta Jina
c780030c6e Json - corrected test descriptions and changed to BDD style expect() 2010-11-05 21:39:00 -07:00
Misko Hevery
d5e9f38f3d fix error in json parser which did not allow 1.2E10 as number 2010-11-05 16:41:36 -07:00
Elliott Sprehn
690dfe000b Serialize RegExp to string in JSON. Closes #119. 2010-11-03 11:10:51 -07:00
Igor Minar
91c835dc0e fix dslSpec for IE 2010-11-03 10:41:37 -07:00
Misko Hevery
5159eb7635 fix the linky filter 2010-11-03 09:47:22 -07:00
Igor Minar
aec3c8478c binding() should return value for input/text area, innerHTML for the rest 2010-11-03 09:47:21 -07:00
Igor Minar
5c887ddb66 adding textarea() DSL for scenario runner 2010-11-03 09:47:21 -07:00
Igor Minar
0bd4a473a7 adding regular expressions support for binding() DSL 2010-11-03 09:44:54 -07:00
Elliott Sprehn
dcf76e6816 Provide better sandbox error messages, and disallow running from file:// URLs 2010-11-02 11:27:54 -07:00
Elliott Sprehn
56a3d52f45 Make future names consistent and handle falsy values in jQuery generated methods properly 2010-11-02 11:20:41 -07:00
Elliott Sprehn
faa7d81b67 Add browser().reload() to simulate a refresh from a user 2010-11-01 17:24:24 -07:00
Elliott Sprehn
6bb2cd6ee2 Provide browser DSL with location() to expect the iframe URL parts. Also move navigateTo() under the browser DSL. 2010-11-01 15:21:37 -07:00
Vojta Jina
99f25050a3 Fixing issue #98 (infinite loop when location hash set empty)
Added tests and fixed the issue.

Closes #98
2010-10-31 21:37:33 -07:00
Elliott Sprehn
9a532002cf Auto generate all the jQuery get/set methods 2010-10-29 12:19:22 -07:00
Elliott Sprehn
5524d2b0fb Check if file exists (not a 404) and that document is accessible and not using file:// URLs in Application 2010-10-29 11:40:56 -07:00
Andres Ornelas
34909520ae add optional label to dsl with selectors to improve test and output readability
e.g.
Before:
   code:   element('.actions ul li a').click();
   output: element .actions ul li a click
After
   code:   element('.actions ul li a', "'Configuration' link").click();
   output: element 'Configuration' link ( .actions ul li a ) click
2010-10-28 15:21:02 -07:00
Elliott Sprehn
92e31b556f Correctly fail tests if no binding matches and add better test cases for failure behavior. 2010-10-27 17:56:44 -07:00
Misko Hevery
62c0e5c460 Fix failing tests for ie, and mark elements as ng-widget, ng-directive, and ng-binding 2010-10-27 15:42:46 -07:00
Igor Minar
72b7a1c531 adding missing angular-mocksSpec.js file 2010-10-26 16:44:59 -07:00
Misko Hevery
9c0225512c fixes IE related failures, and form submit event handling in ie 2010-10-26 16:33:59 -07:00
Elliott Sprehn
40d7e66f40 Lots of bug fixes in the scenario runner and a bunch of new features.
- By default the runner now creates multiple output formats as it runs. Nodes are created in the DOM with ids: json, xml, and html.

ex. $('#json').html() => json output of the runner
ex. $('#xml').html() => json output of the runner

$result is also an object tree result.

The permitted formats are html,json,xml,object.

If you don't want certain formats you can select specific ones with the new ng:scenario-output attribute on the script tag.

<script src="angular-scenario.js" ng:scenario-output="xml,json">

- Added element(...).count() that returns the number of matching elements for the selector.

- repeater(...).count() now returns 0 if no elements matched which can be used to check if a repeater is empty.

- Added toBe() matcher that does strict equality with ===

- Implement iit and ddescribe. If iit() is used instead of it() then only that test will run. If ddescribe() is used instead of describe() them only it() statements inside of it will run. Several iit/ddescribe() blocks can be used to run isolated tests.

- Implement new event based model for SpecRunner. You can now listen for events in the runner. This is useful for writing your own UI or connecting a remote process (ex. WebDriver). Event callbacks execute on the Runner instance.

Events, if fired, will always be in the below order. All events always happen
except for Failure and Error events which only happen in error conditions.

Events:
  RunnerBegin
  SpecBegin(spec)
  StepBegin(spec, step)
  StepError(spec, step, error)
  StepFailure(spec, step, error)
  StepEnd(spec, step)
  SpecError(spec, step, error)
  SpecEnd(spec)
  RunnerEnd

- Only allow the browser to repaint every 10 steps. Cuts 700ms off Firefox in benchmark, 200ms off Chrome.

- Bug Fix: Manually navigate anchors on click since trigger wont work in Firefox.
2010-10-26 15:17:57 -07:00
Misko Hevery
1d52349440 Reverted change 841013a4c4 which does not work on all browsers 2010-10-26 14:25:01 -07:00
Igor Minar
4c61fc01f9 Add TzDate to angular-mocks.js
TzDate is a Date-like type that is independent from the timezone
settings of the machine on which TzDate instances are created.
This property makes it ideal for testing code that deals with
timezones in a manner that makes the code portable between timezones.

Closes #81
2010-10-26 13:47:50 -07:00
Misko Hevery
4fdab37659 create HTML sanitizer to allow inclusion of untrusted HTML in safe manner.
Sanitization works in two phases:
 1) We parse the HTML into sax-like events (start, end, chars).
    HTML parsing is very complex, and so it may very well be that what
    most browser consider valid HTML may not pares properly here,
    but we do best effort. We treat this parser as untrusted.
 2) We have safe sanitizeWriter which treats its input (start, end, chars)
    as untrusted content and escapes everything. It only allows elements
    in the whitelist and only allows attributes which are whitelisted.
    Any attribute value must not start with 'javascript:'. This check
    is performed after escaping for entity (&xAB; etc..) and ignoring
    any whitespace.

 - Correct linky filter to use safeHtmlWriter
 - Correct html filter to use safeHtmlWriter

Close #33; Close #34
2010-10-26 13:41:07 -07:00
Igor Minar
841013a4c4 Add millisecond support for date filter
Date filter should translate input which is a number (or number
string) into a date.
2010-10-25 10:44:03 -07:00
Igor Minar
4e9a2aa10e Revert "added support for treating numbers as date in miliseconds"
This reverts commit 1391f19fb4.
2010-10-23 18:26:47 -07:00
Misko Hevery
1391f19fb4 added support for treating numbers as date in miliseconds 2010-10-23 14:38:08 -07:00
Igor Minar
04a4d8b061 adding ng:submit directive for use with forms
- allows for binding angular expressions to onsubmit events
- prevent default submit action (page reload)
2010-10-23 14:22:54 -07:00
Igor Minar
bbd87c9425 simplifying ng:click spec 2010-10-23 14:22:54 -07:00
Igor Minar
833e0ae343 $cookieStore should not be a global service
you must use $inject to $inject it as any other non-global service
2010-10-23 14:22:30 -07:00
Misko Hevery
d74ef497de Fix for getting into recursive $eval on scope. Close #59
It sort of worked since the browser would throw stack too deep
exception and the angular would then print the error to console.
So as long as you did not have console open you would not notice
this as an error.
2010-10-23 13:42:11 -07:00
Misko Hevery
6ddcf91861 Fix test which was causing the Chrome runner to fail. Upgraded JSTD to latest. Cleanup whitespace. 2010-10-23 13:12:45 -07:00
Misko Hevery
8a867cee22 Workaround for http://bugs.jquery.com/ticket/7292 2010-10-22 22:46:51 -07:00
Misko Hevery
aaabeb8c5e fixed more ie test failures 2010-10-20 23:51:49 -07:00
Misko Hevery
05d4971abb fix some of the failing ie tests 2010-10-20 23:17:59 -07:00
Igor Minar
6f3a757a37 Angular should look for angular-ie-compat file at the right location
The location should be based on the base path of the angular script
and the version identifier of the angular script.

ex: angular.js -> angular-ie-compat.js
    js/angular-0.9.0.min.js -> js/angular-ie-compat-0.9.0.js
2010-10-20 14:48:35 -07:00
Igor Minar
7530eea703 add missing spec for angularJsConfig 2010-10-20 14:48:35 -07:00
Igor Minar
644c8514c5 extract and test regexp that identifies angular script tag 2010-10-20 14:48:35 -07:00
Elliott Sprehn
2115db6903 Lots of stability and performance updates and UI polish too.
Polish the Scenario Runner UI to include:
- a scroll pane that steps appear in since the list can be very long
- Collapse successful tests
- Show the line where the DSL statements were when there's an error (Chrome, Firefox)

Also:
- Remove lots angular.bind calls to reduce the amount of stack space used.
- Use setTimeout(...,0) to schedule the next future to let the browser breathe and have it repaint the steps. Also prevents overflowing the stack when an it() creates many futures.
- Run afterEach() handlers even if the it() block fails.
- Make navigateTo() take a function as the second argument so you can compute a URL in the future.
- Add wait() DSL statement to allow interactive debugging of tests.
- Allow custom jQuery selectors with element(...).query(fn) DSL statement.

Known Issues:
- All afterEach() handlers run even if a beforeEach() handler fails. Only after handlers for the same level as the failure and above should run.
2010-10-20 14:38:00 -07:00
Misko Hevery
9c8b1800b9 fixed negative numbers in Json 2010-10-20 07:22:15 -07:00
Vojta Jina
a27198d52e Added tests for URL_MATCH and fixed issue with empty path
This commit was produced by a combination of 4 commits:
- Added URL_MATCH test for basic url
- Moved two tests from $location to URL_MATCH, as they should be here
- Added test for host without "/" ending and fix the regexp to pass the test
- Added another test for matching empty abs path ("/") and fix the regexp
2010-10-19 21:58:01 -07:00
Misko Hevery
c5cfe2b393 fix date filter to igrone falsy input 2010-10-19 20:38:49 -07:00
Misko Hevery
406373b5db fixed tests 2010-10-19 16:14:16 -07:00
Misko Hevery
01c7abab35 Fix browser triggering in scenario to always do native events.
- Also fixed angular.suffix for scenarios
 - refactored click() to browserTrigger()
 - Fixed Rakefile with CSS and jQuery
2010-10-19 15:56:53 -07:00
Elliott Sprehn
e7e894a2e3 Significantly clean up the way the scenario DSL works and implement many more DSL statements.
- "this" always means the current chain scope inside a DSL

- addFutureAction callbacks now take ($window, $document, done)

- $document has a special method elements() that uses the currently selected nodes in the document as defined by using() statements.

- $document.elements() allows placeholder insertion into selectors to make them more readable.
  ex. $document.elements('input[name="$1"]', myVar) will substitute the value of myVar for $1 in the selector. Subsequent arguments are $2 and so on.

- $document.elements() results have a special method trigger(event) which should be used to events. This method implements some hacks to make sure browser UI controls update and the correct angular events fire.

- futures now allow custom formatting. By default any chain that results in a future can use toJson() or fromJson() to convert the future value to and from json. A custom parser can be provided with parsedWith(fn) where fn is a callback(value) that must return the parsed result.

Note: The entire widgets.html UI is now able to be controlled and asserted through DSL statements!!! Victory! :)
2010-10-19 00:45:38 -07:00
Igor Minar
4bef371e5a fixing css class name for currency filter and its spec 2010-10-18 16:24:43 -07:00
Vojta Jina
d0e55bf446 Removed $location.cancel() method (and related test) 2010-10-18 14:13:48 -07:00
Vojta Jina
341b2b3a9b Update $location API Close #62
update(objOrString)
updateHash(objOrString [, objOrString])
toString()
cancel()

Examples:
$location.update('http://www.angularjs.org/path#path?a=b');
$location.update({port: 443, protocol: 'https'});
$location.updateHash('hashPath');
$location.updateHash({a: 'b'});
$location.updateHash('hashPath', {a: 'b'});

This commit was produced by squash of more commits, here are the old messages:

- Change tests to use update() instead of parse().
- First implementation of update() method
- Test for update() with object parameter
- Add new tests for location, refactor location code
- Add tests for updateHash()
- Implement updateHash()
- Take one or two arguments, could be string - update hashPath, or hash object - update hashSearch...
- Fixed other service tests, to use new $location.update()
Added $location.cancel() method (with test)
Added $location.parse() for back compatability
Remove parse() method
2010-10-18 09:58:37 -07:00
Misko Hevery
9e9bdbdc40 JSON parser is now strict (ie, expressions are not allowed for security)
Close #57
2010-10-18 08:50:36 -07:00
Igor Minar
f24ec0c8f7 improving angular.copy spec 2010-10-16 22:10:01 -07:00
Vojta Jina
46c6406b25 Add test for toKeyValue() - true values should be composed to flag 2010-10-16 22:10:01 -07:00
Vojta Jina
732bcd8a36 Add missing tests for toKeyValue() function 2010-10-16 22:10:01 -07:00
Misko Hevery
ce49c361d7 attempting to fix ie on jquery build failure 2010-10-16 22:08:58 -07:00
Misko Hevery
b96f736951 fixed date formater and make it work on ie 2010-10-16 21:43:28 -07:00
Igor Minar
f8865459d5 adding an extra DateToUTC assertion 2010-10-16 21:31:23 -07:00
Vojta Jina
312f93574e Fixed filter date test - remove dependency on machine timezone
It would be better to separate the time-zone logic to a separate unit and test just this logic.
This logic is simply convert minutes to HH:MM, the source of time-zone is from date object...
2010-10-16 21:29:30 -07:00
Misko Hevery
ff52f47537 Fix unicode parsing Close #56 2010-10-15 14:06:30 -07:00
Misko Hevery
a36964799b fixed lint warnings and one flaky test 2010-10-15 13:44:53 -07:00
Misko Hevery
d320e3d2c3 Updated JSTD 2010-10-15 11:58:55 -07:00
Elliott Sprehn
03df6cbddb New Angular Scenario runner and DSL system with redesigned HTML UI.
Uses the Jasmine syntax for tests, ex:

describe('widgets', function() {
  it('should verify that basic widgets work', function(){
    navigateTo('widgets.html');
    input('text.basic').enter('Carlos');
    expect(binding('text.basic')).toEqual('Carlos');
    input('text.basic').enter('Carlos Santana');
    expect(binding('text.basic')).not().toEqual('Carlos Boozer');
    input('text.password').enter('secret');
    expect(binding('text.password')).toEqual('secret');
    expect(binding('text.hidden')).toEqual('hiddenValue');
    expect(binding('gender')).toEqual('male');
    input('gender').select('female');
    expect(binding('gender')).toEqual('female');
  });
});

Note: To create new UI's implement the interface shown in angular.scenario.ui.Html.
2010-10-14 09:47:39 -07:00
Misko Hevery
0f104317df Added support for date filter
Date filter now supports:
yyyy: four digit year
  yy: two digit year
  MM: two digit month
  dd: two digit day of month
  HH: two digit hour in 0-23
  KK: two digit hour in 0-12
  mm: two digit minute
  ss: two digit second
   a: am/pm
   Z: four digit timezone offset

example {{ timestamp | date:'yyyy-MM-dd HH:mm:ss' }} becomes 2010-10-13 14:45:23
2010-10-13 23:15:40 -07:00
Igor Minar
1cc85a77cf fixing reference issue in angular-mocks.js 2010-10-13 17:42:55 -07:00
Misko Hevery
805753dba4 fixed issue where date copy creates an object instead of date 2010-10-13 12:47:10 -07:00
Misko Hevery
3ab49538a4 fixed issue where ng:bind would not reset value if expression returned undefined 2010-10-13 10:51:16 -07:00
Misko Hevery
2cb9497d02 Fixed issue where compiler would pass in detached text node if previous markup would have removed it. 2010-10-12 21:52:04 -07:00
Misko Hevery
d9abfe8a7e Introduced injector and $new to scope, and injection into link methods and controllers
- added angular.injector(scope, services, instanceCache) which returns inject
    - inject method can return, instance, or call function which have $inject
      property
    - initialize services with $creation=[eager|eager-publish] this means that
      only some of the services are now globally accessible
  - upgraded $become on scope to use injector hence respect the $inject property
    for injection
    - $become should not be run multiple times and will most likely be removed
      in future version
  - added $new on scope to create a child scope
     - $inject is respected on constructor function
  - simplified scopes so that they no longer have separate __proto__ for
    parent, api, behavior and instance this should speed up execution since
    scope will now create one __proto__ chain per scope (not three).

BACKWARD COMPATIBILITY WARNING:
  - services now need to have $inject instead of inject property for proper
    injection this breaks backward compatibility
  - not all services are now published into root scope
    (only: $location, $cookie, $window)
  - if you have widget/directive which uses services on scope
    (such as this.$xhr), you will now have to inject that service in
    (as it is not published on the root scope anymore)
2010-10-12 16:33:06 -07:00
Igor Minar
70ff7a2639 fix memory leak caused by leftbehind $invalidWidgets references
- ng:switch should not clean up $invalidWidgets
- $invalidWidgets should be clean up after each eval
- add missing docs
2010-10-13 04:37:46 +08:00
Shyam Seshadri
8490bb921b Fix bug with Lexer not recognizing exponential values and values starting with dots 2010-10-08 20:41:19 -07:00
Misko Hevery
772e32c220 change ng:controller to create new scope hence allow nesting 2010-10-08 16:23:26 -07:00
Shyam Seshadri
c30807d141 Change angular-mocks to throw errors on unexpected gets in the format JSTD now expects 2010-10-07 09:34:22 -07:00
Igor Minar
a930e782a5 removing anchor spec and improving jqLite.trigger() method
- removing the last anchor spec because it can't run reliably in all browsers
- improving jqLite.trigger() method
2010-10-06 10:05:51 -07:00
Igor Minar
81052d4a62 fixed lint warnings 2010-10-04 09:00:09 -07:00
Igor Minar
328ff6c926 adding missing spec for 'A' widget 2010-10-04 08:53:24 -07:00
Igor Minar
87f9a4c566 angular-mocks code should access all global functions via angular
mocks must use angular.foo because the final build will hide all
the normally accessible functions within an anonymous closure.
2010-10-01 16:06:32 -07:00
Igor Minar
8248e77a7b 'A' tag widget and ng:click propagation change
* added a widget for A (anchor) tag, that modifies the default behavior
  and prevent default action (location change and page reload) for tags
  with empty href attribute
* stopped event propagation for all ng:click handlers
2010-10-01 07:44:46 +08:00
Igor Minar
eb8d46d380 Differentiate between flags and empty keys in $location.hashSearch
* #foo?key=var&flag&emptyKey= should parse into
  {key:'val', flag: true, emptyKey: ''}
* added docs and spec for parseKeyValue function
2010-09-29 09:52:03 -07:00
Igor Minar
984acdc627 Reworked the cookie synchronization between cookie service, $browser and document.cookie.
Now we finally correctly handle situations when browser refuses to set a cookie, due to
storage quota or other (file:// protocol) limitations.
2010-09-27 15:10:05 -07:00
Igor Minar
3eec8c1a51 Properly initialize cookie service in order to preserve existing cookies
- previously the poller initialized the cookie cache too late which
  was causing previously existing cookies to be deleted by cookie service
- refactored the poller api so that the addPollFn returns the added fn
- fixed older cookie service tests
- removed "this.$onEval(PRIORITY_LAST, update);" because it is not needed
2010-09-26 23:54:31 -07:00
Misko Hevery
9171a2b2b5 Added support for functions to $orderBy method
http://github.com/angular/angular.js/issues#issue/23
2010-09-26 19:43:39 +02:00
Bolek Szewczyk
0d5407bc1e make date validator use the Date object 2010-09-23 13:50:10 +02:00
Igor Minar
acbcfbaf30 $cookies service refactoring
- remove obsolete code in tests
- add warning logs when maximum cookie limits (as specified via RFC 2965) were reached
- non-string values will now get dropped
- after each update $cookies hash will reflect the actual state of browser cookies
  this means that if browser drops some cookies due to cookie overflow, $cookies will reflect that
- $sessionStore got renamed to $cookieStore to avoid name conflicts with html5's sessionStore
2010-09-23 17:23:52 +08:00
Igor Minar
a8931c9021 Rewrite session store service in object literal style and remove getAll method that is not used anywhere 2010-09-23 17:23:43 +08:00
Misko Hevery
0649009624 Refactored the Browser:
- change from using prototype to inner functions to help with better compression
  - removed watchers (url/cookie) and introduced a poller concept
  - moved the checking of URL and cookie into services which register with poolers
Benefits:
  - Smaller minified file
  - can call $browser.poll() from tests to simulate polling
  - single place where setTimeout needs to be tested
  - More testable $browser
2010-09-22 16:17:44 +02:00
Misko Hevery
006fd2ca25 HEAD is now at 10c0151 Fixes on issue when a SELECT has OPTION which are data bound (ie OPTION has repeater or OPTION.value is bound), then SELECT does not update to match the correct OPTION after the change in model (ie after the OPTION repeater unrolls or OPTION.value is changed.) 2010-09-21 19:20:34 +02:00
Igor Minar
125d725e7d toJson should serialize inherited properties, but not any properties that start with $ 2010-09-21 16:27:47 +02:00
Misko Hevery
0d717310fd fixed test for ng:src which fails on IE, since IE treats undefined src as url to the current page. 2010-09-21 10:37:12 +02:00
Alkis Evlogimenos
9627c4b50e Add ng:src and ng:href markup. 2010-09-20 11:57:50 +02:00
Alkis Evlogimenos
293f34cd64 Expose GET operations on resources as well. This allows us to read
"partials". The pattern is demostrated in the unittest:

Resource.query returns a list of "keys" to resources, which are
partially defined. They have enough data to allow $get to fetch the
whole gamout. Then $get fetches all the details of the resource.
2010-09-16 00:23:22 +02:00
Misko Hevery
2a3a449c6d merge 2010-09-14 23:42:43 +02:00
Misko Hevery
894ffadc8c Fixed all trivial jslint violations 2010-09-14 23:22:15 +02:00
Misko Hevery
e3f760fbad Adding cookie service
- Browser.cookies()
  - MockBrowser
  - $cookie service
  - $sessionStore
2010-09-14 22:51:01 +02:00
Misko Hevery
625f32b7eb converted lexer from function to closure 2010-08-18 17:50:21 -07:00
Misko Hevery
5ddd8d9586 stringify names for better compression, remove dead functions, removed underscore.js compatibility 2010-08-18 17:26:33 -07:00
Misko Hevery
1087270c95 added better handling of ng:format=number 2010-08-18 16:04:40 -07:00
Igor Minar
d8e86291c4 adding an expectation to widgetsSpec.js for ng:include 2010-08-16 22:56:12 -07:00
Igor Minar
0df7329a6a fix for ng:include does not remove partial if src goes to undefined 2010-08-16 16:47:39 -07:00
Misko Hevery
f09415d0de merge kai/master 2010-08-14 12:50:39 -07:00
Misko Hevery
26b5ae4109 fix __proto__ for ie. 2010-08-14 10:29:50 -07:00
Misko Hevery
14fe8cff2d Merge remote branch 'igor/master' 2010-08-14 10:26:09 -07:00
Igor Minar
7159b30752 Serialize only own properties to avoid infinite loops when serializing scopes (this) 2010-08-13 15:14:41 -07:00
Shyam Seshadri
60eeeb9f20 Provide all jquery functions as futures 2010-08-14 03:24:09 +08:00
Shyam Seshadri
9260f4867a Fix broken tests for element dsl 2010-08-14 01:16:27 +08:00
Shyam Seshadri
1f230bf3f5 Revert click dsl, since what is returned by element is a jquery object 2010-08-13 10:13:03 -07:00
Shyam Seshadri
669d8241b2 Pull in Rajat's changes to add click and url checking dsl 2010-08-13 10:13:03 -07:00
Misko Hevery
0c2dd09e78 Merge branch 'master' of github.com:angular/angular.js 2010-08-11 12:04:11 -07:00
Shyam Seshadri
cf33105011 Fix toEqual matcher to use angular.equals instead of simple == comparison, which breaks down for arrays and objects 2010-08-12 02:45:22 +08:00
Misko Hevery
3d5719cd44 removed undocumented/unneeded methods from Array API 2010-08-11 11:44:12 -07:00
Misko Hevery
ab2213e80e Merge branch 'master' of github.com:angular/angular.js 2010-08-11 11:21:08 -07:00
Misko Hevery
412f05977c removed google charts and few other filters, switched to simple optimization for compiler 2010-08-11 11:21:03 -07:00
Shyam Seshadri
04e92a8753 modify element dsl to understand angular bindings and return jquery object for further checking 2010-08-12 01:57:36 +08:00
Shyam Seshadri
27784b6dec Change repeater dsl to collect and return an array of string contents based on match 2010-08-12 01:09:04 +08:00
Misko Hevery
49ffab3318 Merge branch 'master' of http://github.com/shyamseshadri/angular.js into shyam 2010-08-10 13:53:18 -07:00
Shyam Seshadri
c4c96c5c69 Fix test breakage in Chrome. Chrome JQuery doesn't like malformed table html apparently 2010-08-10 13:42:50 -07:00
Misko Hevery
8d635cfb87 Merge branch 'master' of github.com:angular/angular.js 2010-08-10 11:46:37 -07:00
Misko Hevery
7673b2a2b2 added more tests for json float 2010-08-10 11:46:12 -07:00
Misko Hevery
9b392eca35 fix bug where $eval on undefined throws error 2010-08-10 11:23:23 -07:00
Misko Hevery
4aac29da18 added additional test 2010-08-10 11:17:08 -07:00
Shyam Seshadri
86c2ef87d5 Inject jquery into future scope, and rename outer scenario to _window, which is what it is 2010-08-10 10:48:31 -07:00
Shyam Seshadri
21d2b43e6c Add element DSL, to find an element. Has knowledge of finding ng:bind elements and grabbing their contents. 2010-08-09 17:55:01 -07:00
Andres Ornelas
de8d0984c8 added repeater.collect to E2E DSL 2010-08-06 17:28:47 -07:00
Andres Ornelas
6d0eeda1e2 added MatcherSpec 2010-08-04 12:36:53 -07:00
Andres Ornelas
26ed747588 test passing with repeater.count 2010-08-04 11:47:10 -07:00
Andres Ornelas
ec12285c9d Merge branch 'master' of github.com:angular/angular.js into future 2010-08-04 11:45:42 -07:00
Misko Hevery
059703495d rename textMarkup to markup 2010-07-30 15:19:43 -07:00
Misko Hevery
cdda664f89 fix up the $location encoding 2010-07-30 10:56:36 -07:00
Misko Hevery
1b768b8443 refactored $location service so that it correctly updates under all conditions 2010-07-29 12:54:13 -07:00
Andres Ornelas
ef88eb9a71 refactoring done but Expect not working 2010-07-27 17:04:37 -07:00
Andres Ornelas
e8b477f5b1 text context extracted 2010-07-27 16:02:51 -07:00
Misko Hevery
2a30a02f01 fix preventDefault for events 2010-07-27 15:54:50 -07:00
Andres Ornelas
32c4aee1cd before pulling testcontext out 2010-07-27 15:53:55 -07:00
Andres Ornelas
da95010350 stable before refactoring 2010-07-27 15:43:14 -07:00
Andres Ornelas
b42072733c Merge branch 'master' of github.com:angular/angular.js into future 2010-07-27 10:44:46 -07:00
Misko Hevery
8ddee9bb25 add $exceptionHandler service 2010-07-26 16:11:25 -07:00
Misko Hevery
94759f4c2c remove old unneded files 2010-07-26 15:35:02 -07:00
Misko Hevery
b288cb08b4 minor performance improvements 2010-07-26 15:32:08 -07:00
Misko Hevery
b2b170099f fix issues with ie 7 2010-07-23 13:54:12 -07:00
Misko Hevery
1a730a9996 fixed some of the IE bugs 2010-07-23 11:46:04 -07:00
Misko Hevery
748e91ba92 fixed some of the IE bugs 2010-07-23 11:38:52 -07:00
Misko Hevery
8015e09e38 added buzz demo, fix undefined() -> undefined 2010-07-23 10:48:18 -07:00
Misko Hevery
2987f7f705 fix howers which were accidently broken 2010-07-22 15:32:57 -07:00
Misko Hevery
849a05b5a5 added jsonp to resources 2010-07-22 11:18:32 -07:00
Misko Hevery
0f4b068bd6 fix test 2010-07-20 17:03:34 -07:00
Misko Hevery
bebfbeac0a fixed xhtml compatibility, fix console in chrome 2010-07-20 16:55:32 -07:00
Misko Hevery
7e96af0fdd added equals method to angular.equals and $equals 2010-07-19 12:29:24 -07:00
Misko Hevery
7cef4358ae fixed build 2010-07-15 14:16:04 -07:00
Misko Hevery
1de82283db proper handlig of $element in filters 2010-07-15 13:35:00 -07:00
Misko Hevery
9abd10e7b8 proper handlig of $element in filters 2010-07-15 13:13:21 -07:00
Misko Hevery
17d2ced9cc appease IE on CSS styles 2010-07-14 17:48:09 -07:00
Misko Hevery
e3e9ac8675 ng:style remembers previous style and properly resets to it 2010-07-14 17:07:23 -07:00
Kai Compagner
0a57273f00 fix undefine style 2010-07-15 07:40:27 +08:00
Kai Compagner
9998b8dcbb fix undefine style 2010-07-14 12:08:55 -07:00
Misko Hevery
32361d03a1 Changed cacheThanRetrieve to verifyCache(by Rob Spies) 2010-07-13 15:53:13 -07:00
Misko Hevery
f084fd37db romeve miscTest 2010-07-13 15:40:39 -07:00
Misko Hevery
10cd9751ea ng-change ng:change 2010-07-13 15:21:42 -07:00
Rob Spies
ac3c2736c7 Removes silly test addition. 2010-07-13 14:15:01 -07:00
Rob Spies
4034a2d1e2 better naming for our verify cache scheme, and tests. 2010-07-13 14:09:53 -07:00
Misko Hevery
87cfc27be3 changed remaining ng- to ng: 2010-07-13 11:20:11 -07:00
Misko Hevery
228b54aa2e ng:repeat ignores prototype keys 2010-07-09 14:45:29 -07:00
Misko Hevery
00bb790392 fixed IE tests 2010-07-08 15:55:00 -07:00
Misko Hevery
ee82dae318 added class as a constant keyword to generated code 2010-07-08 10:51:08 -07:00
Misko Hevery
b5195b8f67 changed the eval for ie to be able to return a function 2010-07-02 17:26:26 -07:00
Misko Hevery
1f05621509 change all attributes from ng- to ng: prefix 2010-07-02 15:39:57 -07:00
Andres Ornelas
9d8646b0d1 all tests passing with new futures concept 2010-06-30 09:51:54 -07:00
Andres Ornelas
fdc0bb232a add test for error in afterEach 2010-06-29 11:15:41 -07:00
Shyam Seshadri
42257f22af wilford's changes to serve cached data and then fetch from server if needed / specified 2010-06-23 13:07:31 -07:00
Andres Ornelas
70c3dc8166 expose e2e test results 2010-06-22 17:15:14 -07:00
Rob Spies
8f9bf37bcf asdsad 2010-06-22 17:11:57 -07:00
Rob Spies
1500e91def Merge http://github.com/angular/angular.js into angular
Conflicts:
	.gitignore
2010-06-22 17:09:55 -07:00
Shyam Seshadri
769b26b79e Fix bug with validator not triggering when attributes are bound and fix some typos. Add test for bug 2010-06-16 10:32:56 -07:00
Andres Ornelas
bbb45a7eed Merge branch 'repeater' 2010-06-09 16:05:51 -07:00
Andres Ornelas
85fac4d78c add beforeEach and afterEach to scenario DSL 2010-06-09 14:12:54 -07:00
Andres Ornelas
f6a405c283 change repeater count expectation wording 2010-06-09 13:30:54 -07:00
Andres Ornelas
fe03ea0d1f add repeater DSL and fix typo 2010-06-09 12:35:40 -07:00
Shyam Seshadri
36b58b235e fix some lint issues 2010-06-03 11:03:11 -07:00
Shyam Seshadri
3245209bdb Add ability to add conditions to ng-required 2010-06-02 17:13:10 -07:00
Misko Hevery
2e33e89a77 added compiled getterFN for better performance 2010-05-30 19:42:21 -07:00
Andres Ornelas
aedf12f25e added outstanding request queue 2010-05-26 15:21:58 -07:00
Andres Ornelas
4fec828cf6 appended lastDocument to the document.body 2010-05-25 09:52:52 -07:00
Andres Ornelas
55c0767f16 added dsl tests and select method 2010-05-24 17:48:17 -07:00
Andres Ornelas
3fab5d9879 added error handling on scenario definition 2010-05-24 15:25:30 -07:00
Andres Ornelas Mesta
f6c67e28c9 happy 2010-05-24 13:54:32 -07:00
Misko Hevery
d485421e0e Merge branch 'master' of github.com:angular/angular.js 2010-05-20 16:56:22 -07:00
Misko Hevery
e3368e12a6 semi working state 2010-05-20 16:55:47 -07:00
Misko Hevery
5215e2095c basic end to end runner 2010-05-20 15:55:41 -07:00
Misko Hevery
80bd0c273b fixed isNumber to angular.isNumber for mocks outside of angular 2010-05-19 16:00:20 -07:00
Misko Hevery
80e12276f4 added $log to console connection 2010-05-19 13:24:37 -07:00
Misko Hevery
31b35b141f added exception handling to $xhr 2010-05-19 12:00:44 -07:00
Misko Hevery
0f73084e9d added error handler to xhr requests 2010-05-19 11:51:17 -07:00
Misko Hevery
1bdcf72e45 put formatters back. 2010-05-13 16:40:41 -07:00
Misko Hevery
22d1464d7a fixed issue with radio view clobering model if radio was checked. 2010-05-13 13:57:39 -07:00
Misko Hevery
d523ab61d4 Merge branch 'master' of github.com:angular/angular.js 2010-05-13 12:03:34 -07:00
Misko Hevery
4b9b9e9830 fix incorect parsing of url if it contains dash - character 2010-05-13 12:03:10 -07:00
Misko Hevery
d5ba889f63 fixes issues where the field clobbers itself 2010-05-12 15:25:16 -07:00
Misko Hevery
5dda723185 improved handling of text fields when formater fails to prevent clobering of field 2010-05-10 20:24:20 -07:00
Misko Hevery
f5027cc375 Merge branch 'master' of github.com:angular/angular.js 2010-05-10 10:36:06 -07:00
Misko Hevery
4542716370 lint 2010-05-10 10:36:02 -07:00
Misko Hevery
0305b6746e change everything over to jasmine 2010-05-07 13:43:54 -07:00
Misko Hevery
038a743e6f xhr bulk fixes 2010-05-07 12:09:14 -07:00
Misko Hevery
ac1d02d065 make xhr post optional 2010-04-30 12:22:07 -07:00
Misko Hevery
549ff73a9b clear cache on non-get 2010-04-30 10:27:41 -07:00
Misko Hevery
c7913a4b7a added $xhr service with bulk and cache, hooked up $resource 2010-04-29 17:28:33 -07:00
Misko Hevery
913729ee01 fix isssue where the jasmine currentSpec does not get updated and hence everything runs as last spec context. 2010-04-29 10:55:22 -07:00
Misko Hevery
fce48eb60a resources now use browser mock 2010-04-27 11:18:08 -07:00
Misko Hevery
b275403465 fix ie for jquery 2010-04-26 17:02:27 -07:00
Misko Hevery
02fa10f93c allow the widget to change structure of the DOM and have the compiler follow the replaced element. 2010-04-26 11:57:33 -07:00
Misko Hevery
c29dc1a940 fixed wrong tests which did not have matched tags 2010-04-22 22:48:48 -07:00
Misko Hevery
5fdb117b32 clean up failing test with jquery 2010-04-22 22:09:17 -07:00
Misko Hevery
7ef5e055af fix CI Build 2010-04-22 21:04:20 -07:00
Misko Hevery
fe434307d1 tests work under jquery and without 2010-04-22 17:11:56 -07:00
Misko Hevery
2a9669e1d8 working on jQuery passing tests 2010-04-22 15:50:20 -07:00
Misko Hevery
d7416c4c82 ie6 and ie8 pass 2010-04-21 14:51:39 -07:00
Misko Hevery
8b29156a2d ie6 now passes 2010-04-21 14:29:05 -07:00
Misko Hevery
4aaec251df all tests pass on IE 2010-04-21 13:29:49 -07:00
Misko Hevery
e78405f6ed more if tests pass 2010-04-21 12:50:05 -07:00
Misko Hevery
22d93e0a3b fixes to enable ie 2010-04-20 18:14:13 -07:00
Misko Hevery
259c2bba4b last failing ie test remaining 2010-04-19 17:02:46 -07:00
Misko Hevery
9f9bdcf3d1 lint 2010-04-19 14:41:36 -07:00
Misko Hevery
618a2b423d ie fixes 2010-04-19 14:36:41 -07:00
Misko Hevery
8e1b670d5b fix ie bug with .text() on jqlite 2010-04-19 12:54:39 -07:00
Misko Hevery
6470b48ce0 validation issues fixed 2010-04-16 17:03:06 -07:00
Misko Hevery
deb86fe357 lots of small fixes 2010-04-16 14:01:29 -07:00
Misko Hevery
70e401ef10 added $route service 2010-04-15 14:17:33 -07:00
Misko Hevery
cd03fe92a5 checkbox widget fix 2010-04-13 14:25:12 -07:00
Misko Hevery
e8ac57caae tests pass on chrome 2010-04-12 19:16:30 -07:00
Misko Hevery
7c49b25548 $invalid widget clear on switch change 2010-04-12 19:05:39 -07:00
Misko Hevery
713307b650 added ng-eval-order attribute 2010-04-12 16:24:28 -07:00
Misko Hevery
2637d4e90c removed Meta and allowed binding of HTML 2010-04-12 14:28:15 -07:00
Misko Hevery
843bd355d2 various bug fixes 2010-04-09 16:20:15 -07:00
Misko Hevery
41a5c408c2 tests pass jstd has issues 2010-04-08 15:05:05 -07:00
Misko Hevery
c4ef1f2fdd tests failing jstd to show cory 2010-04-08 13:43:40 -07:00
Misko Hevery
e0ad7dfcd4 seperatio validation and exception handling 2010-04-07 17:24:24 -07:00
Misko Hevery
a8aa5af413 fixed filter this 2010-04-07 16:36:33 -07:00
Misko Hevery
3c5e0205f9 Merge branch 'directives' of github.com:angular/angular.js into directives 2010-04-07 14:13:28 -07:00
Misko Hevery
6ea1ac7b05 added $invalidWidget service 2010-04-07 14:13:10 -07:00
Misko Hevery
29309e0e5a jstd failing test case for cory 2010-04-07 10:35:54 -07:00
Misko Hevery
82cb18db28 Merge branch 'directives' of github.com:angular/angular.js into directives 2010-04-07 10:29:47 -07:00
Misko Hevery
0df93fd49c clean up, fixes for app 2010-04-07 10:17:15 -07:00
Misko Hevery
ee327a1f4f few fixes to make tests pass with jquery 2010-04-06 14:04:08 -07:00
Misko Hevery
e646068586 added ng-controller directive 2010-04-05 21:26:52 -07:00
Misko Hevery
2107eafcde added hover service 2010-04-05 20:53:33 -07:00
Misko Hevery
1c670b2a7c added ng:include 2010-04-05 14:09:25 -07:00
Misko Hevery
7a4b480206 added ng:switch widget 2010-04-05 11:46:53 -07:00
Misko Hevery
5dcf9bb4fe browser is now injectable into the system 2010-04-03 20:23:16 -07:00
Misko Hevery
a80a61839a injection is now working 2010-04-03 17:04:36 -07:00
Misko Hevery
35ca4fcb9c radio now works with repeaters 2010-04-02 11:49:48 -07:00
Misko Hevery
5bd23fde7a merge 2010-04-02 11:16:49 -07:00
Misko Hevery
d717020911 widgets now work properly 2010-04-02 11:10:36 -07:00
Misko Hevery
85f13d602e work on $location and autobind 2010-04-01 14:10:28 -07:00
Misko Hevery
11a6431f89 started to add services 2010-03-31 18:18:10 -07:00
Misko Hevery
861bac1d28 started to add services 2010-03-31 17:56:16 -07:00
Misko Hevery
35a9108500 all tests green, some dissabled 2010-03-31 13:57:25 -07:00
Misko Hevery
b5b8f63e1e more tests passing 2010-03-30 15:39:51 -07:00
Misko Hevery
a7d62dcb55 more tests fixed 2010-03-30 14:55:04 -07:00
Misko Hevery
d2d356918b reenabled more tests 2010-03-29 21:49:12 -07:00
Misko Hevery
cc6def854f reenabled more tests 2010-03-29 21:36:34 -07:00
Misko Hevery
e55c97deba dissabled a lot of tests, and made the core test set pass. 2010-03-29 20:25:42 -07:00
Misko Hevery
258ca5f165 moved all uneeded files out, widgets.html works, tests horribly broken 2010-03-26 16:27:18 -07:00
Misko Hevery
1990cbbf28 added few extra tests 2010-03-25 22:07:36 -07:00
Misko Hevery
d934054cfc major refactoring of scope 2010-03-25 22:03:11 -07:00
Misko Hevery
0cc9b07320 input select-multiple now works 2010-03-25 14:51:42 -07:00
Misko Hevery
4fa166866b input select-one now works 2010-03-25 14:43:05 -07:00
Misko Hevery
b814c79b58 checkbox and radio now working 2010-03-25 13:01:08 -07:00
Misko Hevery
f29f6a47c4 fixed .value vs attr(value) access 2010-03-24 16:47:11 -07:00
Misko Hevery
0c42eb9909 input[type=text] now works with binding, validation, formatter, required 2010-03-24 16:13:42 -07:00
Misko Hevery
3d36942400 merge 2010-03-24 12:08:48 -07:00
Shyam Seshadri
03ddc4570b Fix parsing bug with strings for - 2010-03-24 10:35:01 -07:00
Misko Hevery
bb98ae14f2 markup now wroks, some refactorings 2010-03-23 14:57:11 -07:00
Misko Hevery
6ff550cfa9 all angular.js directives now work 2010-03-22 21:29:57 -07:00
Misko Hevery
a822708674 rudementary event bind and trigger for jqlite 2010-03-22 20:20:05 -07:00
Misko Hevery
7c87c17d08 upgraded jquery to 1.4.2 and made ng-action work with jquery 2010-03-22 18:20:49 -07:00
Misko Hevery
6f8276a8e3 ng-watch directive 2010-03-22 16:07:42 -07:00
Misko Hevery
b4561ff951 ng-repeat works 2010-03-22 15:46:34 -07:00
Misko Hevery
84552f7f8a got few directives working 2010-03-22 13:58:04 -07:00
Misko Hevery
f6664ed7f6 tests fixed, still missing widgets 2010-03-19 22:18:39 -07:00
Misko Hevery
c3eac13aa7 showing off problem to corry 2010-03-19 16:41:22 -07:00
Misko Hevery
be3c7a6670 cleanup work 2010-03-18 17:12:38 -07:00
Misko Hevery
79f868cbca cleanup work 2010-03-18 16:20:02 -07:00
Misko Hevery
509b032089 markup now works 2010-03-18 15:50:14 -07:00
Misko Hevery
df607da0d1 support for templates 2010-03-18 14:43:49 -07:00
Misko Hevery
7634a3ed52 initial revision of new plugable compiler 2010-03-18 12:20:06 -07:00
Adam Abrons
c9aba8b442 make xhr just a method 2010-03-16 14:48:11 -07:00
Adam Abrons
39c6c5975b get scenarios running again - open Runner.html in a browser to run them 2010-03-15 17:02:54 -07:00
Adam Abrons
79b743e52f resources, with bind() 2010-03-15 15:57:12 -07:00
Misko Hevery
cc71b745c3 added resources; removed compiled code 2010-03-15 14:36:50 -07:00
Misko Hevery
6431efef8c corrected repeater not removing when hash(instead of array) shrinks. 2010-02-26 13:08:28 -08:00
Misko Hevery
b628de9758 fix option value bug 2010-02-20 17:27:21 -08:00
Misko Hevery
7e14dff905 fix this on filter to point to scope 2010-02-17 16:05:26 -08:00
Misko Hevery
3f9a2ab9bd added asynchronous validator 2010-02-12 19:39:01 -08:00
Misko Hevery
6cc9464136 Fixed negation grouping bug
Make 'this' of validation be scope
2010-02-12 14:17:44 -08:00
Misko Hevery
b2a8a089b6 make validator more leniant for errors which are false instead of null 2010-02-11 09:57:42 -08:00
Misko Hevery
9d566fe98c missing test 2010-02-09 14:59:24 -08:00
Misko Hevery
799d72931a added onUpdateView listener for config 2010-02-09 13:13:18 -08:00
Misko Hevery
9d566a0cd0 better integer farmater 2010-02-05 14:41:54 -08:00
Misko Hevery
6d75afe6d2 fixed memory leak on repeaters 2010-02-05 14:13:19 -08:00
Misko Hevery
251fab4029 updateView is now called on binder instead of scope 2010-02-04 15:04:28 -08:00
Misko Hevery
9f919c42f0 better handling of $invalidWidgets 2010-02-04 14:02:20 -08:00
Misko Hevery
1da18e73a4 consider widget errors only when widgets are visible 2010-02-04 13:27:56 -08:00
Misko Hevery
5dd43b85e7 ng-required treats whitespace as empty 2010-02-04 11:45:38 -08:00
Misko Hevery
302472f4fa list formater always should return arry 2010-02-04 11:12:34 -08:00
Misko Hevery
a9c182764b added formatters 2010-01-28 22:11:01 -08:00
Misko Hevery
dd9d8bf030 merge 2010-01-28 20:46:01 -08:00
Misko Hevery
3d99e0f6de work 2010-01-28 20:44:34 -08:00
Misko Hevery
a2540fd581 fixes to make it pass on IE 2010-01-25 23:49:52 -08:00
Misko Hevery
a5c446441f fix closure compiler incompatibilities 2010-01-24 19:12:01 -08:00
Misko Hevery
efad9ec5be changes to make it closure compiler compatible 2010-01-24 17:10:58 -08:00
Misko Hevery
b8ee8b8912 fix broken test 2010-01-23 15:58:12 -08:00
Misko Hevery
4460328bc1 lots of cleanup to get it ready for OS 2010-01-23 15:54:58 -08:00
Misko Hevery
dc0db57b36 tweek tweeter 2010-01-20 06:52:50 -08:00
Misko Hevery
db2031c5a1 added debug info; fix parser bug with double negation 2010-01-19 17:53:20 -08:00
Misko Hevery
0e566fe6cb tweeter demo client 2010-01-18 17:56:08 -08:00
Misko Hevery
595b4ea097 checkpoint for integration with angular 2010-01-18 10:47:03 -08:00
Misko Hevery
27709c3f69 break out init phase into scope 2010-01-12 14:19:19 -08:00
Misko Hevery
13dee60685 dissable URL watching 2010-01-12 08:40:10 -08:00
Misko Hevery
6d5471c9be all files converted to prototype= {} 2010-01-11 17:32:33 -08:00
Misko Hevery
1a42a3fab9 green 2010-01-11 16:15:12 -08:00
Misko Hevery
9b9a0dadcc removed nglr namespace 2010-01-09 15:02:43 -08:00
Misko Hevery
88eca572fd change bootstrap to angular.compile 2010-01-09 13:43:16 -08:00
Misko Hevery
214c142d9d created a way to init the code without autobootstrap 2010-01-08 16:04:35 -08:00
Adam Abrons
c9c176a53b angular.js 2010-01-05 16:36:58 -08:00