aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/directive/inputSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ng/directive/inputSpec.js')
-rw-r--r--test/ng/directive/inputSpec.js34
1 files changed, 32 insertions, 2 deletions
diff --git a/test/ng/directive/inputSpec.js b/test/ng/directive/inputSpec.js
index d69be27c..f8898074 100644
--- a/test/ng/directive/inputSpec.js
+++ b/test/ng/directive/inputSpec.js
@@ -309,7 +309,7 @@ describe('ngModel', function() {
describe('input', function() {
- var formElm, inputElm, scope, $compile, changeInputValueTo;
+ var formElm, inputElm, scope, $compile, $sniffer, $browser, changeInputValueTo;
function compileInput(inputHtml) {
inputElm = jqLite(inputHtml);
@@ -318,7 +318,9 @@ describe('input', function() {
$compile(formElm)(scope);
}
- beforeEach(inject(function($injector, $sniffer) {
+ beforeEach(inject(function($injector, _$sniffer_, _$browser_) {
+ $sniffer = _$sniffer_;
+ $browser = _$browser_;
$compile = $injector.get('$compile');
scope = $injector.get('$rootScope');
@@ -385,6 +387,34 @@ describe('input', function() {
expect(scope.name).toEqual('adam');
});
+ describe('"paste" and "cut" events', function() {
+ beforeEach(function() {
+ // Force browser to report a lack of an 'input' event
+ $sniffer.hasEvent = function(eventName) {
+ return eventName !== 'input';
+ };
+ });
+
+ it('should update the model on "paste" event', function() {
+ compileInput('<input type="text" ng-model="name" name="alias" ng-change="change()" />');
+
+ inputElm.val('mark');
+ browserTrigger(inputElm, 'paste');
+ $browser.defer.flush();
+ expect(scope.name).toEqual('mark');
+ });
+
+ it('should update the model on "cut" event', function() {
+ compileInput('<input type="text" ng-model="name" name="alias" ng-change="change()" />');
+
+ inputElm.val('john');
+ browserTrigger(inputElm, 'cut');
+ $browser.defer.flush();
+ expect(scope.name).toEqual('john');
+ });
+
+ });
+
it('should update the model and trim the value', function() {
compileInput('<input type="text" ng-model="name" name="alias" ng-change="change()" />');