describe('Landing page', function() {
  it('should have the correct title', function(done, server, client) {
    var titleText = client.evalSync(function() {
      var titleText = $('title').text();

      emit('return', titleText);
    });

    titleText.should.equal('NEBUL4');

    done();
  });

  it('should show the login button', function(done, server, client) {
    var loginText = client.evalSync(function() {
      App.after('loginRendered', function() {
        var loginText = $('#login-dropdown-list .dropdown-toggle').text().trim();

        emit('return', loginText);
      });
    });

    loginText.should.equal('Sign In / Up');
    done();
  });
});

describe('Gameplay', function() {
  // it('up arrow should move ship forwards', function(done, server, client) {
  //   var position = client.evalSync(function() {
  //     var initial = 0, after = 0;
  // 
  //     if (App.container) {
  //       emit('return', { initial: initial, after: 0.1 });
  //     }
  // 
  //     App.container.on('keyboardInitialized', function(e, player) {
  //       emit('return', { initial: initial, after: 0.1 });
  //     });
  // 
  //     App.container.on('playerLoaded', function(e, player) {
  //       initial = player.position.z;
  // 
  //       emit('return', { initial: initial, after: after });
  //     });
  // 
  //     App.container.on('playerChanged', function(e, player) {
  //       after = player.position.z;
  // 
  //       emit('return', { initial: initial, after: after });
  //     });
  //   });
  // 
  //   console.log(position);
  //   position.initial.should.be.exactly(0);
  //   position.after.should.be.above(0);
  // 
  //   done();
  // });
  // 
  // it('konami code should work', function(done, server, client) {
  //   var codeDidTrigger = client.evalSync(function() {
  // 
  //     App.container.on('playerLoaded', function() {
  //       App.pushKeys('up up down down left right left right b a', 1);
  //     });
  // 
  //     App.container.on('konami', function() {
  //       emit('return', true);
  //     });
  //   });
  // 
  //   codeDidTrigger.should.equal(true);
  // 
  //   done();
  // });
});

@@ -1,303 +1,1400 @@
-describe('Landing page', function() %7B%0A  it('should have the correct title', function(done, server, client) %7B%0A    var titleText = client.evalSync(function() %7B%0A      var titleText = $('title').text();%0A%0A      emit('return', titleText);%0A    %7D);%0A%0A    titleText.should.equal('NEBUL4');%0A%0A    done();%0A  %7D);%0A
+// O suita de teste care descrie parte din functionarea paginii de landing.%0Adescribe('Landing page', function() %7B%0A  // Mai intai, se verifica daca textul din bara de adrese este cel corect.%0A  // Acesta este mai mult un %22rain check%22, o verificare daca macar serverul%0A  // este pornit. Daca da eroare, inseamna ca ceva fundamental a dat gre%C8%99.%0A  it('should have the correct title', function(done, server, client) %7B%0A    var titleText = client.evalSync(function() %7B%0A      // In interiorul blockului de evalSync, ne aflam in consola%0A      // JavaScript a clientului. Toate functiile rulate aici se vor comporta%0A      // ca din consola unui client real.%0A      // Putem simula astfel clickuri, apasari de taste, si sa vedem daca%0A      // structurile de date reflecta schimbarile.%0A%0A      // Pentru inceput, vom pescui cu jQuery textul din titlul paginii.%0A      var titleText = $('title').text();%0A%0A      // Pentru a evada din consola JavaScript, folosim o functie speciala%0A      // numita %22emit%22 care este injectata de suita de teste, si ii pasam%0A      // o variabila.%0A      emit('return', titleText);%0A    %7D);%0A%0A    // Cu biblioteca de assert %22should%22, verificam cu limbaj natural%0A    // daca titlul este ce ne asteptam sa fie.%0A    titleText.should.equal('NEBUL4');%0A%0A    // Rulam callbackul de finalizare al testului.%0A    done();%0A  %7D);%0A%0A  // Un alt text, in care verificam daca butonul de login este afisat.
 %0A  i
@@ -1505,24 +1505,77 @@
 unction() %7B%0A
+      // Asteptam ca acesta sa se incarce in pagina.%0A
       App.af
@@ -1604,24 +1604,51 @@
 unction() %7B%0A
+        // Pescuim textul.%0A
         var 
@@ -1768,24 +1768,45 @@
 );%0A    %7D);%0A%0A
+    // Si verificam.%0A
     loginTex

Annotate source code for initial tests.