Commit graph

266 commits

Author SHA1 Message Date
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