helper.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import { Helper } from "./../../commons/helper";
  2. import { assert, expect, should } from "./viewerReference";
  3. import { mapperManager, ViewerConfiguration } from ".";
  4. import { camelToKebab, kebabToCamel, isUrl, extendClassWithConfig } from "../../../src/helper";
  5. export let name = "viewer helper tests";
  6. describe("viewer helper", () => {
  7. it("should convert camelCase to kebab-case and back", (done) => {
  8. let camelString = "oneTestTwoTestThreeTest";
  9. let kebab = camelToKebab(camelString);
  10. assert.equal(kebab, "one-test-two-test-three-test");
  11. assert.equal(kebabToCamel(kebab), camelString);
  12. done();
  13. });
  14. it("should find absolute and relative http urls", (done) => {
  15. let url = "http://test.url/?param=123";
  16. let https = "https://https.url.to.check/";
  17. let relativeUrl = "/url/to/find";
  18. let notUrl = "not a url!";
  19. let ftp = "ftp://test.ftp.server";
  20. assert.isTrue(isUrl(url));
  21. assert.isTrue(isUrl(https));
  22. assert.isTrue(isUrl(relativeUrl));
  23. assert.isFalse(isUrl(notUrl));
  24. assert.isFalse(isUrl(ftp));
  25. done();
  26. });
  27. it("should extend objects correctly", (done) => {
  28. let finalKey = Math.random();
  29. let toAugoment: any = {
  30. definedKey: Math.random(),
  31. color: {
  32. r: 0,
  33. g: 0
  34. },
  35. test: function() {
  36. }
  37. };
  38. let augmentation: any = {
  39. definedKey: finalKey,
  40. color: {
  41. r: finalKey,
  42. g: finalKey,
  43. b: finalKey
  44. },
  45. undefinedKey: "shouldNotBeAugmented",
  46. test: "should be ignored"
  47. };
  48. assert.notEqual(toAugoment.definedKey, augmentation.definedKey);
  49. extendClassWithConfig(toAugoment, augmentation);
  50. //defined keys should be replaced
  51. assert.equal(toAugoment.definedKey, finalKey);
  52. //undefined keys should not be set
  53. assert.isUndefined(toAugoment.undefinedKey);
  54. // functions should be ignored
  55. assert.isFunction(toAugoment.test);
  56. //should iterate to deep objects
  57. assert.equal(toAugoment.color.r, finalKey);
  58. assert.equal(toAugoment.color.g, finalKey);
  59. //b should not be set!
  60. assert.isUndefined(toAugoment.color.b);
  61. done();
  62. });
  63. });