Wednesday, 5 June 2013

Recapping the last couple weeks

To make my blog posts clearer I decided that I would follow the format of the morning 'SCRUM' that I am participating at CDOT.  For those who do not know what a SCRUM is, I will tell a little more.  Every morning at CDOT (The Seneca Centre for Development of Open Technology) we talk about some task that we have done are will do that relates to our job.  I found an article on Wikipedia that explains the term http://en.wikipedia.org/wiki/Scrum_(software_development).  My latest task is to create tests for the NEXJ Mobile Bluetooth Adapter https://bitbucket.org/nexj/mobile-bluetooth-adapters/.  This task will be done using QUnit http://qunitjs.com/.

In the last three to four weeks I have spent a fair amount of time becoming familiar with this Testing Framework.  There is still more to learn.  At first I could not get the tests working and wondered why?  It took me some time to think that I should check the QUnit cookbook hosted on its site.  I could not get my tests started.  What kind of Tests? Asynchronous Callback Tests...  More information can be found here http://qunitjs.com/cookbook/#asynchronous-callbacks.  What helped me in the end was to overcome my sense of estrangement by comparing my source code with the examples on the CookBook page.  I found out that I had not:

"
setTimeout(function() {
ok( true, "Passed and ready to resume!" );
start();
}, 1000);
"

After setTimeout everything worked fine.

The next thing I learned was that I could easily set the:

"
expect( 1 );
"

where needed.

Currently these tests are available as a Pull Request: Pull Request with tests.  You can easily skim and checkout the commits tab.  This is just for now.  But I am learning a lot from the QUnit Testing Framework.

Thursday, 9 May 2013

How to add syntax highlighting to your own blog!

Since I am going to be demonstrating source code this summer... I thought "What about syntax highlighting" in my blog.  So I went ahead and searched online.  There are a number of ways of going about and doing this.  I am choosing to do this with a simple javascript library called 'highlight.js'.  First you can visit this page:

http://softwaremaniacs.org/soft/highlight/en/download/

There you will find the latest version of the syntax highlighting library.

Copy the two links.  At the time of this post I copied these two links:


<link href='http://yandex.st/highlightjs/7.3/styles/default.min.css' rel='stylesheet'/>

<script src='http://yandex.st/highlightjs/7.3/highlight.min.js'/>

<script>hljs.initHighlightingOnLoad();</script>


You must place these references  after the </head> and before the <body> 

 next...

Go to this link: http://softwaremaniacs.org/soft/highlight/en/description/ You will read that it is necessary to place the code according to these instructions.

  "This will highlight all code on the page marked up as <pre><code> .. </code></pre>. If you use different markup or need to apply highlighting dynamically, read "Custom initialization" below."

This should work anywhere.

An undefined application.

My first task for this year is to create a set of tasks for the Mobile Bluetooth Device Connectivity at NEXJ CDOT Seneca. Bellow is a simple test that will be built upon with the necessary functionality to fully test the Bluetooth project:


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>NexJ Medical Bluetooth Adapter JavaScript Test</title>
  <link rel="stylesheet" type="text/css" href="../libs/css/qunit-1.11.0.css" />
</head>
<body>
  <div id="qunit"></div>
  <div id="qunit-fixture"></div>
  <script type="text/javascript" src="../libs/js/qunit-1.11.0.js"></script>
  <script type="text/javascript" src="../libs/js/cordova-2.5.0.js"></script>
  <script type="text/javascript" src="../medicalDevicePlugin.js"></script>
  <script type="text/javascript" src="demo.js"></script>
  <script src="test.js"></script>
</body>
</html>
For example the following Test shows that the window application for the Bluetooth mobile device is undefined.  For this test I am using Qunit.  So a test has been written for this:


test( "a basic test example", function() {

  var value = "hello";

  equal( value, "hello", "We expect value to be hello" );



    if(typeof app == "undefined")

    {

    var testAppp = "undefined";

    equal( testAppp, "undefined", "undefined" );

    }else if(typeof app != "undefined")

    {

    var testAppp = "defined";

    equal( testAppp, "undefined", "undefined" );

    }

  

});