Greasy Fork is available in English.

test-utils

primitive assert-methods for unit-testing

Tento skript by neměl být instalován přímo. Jedná se o knihovnu, kterou by měly jiné skripty využívat pomocí meta příkazu // @require https://update.greatest.deepsurf.us/scripts/22762/144820/test-utils.js

  1. // ==UserScript==
  2. // @name test-utils
  3. // @name:de test-utils
  4. // @namespace dannysaurus.camamba
  5. // @version 0.1
  6. // @license MIT License
  7. // @description primitive assert-methods for unit-testing
  8. // @description:de primitive assert-methods for unit-testing
  9. // ==/UserScript==
  10. var LIB = LIB || {};
  11. /**
  12. * @type {{assertTrue}}
  13. */
  14. LIB.testUtils = (function() {
  15. 'use strict';
  16. function messageNotEquals(expected, actual) {
  17. return "Assertion failed. expected: " + expected + " actual: " + actual
  18. }
  19. /**
  20. * Throws an error if assertion fails
  21. * @param {boolean} condition - condition to be checked</br><code>true</code> has the assertion succeed </br>false has the assertion fail (and throws an Error)
  22. * @param {string} [message] - debug-message to display if the assertion fails
  23. */
  24. var assertTrue = function(condition, message) {
  25. message = message || "Assertion failed";
  26. if (!condition) {
  27. throw new Error(message);
  28. }
  29. };
  30. /**
  31. * Asserts that two values or objects are equal. Throws an Error if assertion fails.
  32. * Strict comparison (<code>===</code>) is used to check for equality.
  33. * @param {*} expected - the expected value or object
  34. * @param {*} actual - the value or object to check against <code>expected</code>
  35. */
  36. var assertEquals = function(expected, actual) {
  37. var message = messageNotEquals(expected, actual);
  38. assertTrue(expected === actual, message);
  39. };
  40. /**
  41. * Asserts that two values or objects are equal. Throws an Error if assertion fails.
  42. * Nonstrict comparison with type convertation (<code>==</code>) is used to check for equality.
  43. * @param {*} expected - the expected value or object
  44. * @param {*} actual - the value or object to check against <code>expected</code>
  45. */
  46. var assertEqualsNonStrict = function(expected, actual) {
  47. var message = messageNotEquals(expected, actual);
  48. assertTrue(expected == actual, message);
  49. };
  50. return {
  51. assertTrue: assertTrue,
  52. assertEquals: assertEquals,
  53. assertEqualsNonStrict: assertEqualsNonStrict
  54. };
  55. })();