angularjs - Access directive attribute value in the jasmine test -


i have example angularjs directive <div some-dir="5" />

how access directive attribute value of 5 inside test?

describe("some-dir", function() {     var element, scope;     beforeeach(module('app'));     beforeeach(inject(function($rootscope, $compile) {          scope = $rootscope;         element = angular.element('<div><div id="el1" some-dir="5" /></div>');         $compile(element)(scope);         scope.$digest();      }));      it('should able attribute value', function(){         // attr value of some-dir       });  }); 

you can check scope values of element using isolatescope method. won't work when pass value right next directive attribute, values not copied isolated scope.

in case, it's possible , test value using element.attributes method.

first compile directive html:

var element;  beforeeach(inject(function (_$compile_, _$rootscope_) {     var $compile = _$compile_,         $scope = _$rootscope_;      element = $compile('<div my-directive="4" some-value="5"></div>')($scope);     $scope.$digest(); })); 

then can expect element's isolatescope return object somevalue property.

it('should expect some-value 5', function () {     inject(function ($injector) {         // check attribute values using isolatescope         expect(element.isolatescope().somevalue).toequal(5);          // check value right after directive attribute         expect(element.attr('my-directive')).toequal('4');     }); }); 

here example plunker.


Comments

Popular posts from this blog

java - Oracle EBS .ClassNotFoundException: oracle.apps.fnd.formsClient.FormsLauncher.class ERROR -

c# - how to use buttonedit in devexpress gridcontrol -

nvd3.js - angularjs-nvd3-directives setting color in legend as well as in chart elements -