This is my directive code:
(function() {
'use strict';
function dropdownSelectDrct() {
return {
restrict: 'E',
replace: true,
template: "<div><label>" + "<input type="text" name="input" ng-model="wrapper.value2">" +
"</label><span>{{wrapper.value2}}</span></div>"
controller: 'dropdownSelectCtrl',
scope: {
}
};
}
angular.module( 'app' ).directive( 'dropdownSelect', dropdownSelectDrct );
})();
And the controller is as following:
(function() {
'use strict';
function dropdownSelectCtrl( $scope ){
$scope.wrapper = {
value2: 'fun'
};
}
angular.module( 'app' ).controller( 'dropdownSelectCtrl', dropdownSelectCtrl );
})();
The Unit Test code is as following:
describe( 'simple-test', function() {
'use strict';
describe( 'Directive: dropdown-select', function() {
var elem;
var $scope;
var $rootScope, $compile;
beforeEach( module(
'app'
) );
beforeEach( module( 'app', function( $controllerProvider ) {
$controllerProvider.register( 'dropdownSelectCtrl', function( $scope ) {
$scope.value = 'foo';
$scope.wrapper = {
value2: 'fun2'
};
});
} ) );
beforeEach( inject( function( _$rootScope_, _$compile_ ) {
$rootScope = _$rootScope_;
$compile = _$compile_;
$scope = $rootScope.$new();
elem = angular.element( '<dropdown-select></dropdown-select>' );
elem = $compile( elem )( $scope );
$scope.$digest();
}));
it( 'another test', function() {
elem.find( 'input' ).val( 'abcdef' );
$scope.$digest();
expect( elem.isolateScope().wrapper.value2 ).toEqual( 'abcdef' );
});
});
});
It seems we fails to update the variable binding to input textbox.
Would you please give me some instruction about how to fix it?
Aucun commentaire:
Enregistrer un commentaire