aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2010-10-19Fix browser triggering in scenario to always do native events.Misko Hevery
- Also fixed angular.suffix for scenarios - refactored click() to browserTrigger() - Fixed Rakefile with CSS and jQuery
2010-10-19Significantly clean up the way the scenario DSL works and implement many ↵Elliott Sprehn
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-18fixing css class name for currency filter and its specIgor Minar
2010-10-18Removed $location.cancel() method (and related test)Vojta Jina
2010-10-18Update $location API Close #62Vojta Jina
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-18JSON parser is now strict (ie, expressions are not allowed for security)Misko Hevery
Close #57
2010-10-16improving angular.copy specIgor Minar
2010-10-16Add test for toKeyValue() - true values should be composed to flagVojta Jina
2010-10-16Add missing tests for toKeyValue() functionVojta Jina
2010-10-16attempting to fix ie on jquery build failureMisko Hevery
2010-10-16fixed date formater and make it work on ieMisko Hevery
2010-10-16adding an extra DateToUTC assertionIgor Minar
2010-10-16Fixed filter date test - remove dependency on machine timezoneVojta Jina
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-15Fix unicode parsing Close #56Misko Hevery
2010-10-15fixed lint warnings and one flaky testMisko Hevery
2010-10-15Updated JSTDMisko Hevery
2010-10-14New Angular Scenario runner and DSL system with redesigned HTML UI.Elliott Sprehn
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-13Added support for date filterMisko Hevery
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-13fixing reference issue in angular-mocks.jsIgor Minar
2010-10-13fixed issue where date copy creates an object instead of dateMisko Hevery
2010-10-13fixed issue where ng:bind would not reset value if expression returned undefinedMisko Hevery
2010-10-12Fixed issue where compiler would pass in detached text node if previous ↵Misko Hevery
markup would have removed it.
2010-10-12Introduced injector and $new to scope, and injection into link methods and ↵Misko Hevery
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-13fix memory leak caused by leftbehind $invalidWidgets referencesIgor Minar
- ng:switch should not clean up $invalidWidgets - $invalidWidgets should be clean up after each eval - add missing docs
2010-10-08Fix bug with Lexer not recognizing exponential values and values starting ↵Shyam Seshadri
with dots
2010-10-08change ng:controller to create new scope hence allow nestingMisko Hevery
2010-10-07Change angular-mocks to throw errors on unexpected gets in the format JSTD ↵Shyam Seshadri
now expects
2010-10-06removing anchor spec and improving jqLite.trigger() methodIgor Minar
- removing the last anchor spec because it can't run reliably in all browsers - improving jqLite.trigger() method
2010-10-04fixed lint warningsIgor Minar
2010-10-04adding missing spec for 'A' widgetIgor Minar
2010-10-01angular-mocks code should access all global functions via angularIgor Minar
mocks must use angular.foo because the final build will hide all the normally accessible functions within an anonymous closure.
2010-10-01'A' tag widget and ng:click propagation changeIgor Minar
* 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-09-29Differentiate between flags and empty keys in $location.hashSearchIgor Minar
* #foo?key=var&flag&emptyKey= should parse into {key:'val', flag: true, emptyKey: ''} * added docs and spec for parseKeyValue function
2010-09-27Reworked the cookie synchronization between cookie service, $browser and ↵Igor Minar
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-26Properly initialize cookie service in order to preserve existing cookiesIgor Minar
- 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-26Added support for functions to $orderBy methodMisko Hevery
http://github.com/angular/angular.js/issues#issue/23
2010-09-23make date validator use the Date objectBolek Szewczyk
2010-09-23$cookies service refactoringIgor Minar
- 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-23Rewrite session store service in object literal style and remove getAll ↵Igor Minar
method that is not used anywhere
2010-09-22Refactored the Browser:Misko Hevery
- 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-21HEAD is now at 10c0151 Fixes on issue when a SELECT has OPTION which are ↵Misko Hevery
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-21toJson should serialize inherited properties, but not any properties that ↵Igor Minar
start with $
2010-09-21fixed test for ng:src which fails on IE, since IE treats undefined src as ↵Misko Hevery
url to the current page.
2010-09-20Add ng:src and ng:href markup.Alkis Evlogimenos
2010-09-16Expose GET operations on resources as well. This allows us to readAlkis Evlogimenos
"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-14mergeMisko Hevery
2010-09-14Fixed all trivial jslint violationsMisko Hevery
2010-09-14Adding cookie serviceMisko Hevery
- Browser.cookies() - MockBrowser - $cookie service - $sessionStore
2010-08-18converted lexer from function to closureMisko Hevery
2010-08-18stringify names for better compression, remove dead functions, removed ↵Misko Hevery
underscore.js compatibility