Currently, the history is shared among all Web Console instances due to the fact that the actual history object is in a singleton array object in JSTerm.prototype. The *index* into the history, however, is unique to each console, which strikes me as potentially confusing.
This issue is making it difficult to split up the tests (bug 581069) because reinitializing the Web Console doesn't actually clear the history.
(In reply to comment #0)
> This issue is making it difficult to split up the tests (bug 581069) because
> reinitializing the Web Console doesn't actually clear the history.
The tests are split up now, so that is not an issue any more. as far as the shared history is concerned, I kind of like it as I tend to enter similar commands in the next console as the previous - its kind of like having bash_history. In which case is this still a bug? I don't think so. Ideas?
It's a matter of preference, actually. I wouldn't always like shared history. I expect Up to always give me back the last command I inputted in the given console - not from the other tab.
I think it's kind of confusing too. The console is very tab-specific right now. Having a shared command history across all consoles seems wrong to me. I don't think it's going to be very often that you'll want to run the same commands against different sites (though it might be useful if histories were associated to location or compartment).
as far as I can tell, this is fixed both for GCLI and the traditional JS command line
But this line still occurs in 7 tests, and I just had to add it to a new one:
jsterm.history.splice(0, jsterm.history.length); // workaround for bug 592552
It seems like the functionality is as desired, but the tests are still undesirably crufty. Maybe this line of code should just appear in tearDown() in head.js rather than at the end of each test that needs it. (The same might apply to the clearOutput() call that seems to be in many tests.)