{"thread":{"id":"30107","subject":"[GSOC] Contributing to git.","startedAt":"2012-03-30T02:49:29Z","lastAt":"2012-04-03T09:03:43Z","messageCount":15,"participants":["jaseem abid","Jeff King","Jakub Narebski","chaitanyaa nalla","Andrew Sayers","Nazri Ramliy"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"188119","messageId":"CAH-tXsB39OpbmVcD3Fd+tq8UcBsyCf6JBZ-rSyf1VwrQPKLiFQ@mail.gmail.com","threadId":"30107","inReplyTo":null,"subject":"[GSOC] Contributing to git.","fromName":"jaseem abid","fromEmail":"jaseemabid@gmail.com","sentAt":"2012-03-30T02:49:29Z","receivedAt":"2012-03-30T02:49:29Z","isPatch":false,"sender":{"key":"jaseemabid@gmail.com","avatar":"https://gravatar.com/avatar/8b0432c96e4d3c8a9a96c9961ee842df7b7a869744da9c25187a51a992eabd81?d=mp&s=160"},"body":"Hello everyone,\n\n\tI was playing around with gitweb project for a couple of days. I\nwould like to get some more information on the project.\n\t\n\t1. Where can I find general instructions on \"Contributing to git? \"\nmore specifically, gitweb?\n\t2. Where can I find coding standards for git? I am looking for the\ngit version of this document.\n\t\t[JQuery core style\nguidelines](http://docs.jquery.com/JQuery_Core_Style_Guidelines)\n\t3. Is JavaScript code unit tested? I cant find much docs regarding\nthis anywhere.\n\t\tI found some general instructions\n[here](https://git.wiki.kernel.org/articles/h/o/w/HowToWriteTests_9902.html)\nbut not for JavaScript.\n\t\tI did analyze a few scripts in t/ folder.\n\t\tI have shortlisted the following for JavaScript unit testing in\npriority order.\n\t\t[JSDev by Douglas\nCrockford](https://github.com/douglascrockford/JSDev) for its\nsimplicity and elegance.\n\t\t[Jasmine](http://pivotal.github.com/jasmine/) for its power.\n\t\t[Sinon.js](http://sinonjs.org/)\t- overall goodness.\n\t\t\n\tI would love to hear from you all suggestions on this. A bit of help\nfor integrating new tests with the existing ones will be of great\nhelp.\n\nRegards,\n\n-- \nJaseem Abid\n+91 8891 72 43 72\nS6 CSE student\nNational Institute of Technology , Calicut.\n"},{"id":"188127","messageId":"20120330052631.GB11648@sigill.intra.peff.net","threadId":"30107","inReplyTo":"CAH-tXsB39OpbmVcD3Fd+tq8UcBsyCf6JBZ-rSyf1VwrQPKLiFQ@mail.gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2012-03-30T05:26:31Z","receivedAt":"2012-03-30T05:26:31Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Fri, Mar 30, 2012 at 08:19:29AM +0530, jaseem abid wrote:\n\n> \t1. Where can I find general instructions on \"Contributing to git? \"\n> more specifically, gitweb?\n\nDocumentation/SubmittingPatches in the git.git repository.\n\n> \t2. Where can I find coding standards for git? I am looking for the\n> git version of this document.\n\nDocumentation/CodingGuidelines\n\n> \t3. Is JavaScript code unit tested? I cant find much docs regarding\n> this anywhere.\n\nJakub can answer this much better than I can, but I suspect the answer\nis \"no\". We hardly have any javascript at all, and I doubt the gitweb\ntests cover the javascript bits.\n\nIf there is going to be a javascript-heavy SoC project, I think part of\nthat should probably be adding some automated testing infrastructure.\n\n-Peff\n"},{"id":"188143","messageId":"CAH-tXsBM1Nh5ZXGs=jp8oCERKQEuAkfMG_=afLw77ACTDmnSbg@mail.gmail.com","threadId":"30107","inReplyTo":"20120330052631.GB11648@sigill.intra.peff.net","subject":"Re: [GSOC] Contributing to git.","fromName":"jaseem abid","fromEmail":"jaseemabid@gmail.com","sentAt":"2012-03-30T10:24:52Z","receivedAt":"2012-03-30T10:24:52Z","isPatch":false,"sender":{"key":"jaseemabid@gmail.com","avatar":"https://gravatar.com/avatar/8b0432c96e4d3c8a9a96c9961ee842df7b7a869744da9c25187a51a992eabd81?d=mp&s=160"},"body":">> Is JavaScript code unit tested? I cant find much docs regarding\n>> this anywhere.\n>\n> Jakub can answer this much better than I can, but I suspect the answer\n> is \"no\". We hardly have any javascript at all, and I doubt the gitweb\n> tests cover the javascript bits.\n>\n> If there is going to be a javascript-heavy SoC project, I think part of\n> that should probably be adding some automated testing infrastructure.\n\nAFAIK now, the gsoc project will be almost JavaScript only and some\nPerl. Since this is the main thing I am planning do, I would love to\ndo it in a good manner.\n\nThe current contributors are mainly,\n    John 'Warthog9' Hawley <warthog9@**.net>\n    Jakub Narebski <jnareb@**.com>\n    Petr Baudis <pasky@**.cz>\n\nI would love to get some advice regarding this from them.\n\n-- \nJaseem Abid\n+91 8891 72 43 72\nS6 CSE student\nNational Institute of Technology , Calicut.\n"},{"id":"188145","messageId":"201203301305.23567.jnareb@gmail.com","threadId":"30107","inReplyTo":"20120330052631.GB11648@sigill.intra.peff.net","subject":"Re: [GSOC] Contributing to git.","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-30T11:05:22Z","receivedAt":"2012-03-30T11:05:22Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Fri, 30 Mar 2012, Jeff King wrote:\n> On Fri, Mar 30, 2012 at 08:19:29AM +0530, jaseem abid wrote:\n> \n> > \t1. Where can I find general instructions on \"Contributing to git? \"\n> > more specifically, gitweb?\n> \n> Documentation/SubmittingPatches in the git.git repository.\n\nFor GSoC we prefer if you had a public git repository with your stuff\n(GitHub, repo.or.cz or wherever), and that patches were Cc-ed to mentor.\n\n> > \t2. Where can I find coding standards for git? I am looking for the\n> > git version of this document.\n> \n> Documentation/CodingGuidelines\n\nThere are no special rules for JavaScript (and neither for that matter\nfor Perl), but:\n\n  \"As for more concrete guidelines, just imitate the existing code\n   (this is a good guideline, no matter which project you are\n   contributing to). It is always preferable to match the _local_\n   convention. New code added to git suite is expected to match\n   the overall style of existing code. Modifications to existing\n   code is expected to match the style the surrounding code already\n   uses (even if it doesn't match the overall style of existing code).\"\n\nFor JavaScript this includes using subset of JSDoc in comments.\n\n> > \t3. Is JavaScript code unit tested? I cant find much docs regarding\n> > this anywhere.\n\nNo, there are no JavaScript tests at all, neither unit tests\nnor procedural (integration) tests.\n\n> Jakub can answer this much better than I can, but I suspect the answer\n> is \"no\". We hardly have any javascript at all, and I doubt the gitweb\n> tests cover the javascript bits.\n> \n> If there is going to be a javascript-heavy SoC project, I think part\n> of that should probably be adding some automated testing\n> infrastructure. \n\nThe problem with automated testing of JavaScript is integrating it with\nour testsuite, which is run from command line and outputs TAP (Test \nAnything Protocol), so it can e.g. be run by 'prove'.\n\nBut even if the JavaScript tests would have to be run in browser (like\nmost of all of them seems to), having any automated test for gitweb's \nJavaScript code would be a very good idea.\n\nP.S. I wonder how JavaScript-scriptable Veracity DVCS solved that...\n-- \nJakub Narebski\nPoland\n"},{"id":"188147","messageId":"CACeyogeboKPEhsaY357+hBvVquW7kn3ygOk11ZSKvXOt4vkzvQ@mail.gmail.com","threadId":"30107","inReplyTo":"201203301305.23567.jnareb@gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"chaitanyaa nalla","fromEmail":"nallachaitu@gmail.com","sentAt":"2012-03-30T11:18:58Z","receivedAt":"2012-03-30T11:18:58Z","isPatch":false,"sender":{"key":"nallachaitu@gmail.com","avatar":"https://gravatar.com/avatar/c9a4123cd12065ef283d9e90fe2425fd98b8217acb0ef20ad6c2529b9d692e62?d=mp&s=160"},"body":"There are good Opensource tools like\nTestSwarm (jQuery) , JSTestDriver(Google) .Both are distributed\njavascript testing tools that supports testing on all major browsers.\n"},{"id":"188148","messageId":"201203301345.59195.jnareb@gmail.com","threadId":"30107","inReplyTo":"CACeyogeboKPEhsaY357+hBvVquW7kn3ygOk11ZSKvXOt4vkzvQ@mail.gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-30T11:45:58Z","receivedAt":"2012-03-30T11:45:58Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Fri, 30 Mar 2012, chaitanyaa nalla wrote:\n\n> There are good Opensource tools like\n> TestSwarm (jQuery), JSTestDriver(Google). Both are distributed\n> javascript testing tools that supports testing on all major browsers.\n\nWe don't need _distributed_ javascript testing tool; we need automated\ncommand-line javascript testing tool which we can integrate into git\ntestsuite (t/).\n\n* TestSwarm is distributed continuous integration testing tool,\n  (not necessary for us), and from what I understand it shows results\n  as a web page (in a browser).\n\n  It is written in PHP and uses MySQL.\n\n* jsTestDriver looks like something we could use, as it is run from\n  command line, and prints results to standard output.\n\n  It requires however a web browser attached (this is not an obstacle:\n  having web browser can be prerequisite for such tests)... and is\n  written in Java, and as far as I understand doesn't output TAP.\n\n\nDocumentation/CodingGuidelines says:\n\n - Avoid introducing a new dependency into git. This means you\n   usually should stay away from scripting languages not already\n   used in the git core command set [...]\n\nSo no PHP, and no Java.\n\n-- \nJakub Narebski\nPoland\n"},{"id":"188149","messageId":"CACeyogchHc4tyUJomwxGe05Vuq1kKebFTcWfbb8Bm5=upi4q3A@mail.gmail.com","threadId":"30107","inReplyTo":"201203301345.59195.jnareb@gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"chaitanyaa nalla","fromEmail":"nallachaitu@gmail.com","sentAt":"2012-03-30T11:51:35Z","receivedAt":"2012-03-30T11:51:35Z","isPatch":false,"sender":{"key":"nallachaitu@gmail.com","avatar":"https://gravatar.com/avatar/c9a4123cd12065ef283d9e90fe2425fd98b8217acb0ef20ad6c2529b9d692e62?d=mp&s=160"},"body":"I totally agree with your clear explanation Jakub.\n\nchaitanya nalla,\nIndia.\n"},{"id":"188153","messageId":"CAH-tXsAMJXNs7fM=9msiZT+F_s_06o526kPXLLcQzABBePHxwQ@mail.gmail.com","threadId":"30107","inReplyTo":"201203301305.23567.jnareb@gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"jaseem abid","fromEmail":"jaseemabid@gmail.com","sentAt":"2012-03-30T12:46:06Z","receivedAt":"2012-03-30T12:46:06Z","isPatch":false,"sender":{"key":"jaseemabid@gmail.com","avatar":"https://gravatar.com/avatar/8b0432c96e4d3c8a9a96c9961ee842df7b7a869744da9c25187a51a992eabd81?d=mp&s=160"},"body":">> >     1. Where can I find general instructions on \"Contributing to git? \"\n>> > more specifically, gitweb?\n>>\n>> Documentation/SubmittingPatches in the git.git repository.\n\nGenerally informative, thank you.\n\n> For GSoC we prefer if you had a public git repository with your stuff\n> (GitHub, repo.or.cz or wherever), and that patches were Cc-ed to mentor.\n\nI just started some experiments with code. I branched 'gsoc'  from\n'next' and pushed to github. From the docs I understand that I should\nhave branched from master. What should I be doing now?\n[github clone](https://github.com/jaseemabid/git/tree/gsoc)\n\n\n>> >     2. Where can I find coding standards for git? I am looking for the\n>> > git version of this document.\n>>\n>> Documentation/CodingGuidelines\n>\n> There are no special rules for JavaScript (and neither for that matter\n> for Perl), but:\n\nParts of my mail are not quoted so I'm mentioning some points again.\n\nSince we don't have a strict coding guidelines for JavaScript till\nnow, and since we are thinking of an almost rewrite, I would suggest\nthat we can follow guidelines from the Jquery project.\n[http://docs.jquery.com/JQuery_Core_Style_Guidelines]. Since this is\nthe library we are going to use mostly, I think this will be a good\nchoice, considering we might write few plugins ourselves for the\nproject.\n\n[Tips from Douglas\nCrockford](http://javascript.crockford.com/code.html ) are very\nimportant in the context of JavaScript. Following this will make it\npass [JSLint](http://www.jslint.com/) which is a good measure for\nJavaScript code quality. Will try to make sure that every piece of\nJavaScript I write pass JSLint (which is not very easy). I think it is\nlike the POSIX example from Documentation/CodingGuidelines for C :P\n\nI have tried to follow these till date and wont be hard to continue\ndoing it for gitweb.\n\n> For JavaScript this includes using subset of JSDoc in comments.\n\n[JSDoc]((http://code.google.com/p/jsdoc-toolkit/)) tool kit seems like\na very good choice.\n\n>> >     3. Is JavaScript code unit tested? I cant find much docs regarding\n>> > this anywhere.\n\n> The problem with automated testing of JavaScript is integrating it with\n> our testsuite, which is run from command line and outputs TAP (Test\n> Anything Protocol), so it can e.g. be run by 'prove'.\n\nThis is what I proposed originally,\n\n\t\tI have shortlisted the following for JavaScript unit testing in\npriority order.\n\t\t[JSDev by Douglas\nCrockford](https://github.com/douglascrockford/JSDev) for its\nsimplicity and elegance.\n\t\t[Jasmine](http://pivotal.github.com/jasmine/) for its power.\n\t\t[Sinon.js](http://sinonjs.org/)\t- overall goodness.\n\nAfter reading through the mail and the TAP requirement, I would love\nto recommend JSDev and [node.js](http://nodejs.org/) for this task. I\nthink it can be integrated with TAP well afaik. I need to learn more\nabout TA. I wont be able to confirm something without knowing much\nabout it now. I know that we should not be adding more requirements to\ngit project, but node.js seems trivial for testing JavaScript in a\nterminal. Since not many will be developing JavaScript for gitweb, I\ndont think its a bad idea.\n\n> But even if the JavaScript tests would have to be run in browser\n\nNot necessarily.\n\n\n-- \nJaseem Abid\n+91 8891 72 43 72\nS6 CSE student\nNational Institute of Technology , Calicut.\n"},{"id":"188154","messageId":"CAH-tXsDBEKOQANzU_oDr_vbWVznv0Yqs0t1YrZhnzC_DeyHxkw@mail.gmail.com","threadId":"30107","inReplyTo":"CACeyogeboKPEhsaY357+hBvVquW7kn3ygOk11ZSKvXOt4vkzvQ@mail.gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"jaseem abid","fromEmail":"jaseemabid@gmail.com","sentAt":"2012-03-30T12:49:37Z","receivedAt":"2012-03-30T12:49:37Z","isPatch":false,"sender":{"key":"jaseemabid@gmail.com","avatar":"https://gravatar.com/avatar/8b0432c96e4d3c8a9a96c9961ee842df7b7a869744da9c25187a51a992eabd81?d=mp&s=160"},"body":"On Fri, Mar 30, 2012 at 4:48 PM, chaitanyaa nalla <nallachaitu@gmail.com> wrote:\n> There are good Opensource tools like\n> TestSwarm (jQuery)\n\nTestSwarm is still in its alpha stage.\n\n> JSTestDriver(Google).\n\nToo much for this project. Too many unwanted features.\n\n> Both are distributed\n\ndoes it have to be?\n\n> javascript testing tools that supports testing on all major browsers.\n\nNode.js will let us test in a console. Else we can fallback to a browser option.\n\n-- \nJaseem Abid\n+91 8891 72 43 72\nS6 CSE student\nNational Institute of Technology , Calicut.\n"},{"id":"188218","messageId":"4F763614.1010503@pileofstuff.org","threadId":"30107","inReplyTo":"201203301305.23567.jnareb@gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"Andrew Sayers","fromEmail":"andrew-20120330@pileofstuff.org","sentAt":"2012-03-30T22:39:16Z","receivedAt":"2012-03-30T22:39:16Z","isPatch":false,"sender":{"key":"andrew-20120330@pileofstuff.org","avatar":null},"body":"On 30/03/12 12:05, Jakub Narebski wrote:\n> But even if the JavaScript tests would have to be run in browser (like\n> most of all of them seems to), having any automated test for gitweb's \n> JavaScript code would be a very good idea.\n> \n> P.S. I wonder how JavaScript-scriptable Veracity DVCS solved that...\n\nJS test suites generally run in the browser because knowing that your\ntests pass in some sane command-line compiler tells you nothing about\nhow it will be mangled by IE (or in rare cases, other browsers).\n\nIMHO, the best thing to do with JS unit tests would be to make them\neasily available from gitweb.  Then when someone reports a bug, you just\nask them to run the tests in their browser - the pattern of errors will\nquickly show you that e.g. their AdBlock filters are getting a bit\noverexcited about all these `git add`s it can remove (that sort of thing\nwas a frequently-reported problem at my last job).\n\nObviously it's good to run tests automatically too - you might want to\nconsider writing tests with QUnit[1] and automating them with\nSelenium[2].  The former is designed to be appealing to human eyes and\ntrivially testable with the latter (although I'd expect other suites to\ninclude the necessary <div>s with the necessary id's too).  I haven't\nused the Perl interface myself, but I'm sure you could make some TAP\noutput with WWW::Selenium pretty easily.\n\n\t- Andrew\n\n1. http://docs.jquery.com/QUnit\n2. http://seleniumhq.org/\n"},{"id":"188224","messageId":"201203310137.59657.jnareb@gmail.com","threadId":"30107","inReplyTo":"CAH-tXsAMJXNs7fM=9msiZT+F_s_06o526kPXLLcQzABBePHxwQ@mail.gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-30T23:37:59Z","receivedAt":"2012-03-30T23:37:59Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Fri, 30 Mar 2012, jaseem abid wrote:\n\n>>>>     1. Where can I find general instructions on \"Contributing to git? \"\n>>>> more specifically, gitweb?\n>>>\n>>> Documentation/SubmittingPatches in the git.git repository.\n[...]\n>> For GSoC we prefer if you had a public git repository with your stuff\n>> (GitHub, repo.or.cz or wherever), and that patches were Cc-ed to mentor.\n> \n> I just started some experiments with code. I branched 'gsoc'  from\n> 'next' and pushed to github. From the docs I understand that I should\n> have branched from master. What should I be doing now?\n> [github clone](https://github.com/jaseemabid/git/tree/gsoc)\n \nAs GSoC project wouldn't start until May 21, you can either re-create\n'gsoc' branch or rebase it on top of 'master', then force push to GitHub.\n \nNote however that it is not given that \"Use JavaScript library / framework\nin gitweb\" would be one of accepted topics in general, and that your\napplication will be accepted in particular.\n\n>>>>     2. Where can I find coding standards for git? I am looking for the\n>>>> git version of this document.\n>>>\n>>> Documentation/CodingGuidelines\n>>\n>> There are no special rules for JavaScript (and neither for that matter\n>> for Perl), but:\n> \n> Parts of my mail are not quoted so I'm mentioning some points again.\n> \n> Since we don't have a strict coding guidelines for JavaScript till\n> now, and since we are thinking of an almost rewrite, I would suggest\n> that we can follow guidelines from the Jquery project.\n> [http://docs.jquery.com/JQuery_Core_Style_Guidelines]. Since this is\n> the library we are going to use mostly, I think this will be a good\n> choice, considering we might write few plugins ourselves for the\n> project.\n\nIam not sure if we would be writing jQuery plugins at all, as opposed\nto simply using jQuery.  When writing jQuery plugins we should follow\njQuery Style Guidelines you linked, but for main gitweb.js code...\n...I am not sure if following Documentation/CodingGuidelines for C\nalso in JavaScript wouldn't be a better idea (style consistency),\nespecially that such style is used already -- no code churn changing\nstyle.\n\nIn particular:\n\n* \"Be sure to use liberal spacing in your code.\"  \n\n  I'd rather use liberal but not too liberal spacing:\n\n   if (blah === \"foo\") {\n     foo(\"bar\", \"baz\", {zoo: 1});\n   }\n\n* \"if/else/for/while/try always have braces and always go on\n  multiple lines\"\n \n  We don't use braces (blocks) for single-line \"if\" statements, as\n  stated in Documentation/CodingGuidelines: \"We avoid using braces\n  unnecessarily.\"  In this case I think that jQuery style might be\n  better for JavaScript (less fragile).\n\n* \"Always include extra spaces around the arguments.\"\n\n  I'd rather not.\n\n* \"All RegExp operations should be done using .test() and .exec().\n  \"string\".match() is no longer used.\"\n\n  Perhaps in new code.  I'd rather avoid rewriting existing code\n  unnecessarily.  I wonder what is reasoning behind this rule.\n\n> [Tips from Douglas\n> Crockford](http://javascript.crockford.com/code.html ) are very\n> important in the context of JavaScript.\n\nPlease remember that those are best practices, and a some of them\nare rather matter of taste, for example using spaces to indent,\nand not tabs (tabs to indent, spaces to align... or assume 8 spaces\ntabs).\n\n> Following this will make it \n> pass [JSLint](http://www.jslint.com/) which is a good measure for\n> JavaScript code quality. Will try to make sure that every piece of\n> JavaScript I write pass JSLint (which is not very easy). I think it is\n> like the POSIX example from Documentation/CodingGuidelines for C :P\n> \n> I have tried to follow these till date and won't be hard to continue\n> doing it for gitweb.\n\nWell, maybe relaxed JSLint; some of checks are \"best practice\" checks.\nI wouldn't expect C code part of git pass lint / splint, nor Perl\nparts Perl::Critic, at least not with most strict checking mode.\n\n>> For JavaScript this includes using subset of JSDoc in comments.\n> \n> [JSDoc]((http://code.google.com/p/jsdoc-toolkit/)) tool kit seems like\n> a very good choice.\n\nAt least there seems to be some common format for structured comments,\nas opposed to C (Doxygen, DOC++, ROBODoc,...).\n\nNot that we use jsdoc-toolkit to actually generate automatic API\ndescription; such documentation is is not that helpful anyway.\n\n>>>>     3. Is JavaScript code unit tested? I cant find much docs regarding\n>>>> this anywhere.\n> \n>> The problem with automated testing of JavaScript is integrating it with\n>> our testsuite, which is run from command line and outputs TAP (Test\n>> Anything Protocol), so it can e.g. be run by 'prove'.\n> \n> This is what I proposed originally,\n> \n> \t\tI have shortlisted the following for JavaScript unit testing in\n> priority order.\n> \t\t[JSDev by Douglas\n> Crockford](https://github.com/douglascrockford/JSDev) for its\n> simplicity and elegance.\n\nThis is not unit testing framework.  It is not even testing framework.\nIt is a bloody source filter (think #ifndef NDEBUG ... #endif on acid).\n\nPlease correct me if I am wrong.\n\n> \t\t[Jasmine](http://pivotal.github.com/jasmine/) for its power.\n\nThis is behavior-driven development framework for testing JavaScript code,\nthough it looks to be geared towards BDD development method.\n\nStandalone it doesn't provide running from command line, though Node.js\nor equivalent (like jsTestDriver) might help there.  It is to be run in\nweb browser.\n\n> \t\t[Sinon.js](http://sinonjs.org/)\t- overall goodness.\n\nHmmm... from description it looks like it is something (stubs and mocks)\nthat you use in addition to unit testing framework like QUnit, not\na testing framework by itself.\n\n> \n> After reading through the mail and the TAP requirement, I would love\n> to recommend JSDev and [node.js](http://nodejs.org/) for this task. I\n> think it can be integrated with TAP well afaik. I need to learn more\n> about TAP. I wont be able to confirm something without knowing much\n> about it now. I know that we should not be adding more requirements to\n> git project, but node.js seems trivial for testing JavaScript in a\n> terminal. Since not many will be developing JavaScript for gitweb, I\n> dont think its a bad idea.\n> \n>> But even if the JavaScript tests would have to be run in browser\n> \n> Not necessarily.\n\nTest.Simple and Test.More (http://search.cpan.org/dist/JS-Test-Simple/)\nboth output TAP (they are port of Perl's Test::Simple and Test::More);\npart of JS::Test::Simple.\n\nNode.js requires V8 JavaScript engine from Google; if we have that, we\ncan as well use e.g. JavaScript::V8x::TestMoreish[2] from CPAN.\n\nOther solutions include using Test::JavaScript (uses SpiderMonkey\nJavaScript engine), or Selenium.\n\n[2] http://search.cpan.org/perldoc?JavaScript::V8x::TestMoreish\n-- \nJakub Narebski\nPoland\n"},{"id":"188297","messageId":"CAEY4ZpNek5-8s6hG8qUos9TfNEn83Hf4KCyCcreY3MM5P9qAkw@mail.gmail.com","threadId":"30107","inReplyTo":"201203310137.59657.jnareb@gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"Nazri Ramliy","fromEmail":"ayiehere@gmail.com","sentAt":"2012-04-02T07:32:46Z","receivedAt":"2012-04-02T07:32:46Z","isPatch":false,"sender":{"key":"ayiehere@gmail.com","avatar":"https://avatars.githubusercontent.com/u/164756?v=4"},"body":"On Sat, Mar 31, 2012 at 7:37 AM, Jakub Narebski <jnareb@gmail.com> wrote:\n> Test.Simple and Test.More (http://search.cpan.org/dist/JS-Test-Simple/)\n> both output TAP (they are port of Perl's Test::Simple and Test::More);\n> part of JS::Test::Simple.\n>\n> Node.js requires V8 JavaScript engine from Google; if we have that, we\n> can as well use e.g. JavaScript::V8x::TestMoreish[2] from CPAN.\n>\n> Other solutions include using Test::JavaScript (uses SpiderMonkey\n> JavaScript engine), or Selenium.\n>\n> [2] http://search.cpan.org/perldoc?JavaScript::V8x::TestMoreish\n\nJust to add to the discussion, consider these too (descriptions copied\nverbatim off their tins):\n\n1. phantomjs[1] - headless WebKit with JavaScript API\n2. casperjs[2] - navigation scripting & testing utility for PhantomJS\n\n[1] http://www.phantomjs.org/\n[2] http://casperjs.org/\n\nnazri\n"},{"id":"188324","messageId":"CAH-tXsA0wdtryrQ0d+31nLp+JRBnL0OMhpbOHUjMC=6N26GMDg@mail.gmail.com","threadId":"30107","inReplyTo":"CAEY4ZpNek5-8s6hG8qUos9TfNEn83Hf4KCyCcreY3MM5P9qAkw@mail.gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"jaseem abid","fromEmail":"jaseemabid@gmail.com","sentAt":"2012-04-02T16:26:14Z","receivedAt":"2012-04-02T16:26:14Z","isPatch":false,"sender":{"key":"jaseemabid@gmail.com","avatar":"https://gravatar.com/avatar/8b0432c96e4d3c8a9a96c9961ee842df7b7a869744da9c25187a51a992eabd81?d=mp&s=160"},"body":"On Mon, Apr 2, 2012 at 1:02 PM, Nazri Ramliy <ayiehere@gmail.com> wrote:\n> Just to add to the discussion, consider these too (descriptions copied\n> verbatim off their tins):\n>\n> 1. phantomjs[1] - headless WebKit with JavaScript API\n> 2. casperjs[2] - navigation scripting & testing utility for PhantomJS\n>\n> [1] http://www.phantomjs.org/\n> [2] http://casperjs.org/\n\nIt feels like too much for this project. Do we need all the features\nfrom these projects? As far as I can understand, you need phantom.js\nto be installed in your local development machine, which is a new\ndependency.  I have an instruction from the community not to add new\ndependencies.\n\n-- \nJaseem Abid\n+91 8891 72 43 72\nS6 CSE student\nNational Institute of Technology , Calicut.\n"},{"id":"188373","messageId":"CAEY4ZpM3ir3Vye=QsUonpv=soO2qVsm2ZJFEyhigt8E_1sgZ_A@mail.gmail.com","threadId":"30107","inReplyTo":"CAH-tXsA0wdtryrQ0d+31nLp+JRBnL0OMhpbOHUjMC=6N26GMDg@mail.gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"Nazri Ramliy","fromEmail":"ayiehere@gmail.com","sentAt":"2012-04-03T01:39:36Z","receivedAt":"2012-04-03T01:39:36Z","isPatch":false,"sender":{"key":"ayiehere@gmail.com","avatar":"https://avatars.githubusercontent.com/u/164756?v=4"},"body":"On Tue, Apr 3, 2012 at 12:26 AM, jaseem abid <jaseemabid@gmail.com> wrote:\n> It feels like too much for this project. Do we need all the features\n> from these projects? As far as I can understand, you need phantom.js\n> to be installed in your local development machine, which is a new\n> dependency.  I have an instruction from the community not to add new\n> dependencies.\n\nAh that is true. I forgot about the overhead of getting phantomjs installed.\n\nnazri\n"},{"id":"188397","messageId":"201204031103.44377.jnareb@gmail.com","threadId":"30107","inReplyTo":"CAEY4ZpM3ir3Vye=QsUonpv=soO2qVsm2ZJFEyhigt8E_1sgZ_A@mail.gmail.com","subject":"Re: [GSOC] Contributing to git.","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-04-03T09:03:43Z","receivedAt":"2012-04-03T09:03:43Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On Tue, Apr 3, 2012, Nazri Ramliy wrote:\n> On Tue, Apr 3, 2012 at 12:26 AM, jaseem abid <jaseemabid@gmail.com> wrote:\n\n> > It feels like too much for this project. Do we need all the features\n> > from these projects? As far as I can understand, you need phantom.js\n> > to be installed in your local development machine, which is a new\n> > dependency.  I have an instruction from the community not to add new\n> > dependencies.\n> \n> Ah that is true. I forgot about the overhead of getting phantomjs installed.\n\nWell, we would need to have some JavaScript engine installed for\nrunning tests from commandline, be it Google Chrome's V8 (e.g. node.js),\nMozilla's SpiderMonkey, or WebKit (e.g. phantomjs).\n\nThough I think that having a page with JavaScript tests, to be opened\nand checked in browser would be enough for a start.\n-- \nJakub Narebski\nPoland\n"}]}