Skip to content

Commit

Permalink
Update tests to QUnit 2.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
inexorabletash committed Feb 5, 2017
1 parent bb794d4 commit 4ffc88f
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 31 deletions.
40 changes: 18 additions & 22 deletions tests.html
@@ -1,31 +1,27 @@
<!DOCTYPE html>
<title>Logo Unit Tests</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.1.1.css">
<script src="https://code.jquery.com/qunit/qunit-2.1.1.js"></script>

<script src="https://cdn.rawgit.com/inexorabletash/polyfill/v0.1.29/polyfill.min.js"></script>

<script src="https://code.jquery.com/qunit/qunit-2.0.1.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.0.1.css">

<h1 id="qunit-header">Logo Unit Tests</h1>
<h2 id="qunit-banner"></h2>
<div id="qunit-testrunner-toolbar"></div>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">test markup, will be hidden</div>

<div id="my-fixture" style="display: none">
<div id="display" style="width: 200px; height: 200px; position: relative;">
<canvas id="sandbox" width="300" height="300" style="position: absolute; border: solid 1px black; z-index: 0;">
<span style="color: red; background-color: yellow; font-weight: bold;">Your browser does not support the canvas element - sorry!</span>
</canvas>
<canvas id="turtle" width="300" height="300" style="position: absolute; border: solid 1px black; z-index: 1;"></canvas>
<div id="overlay" style="width: 280px; height: 280px; padding: 10px; margin: 0; position: absolute; z-index: 2; background-color: transparent; overflow: hidden; white-space: pre-wrap; font-family: Monospace;"></div>
</div>
<div id="output"></div>
<div id=qunit></div>
<div id=qunit-fixture>
<div id="display" style="width: 200px; height: 200px; position: relative;">
<canvas id="sandbox" width="300" height="300"
style="position: absolute; border: solid 1px black; z-index: 0;"></canvas>
<canvas id="turtle" width="300" height="300"
style="position: absolute; border: solid 1px black; z-index: 1;"></canvas>
<div id="overlay"
style="position: absolute; z-index: 2;
width: 280px; height: 280px; padding: 10px; margin: 0;
background-color: transparent; overflow: hidden;
white-space: pre-wrap; font-family: Monospace;"></div>
</div>
</div>

<script src="https://cdn.rawgit.com/inexorabletash/polyfill/v0.1.29/polyfill.min.js"></script>
<script src="logo.js"></script> <!-- Logo interpreter -->
<script src="floodfill.js"></script> <!-- Flood fill addition for canvas -->
<script src="floodfill.js"></script> <!-- Flood fill for canvas -->
<script src="turtle.js"></script> <!-- Canvas turtle -->
<script src="tests.js"></script> <!-- Unit tests -->
46 changes: 37 additions & 9 deletions tests.js
Expand Up @@ -79,8 +79,11 @@ QUnit.module("Logo Unit Tests", {
t.deepEqual(result, expected, expression);
} else if (typeof expected === 'number' && typeof result === 'number' &&
(Math.floor(expected) != expected || Math.floor(result) != result)) {
t.ok(Math.abs(result - expected) < EPSILON, expression +
': expected: ' + expected + ' actual: ' + result);
t.pushResult({
result: Math.abs(result - expected) < EPSILON,
actual: result,
expected: expected,
message: expression});
} else {
t.strictEqual(result, expected, expression);
}
Expand All @@ -104,7 +107,11 @@ QUnit.module("Logo Unit Tests", {
expression + ': Pixel data at ' + x + ',' + y);
});
}, function(failure) {
t.ok(false, expression + ': Exception: ' + failure);
t.pushResult({
result: false,
actual: failure,
expected: '(no error)',
message: expression});
}).then(done);
};

Expand Down Expand Up @@ -153,17 +160,33 @@ QUnit.module("Logo Unit Tests", {
try {
var result = this.interpreter.run(expression);
result.then(function (result) {
t.push(false, '(no error)', expected, 'Expected to error but did not: ' + expression);
t.pushResult({
result:false,
actual: '(no error)',
expected: expected,
message:'Expected to error but did not: ' + expression});
done();
}, function (ex) {
t.push(ex.message === expected, ex.message, expected, 'Expected error from: ' + expression);
t.pushResult({
result: ex.message === expected,
actual: ex.message,
expected: expected,
message: 'Expected error from: ' + expression});
if (code !== undefined) {
t.push(ex.code === code, ex.code, code, 'Expected error from: ' + expression);
t.pushResult({
result: ex.code === code,
actual: ex.code,
expected: code,
message: 'Expected error from: ' + expression});
}
done();
});
} catch (ex) {
t.push(ex.message === expected, ex.message, expected, 'Expected error from: ' + expression);
t.push({
result: ex.message === expected,
actual: ex.message,
expected: expected,
message: 'Expected error from: ' + expression});
done();
}
};
Expand All @@ -174,8 +197,13 @@ QUnit.module("Logo Unit Tests", {

this.run = function(code) {
this.interpreter.run(code).catch(function(error) {
console.warn(error);
this.ok(false, 'Failed: ' + code + ' - ' + error);
console.warn(error.message);
t.pushResult({
result: false,
actual: 'Failed: ' + error.message,
expected: '(no error)',
message: code
});
});
};
}
Expand Down

0 comments on commit 4ffc88f

Please sign in to comment.