0

When I run this Jasmine spec through grunt-contrib-jasmine, I get the error TypeError: Attempted to assign to readonly property. pointing to the line where I set the selectedIndex attribute:

it('does something', function () {
    setFixtures('<select id="selectId"><option>Text</option></select>');
    var selectDOM = document.getElementById('selectId');
    selectDOM.selectedIndex = 0;
    // stripped some code here...
});

Does anybody know what I am missing here? I use phantomjs v1.9.8, grunt-cli v0.1.13 and grunt-contrib-jasmine v0.9.2.

RSeidelsohn
  • 1,149
  • 18
  • 33
  • In this example I did not make the typo, so this example will run fine. Read my answer below if you seem to have the same issue. – RSeidelsohn Apr 26 '16 at 13:23

1 Answers1

4

Got it, I made an error, but since this can be hard to find I for now will leave my question and answer here. Feel free to delete it completely though.

I made a typo in the value I passed into the getElementById() function, so the variable selectDOM was null. This for some reason led to the error "TypeError: Attempted to assign to readonly property.".

The typo was hard to see for me and the error message misleading in this case, so others might run into the same issue.

RSeidelsohn
  • 1,149
  • 18
  • 33