I have completed the unit test for t308 which is a fulfillment of my commitment to finish what I have started. The complete package is up for review which include a plugin for a disability pause feature, demo and the unit test. I will continue to work with it until it is landed.
Unit test commit
Friday, December 16, 2011
Thursday, December 15, 2011
0.4 In Review
Once again my task included fixing lint error but this time for the core unit tests. With every task, there is an opportunity to learn or to better understand something. This one was no different. I learned to accept the fact that no task is unimportant since they all combine to make a complete product.
In addition, I am also creating some tests for the pause plugin which I created in the last release. It should be completed by tonight for I am currently working on it. Hopefully I can get the entire package landed. I will continue to work on it until it is landed. I must finish what I have started.
Please see commit
In addition, I am also creating some tests for the pause plugin which I created in the last release. It should be completed by tonight for I am currently working on it. Hopefully I can get the entire package landed. I will continue to work on it until it is landed. I must finish what I have started.
Please see commit
Monday, December 12, 2011
0.4 In Process
I am currently working on my fourth and final release for this semester. It is just unbelievable to see how time went so fast this semester. One reasons for this is because the work, though intense, continues to be very interesting and a great learning experience.
My recent release I created a plugin and demo. In this release, I am working on linting errors in addition to some tests for the plugin which I have created last release. My objective is to actually get a fully working piece added to the code for shipment and not just to work on a piece of it.
So far I am doing fairly well balancing all my tasks which is a task in itself. Definitely by Wednesday night or Thursday my release will be submitted. For now, let me continue with exam preparation for my other five courses.
My recent release I created a plugin and demo. In this release, I am working on linting errors in addition to some tests for the plugin which I have created last release. My objective is to actually get a fully working piece added to the code for shipment and not just to work on a piece of it.
So far I am doing fairly well balancing all my tasks which is a task in itself. Definitely by Wednesday night or Thursday my release will be submitted. For now, let me continue with exam preparation for my other five courses.
Thursday, December 8, 2011
Creating Tests
The process of creating the tests and getting them to work properly and purposefully were no less a challenge than actually implementing the Mouselock feature. It touches on pretty much the same areas that the code impacted in the first place. I realized that these are all big areas which include the building(build system),implementing and testing.
I am pleased to experience first hand how working with big code in all these area are very challenging and equally rewarding when something works even if not the proper way at the beginning. Well, I have some tests to commit.
I am pleased to experience first hand how working with big code in all these area are very challenging and equally rewarding when something works even if not the proper way at the beginning. Well, I have some tests to commit.
Friday, December 2, 2011
Test Sample
This test is to ensure that Mouse-lock can only be applied if the window is in focus. Believe it or not it is my first Mochitest. It was put together using other tests. Thinking of it as my first I thought it might be good to document it. Below is a snapshot of the event.
SimpleTest.waitForExplicitFinish();
var windowObjectReference = null; // global variable
var pointer = navigator.pointer;
var canvas = document.getElementById("canvas");
canvas.mozRequestFullScreen();
document.addEventListener("mozfullscreenchange", function (e) {
if (document.mozFullScreen) {
if (document.mozFullScreenElement === canvas) {
// Mouse should not be lock because the window is not in focus
if(windowObjectReference == null || windowObjectReference.closed || )
/* if the pointer to the window object in memory does not exist
or if such pointer exists but the window was closed */
{
windowObjectReference = window.open("http://www.spreadfirefox.com/",
"PromoteFirefoxWindowName", "resizable=yes,scrollbars=yes,status=yes");
/* then create it. The new window will be created and
will be brought on top of any other window. */
}
window.blur();//Sets the main window out of focus.
pointer.lock(canvas);
isnot(pointer.islocked(), true, "Mouse should only be locked if the window is in focus");
window.focus();
pointer.lock(canvas);
is(pointer.islocked(), true, "Mouse pointer should be locked");
}
SimpleTest.finish();
}
else {
canvas.mozRequestFullScreen();
}
}, false);
SimpleTest.waitForExplicitFinish();
var windowObjectReference = null; // global variable
var pointer = navigator.pointer;
var canvas = document.getElementById("canvas");
canvas.mozRequestFullScreen();
document.addEventListener("mozfullscreenchange", function (e) {
if (document.mozFullScreen) {
if (document.mozFullScreenElement === canvas) {
// Mouse should not be lock because the window is not in focus
if(windowObjectReference == null || windowObjectReference.closed || )
/* if the pointer to the window object in memory does not exist
or if such pointer exists but the window was closed */
{
windowObjectReference = window.open("http://www.spreadfirefox.com/",
"PromoteFirefoxWindowName", "resizable=yes,scrollbars=yes,status=yes");
/* then create it. The new window will be created and
will be brought on top of any other window. */
}
window.blur();//Sets the main window out of focus.
pointer.lock(canvas);
isnot(pointer.islocked(), true, "Mouse should only be locked if the window is in focus");
window.focus();
pointer.lock(canvas);
is(pointer.islocked(), true, "Mouse pointer should be locked");
}
SimpleTest.finish();
}
else {
canvas.mozRequestFullScreen();
}
}, false);
Rome Speed Required
I have completed two of my three tests for Mouse-Lock but my machine could not keep up with the demand for lightening speed builds. To make up for lost time, I was multitasking but progress was a little too slow in this area. I must admit that I was being a little stubborn trying to get it the way I want it work on my machine. But it turned out that I was asking too much of it.
I was finally convinced to switch to Rome. Wow. What a difference speed makes. Getting an account on Rome took less than a minute. Thanks to humph who responded immediately to my request.
Information to setup was also provided on IRC which directs to the following link: Rome Instructions. My tests should all be ready by this evening.
I was finally convinced to switch to Rome. Wow. What a difference speed makes. Getting an account on Rome took less than a minute. Thanks to humph who responded immediately to my request.
Information to setup was also provided on IRC which directs to the following link: Rome Instructions. My tests should all be ready by this evening.
Monday, November 28, 2011
Don't Go IT Alone
I heard it over and over again but got a full understanding when I attempted to contribute to the mouse lock feature. I am starting to get used to feeling like I don't know anything. Every time I discover something, It opens up a new set of things that I don't know. So it goes on and on. I am encouraged in the fact that I am not alone, but In the midst of not knowing a lot, many things are still being done.
My approach will now be to join a group or to team up with someone with whom I can work and get more done. I can never be satisfy with just building Firefox or getting lost for days trying to find the proper way of implementing some feature. I must be able to have a piece of my code included.
My approach will now be to join a group or to team up with someone with whom I can work and get more done. I can never be satisfy with just building Firefox or getting lost for days trying to find the proper way of implementing some feature. I must be able to have a piece of my code included.
Subscribe to:
Posts (Atom)