[ 
https://issues.apache.org/jira/browse/COUCHDB-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13200798#comment-13200798
 ] 

Marcello Nuccio commented on COUCHDB-1397:
------------------------------------------

@Alexander,
this isn't as off-topic as it seems at first, because software design is 
heavily influenced by ease of testability.

I've not proposed to inject every single function. I've proposed to inject the 
context. For a list function it may be:

    function aList(head, req, ctx) {
      var row;
      function renderRow(row) { //... }
      while((row = ctx.getRow())) {
        send(renderRow(row));
      }
    }

This greatly simplifies unit testing. And it does not imply that you mock 
"every internal query server global function". You can even do without mocking, 
but the point is that you are in control of it, so you can properly test 
whatever needs testing.

Testing with the real query server, is done in end-to-end or integration 
testing. This is needed, but it does not eliminate the need for unit testing.
                
> Function expressions, evals in SpiderMonkey
> -------------------------------------------
>
>                 Key: COUCHDB-1397
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-1397
>             Project: CouchDB
>          Issue Type: Bug
>          Components: JavaScript View Server
>    Affects Versions: 1.2.1
>         Environment: All
>            Reporter: Jason Smith
>
> New SpiderMonkey releases do not eval() a sole anonymous function expression. 
> That is not a valid JavaScript statement, and so it is not a valid JavaScript 
> script.
> COUCHDB-1302 addressed this for 1.1 and the 1.1.x branch. This ticket is for 
> 1.2. (Sorry to spam COUCHDB-1302. I saw "Unassigned" and read "Unresolved.")

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to