Skip to content

Instantly share code, notes, and snippets.

@pepperbob
Created March 17, 2021 19:41
Show Gist options
  • Select an option

  • Save pepperbob/1e463888ecf5a5017bcfe1c436384e68 to your computer and use it in GitHub Desktop.

Select an option

Save pepperbob/1e463888ecf5a5017bcfe1c436384e68 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/voparex
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
<style id="jsbin-css">
div#qunit {
position: relative;
}
div#qunit-testrunner-toolbar {
display:none;
}
</style>
</head>
<link href="https://code.jquery.com/qunit/qunit-2.14.1.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/qunit/qunit-2.14.1.js"></script>
<body>
<div id="workspace">
<!-- workspace area -->
</div>
<!-- qunit -->
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<script id="jsbin-javascript">
/**
Schreibe eine Funktion, die ein Array dupliziert
*/
function duplicate(arr) {
}
QUnit.test("Duplicates Array", assert => {
assert.deepEqual(duplicate([1]), [1,1]);
assert.deepEqual(duplicate([1,2,3,4]), [1,2,3,4,1,2,3,4])
});
/**
Schreibe eine Range-Funktion, die ein Array mit einer Anzahl
Nummern zurückgibt: beginnend mit 0 in Einer-Schritten bis vor
die übergebene Nummer "r", z.B. range(3) = [0,1,2]
*/
function range(r) {
}
QUnit.test("Range", assert => {
assert.deepEqual(range(1), [0], "Range 1")
assert.deepEqual(range(5), [0,1,2,3,4], "Range 5")
});
/**
Schreibe eine Funktion, die prüft, ob eine Zahl ein Schaltjahr ist:
Schaltjahre sind durch 4 teilbar, außer sie sind durch 100 teilbar,
es sei denn sie sind durch 400 teilbar
*/
function isLeapYear(i) {
}
QUnit.test("Leap Year", assert => {
assert.false(isLeapYear(1900), "1900");
assert.true(isLeapYear(1904), "1904");
assert.false(isLeapYear(1999), "1999");
assert.true(isLeapYear(2000), "2000");
});
/**
Schreibe eine Funktion, die ein Array mit allen
Schaltjahren zwischen 1900 und 2000 zurückgibt.
Du kannst die range- und isLeapYear-Funktion verwenden
*/
function listLeapYears() {
}
QUnit.test("Leap Years", assert => {
listLeapYears().forEach(y => {
assert.true(isLeapYear(y), `${y} ok`)
})
assert.ok(listLeapYears().length == 25, "All Years ok");
});
/**
Schreibe eine Funktion, die die URL
https://jsonplaceholder.typicode.com/posts/1
abruft und die Callback-Funktion mit dem Property "userId" der
erhaltenen Struktur aufruft
*/
function fetchPost(callback) {
}
QUnit.test("getPost", assert => {
assert.timeout(2000);
const done = assert.async();
fetchPost(userId => {
assert.strictEqual(userId, 1, "Post fetched!" );
done();
});
});
/**
Erstelle einen Button innerhalb des "workspace-divs" mit
der ID "clicker", dessen Titel die Anzahl der Klicks zeigt,
z.B. einmal geklickt = "1 Clicks"
*/
// Code..
QUnit.test("clickOnButton", assert => {
var button = document.getElementById("clicker");
assert.true(!!button, "Button clicker ist definiert");
[1,2,3,4,5].forEach(i => {
button.click()
assert.strictEqual(button.innerHTML, `${i} Clicks`, `${i} Click ok`);
});
});
</script>
<script id="jsbin-source-css" type="text/css">div#qunit {
position: relative;
}
div#qunit-testrunner-toolbar {
display:none;
}</script>
<script id="jsbin-source-javascript" type="text/javascript">/**
Schreibe eine Funktion, die ein Array dupliziert
*/
function duplicate(arr) {
}
QUnit.test("Duplicates Array", assert => {
assert.deepEqual(duplicate([1]), [1,1]);
assert.deepEqual(duplicate([1,2,3,4]), [1,2,3,4,1,2,3,4])
});
/**
Schreibe eine Range-Funktion, die ein Array mit einer Anzahl
Nummern zurückgibt: beginnend mit 0 in Einer-Schritten bis vor
die übergebene Nummer "r", z.B. range(3) = [0,1,2]
*/
function range(r) {
}
QUnit.test("Range", assert => {
assert.deepEqual(range(1), [0], "Range 1")
assert.deepEqual(range(5), [0,1,2,3,4], "Range 5")
});
/**
Schreibe eine Funktion, die prüft, ob eine Zahl ein Schaltjahr ist:
Schaltjahre sind durch 4 teilbar, außer sie sind durch 100 teilbar,
es sei denn sie sind durch 400 teilbar
*/
function isLeapYear(i) {
}
QUnit.test("Leap Year", assert => {
assert.false(isLeapYear(1900), "1900");
assert.true(isLeapYear(1904), "1904");
assert.false(isLeapYear(1999), "1999");
assert.true(isLeapYear(2000), "2000");
});
/**
Schreibe eine Funktion, die ein Array mit allen
Schaltjahren zwischen 1900 und 2000 zurückgibt.
Du kannst die range- und isLeapYear-Funktion verwenden
*/
function listLeapYears() {
}
QUnit.test("Leap Years", assert => {
listLeapYears().forEach(y => {
assert.true(isLeapYear(y), `${y} ok`)
})
assert.ok(listLeapYears().length == 25, "All Years ok");
});
/**
Schreibe eine Funktion, die die URL
https://jsonplaceholder.typicode.com/posts/1
abruft und die Callback-Funktion mit dem Property "userId" der
erhaltenen Struktur aufruft
*/
function fetchPost(callback) {
}
QUnit.test("getPost", assert => {
assert.timeout(2000);
const done = assert.async();
fetchPost(userId => {
assert.strictEqual(userId, 1, "Post fetched!" );
done();
});
});
/**
Erstelle einen Button innerhalb des "workspace-divs" mit
der ID "clicker", dessen Titel die Anzahl der Klicks zeigt,
z.B. einmal geklickt = "1 Clicks"
*/
// Code..
QUnit.test("clickOnButton", assert => {
var button = document.getElementById("clicker");
assert.true(!!button, "Button clicker ist definiert");
[1,2,3,4,5].forEach(i => {
button.click()
assert.strictEqual(button.innerHTML, `${i} Clicks`, `${i} Click ok`);
});
});
</script></body>
</html>
div#qunit {
position: relative;
}
div#qunit-testrunner-toolbar {
display:none;
}
/**
Schreibe eine Funktion, die ein Array dupliziert
*/
function duplicate(arr) {
}
QUnit.test("Duplicates Array", assert => {
assert.deepEqual(duplicate([1]), [1,1]);
assert.deepEqual(duplicate([1,2,3,4]), [1,2,3,4,1,2,3,4])
});
/**
Schreibe eine Range-Funktion, die ein Array mit einer Anzahl
Nummern zurückgibt: beginnend mit 0 in Einer-Schritten bis vor
die übergebene Nummer "r", z.B. range(3) = [0,1,2]
*/
function range(r) {
}
QUnit.test("Range", assert => {
assert.deepEqual(range(1), [0], "Range 1")
assert.deepEqual(range(5), [0,1,2,3,4], "Range 5")
});
/**
Schreibe eine Funktion, die prüft, ob eine Zahl ein Schaltjahr ist:
Schaltjahre sind durch 4 teilbar, außer sie sind durch 100 teilbar,
es sei denn sie sind durch 400 teilbar
*/
function isLeapYear(i) {
}
QUnit.test("Leap Year", assert => {
assert.false(isLeapYear(1900), "1900");
assert.true(isLeapYear(1904), "1904");
assert.false(isLeapYear(1999), "1999");
assert.true(isLeapYear(2000), "2000");
});
/**
Schreibe eine Funktion, die ein Array mit allen
Schaltjahren zwischen 1900 und 2000 zurückgibt.
Du kannst die range- und isLeapYear-Funktion verwenden
*/
function listLeapYears() {
}
QUnit.test("Leap Years", assert => {
listLeapYears().forEach(y => {
assert.true(isLeapYear(y), `${y} ok`)
})
assert.ok(listLeapYears().length == 25, "All Years ok");
});
/**
Schreibe eine Funktion, die die URL
https://jsonplaceholder.typicode.com/posts/1
abruft und die Callback-Funktion mit dem Property "userId" der
erhaltenen Struktur aufruft
*/
function fetchPost(callback) {
}
QUnit.test("getPost", assert => {
assert.timeout(2000);
const done = assert.async();
fetchPost(userId => {
assert.strictEqual(userId, 1, "Post fetched!" );
done();
});
});
/**
Erstelle einen Button innerhalb des "workspace-divs" mit
der ID "clicker", dessen Titel die Anzahl der Klicks zeigt,
z.B. einmal geklickt = "1 Clicks"
*/
// Code..
QUnit.test("clickOnButton", assert => {
var button = document.getElementById("clicker");
assert.true(!!button, "Button clicker ist definiert");
[1,2,3,4,5].forEach(i => {
button.click()
assert.strictEqual(button.innerHTML, `${i} Clicks`, `${i} Click ok`);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment