javascript-simple.ecl 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. IMPORT javascript;
  2. /*
  3. This example illustrates and tests the use of embedded JavaScript
  4. */
  5. // Scalar parameters and resuls
  6. integer add1(integer val) := EMBED(javascript) val+1; ENDEMBED;
  7. string add2(string val) := EMBED(javascript) val+'1'; ENDEMBED;
  8. string add3(varstring val) := EMBED(javascript) val+'1'; ENDEMBED;
  9. utf8 add4(utf8 val) := EMBED(javascript) val+'1'; ENDEMBED;
  10. unicode add5(unicode val) := EMBED(javascript, U' val+\' at Oh là là Straße\';');
  11. data testData(data val) := EMBED(javascript) val[0] = val[0] + 1; val; ENDEMBED;
  12. // Sets
  13. set of integer testSet(set of integer val) := EMBED(javascript)
  14. t = val [1];
  15. val[1] = val[2];
  16. val[2] = t;
  17. val;
  18. ENDEMBED;
  19. set of unsigned2 testSet0(set of unsigned2 val) := EMBED(javascript)
  20. t = val [1];
  21. val[1] = val[2];
  22. val[2] = t;
  23. val;
  24. ENDEMBED;
  25. set of string testSet2(set of string val) := EMBED(javascript)
  26. t = val [1];
  27. val[1] = val[2];
  28. val[2] = t;
  29. val;
  30. ENDEMBED;
  31. set of string testSet3(set of string8 val) := EMBED(javascript)
  32. t = val [1];
  33. val[1] = val[2];
  34. val[2] = t;
  35. val;
  36. ENDEMBED;
  37. set of varstring testSet4(set of varstring val) := EMBED(javascript)
  38. t = val [1];
  39. val[1] = val[2];
  40. val[2] = t;
  41. val;
  42. ENDEMBED;
  43. set of varstring8 testSet5(set of varstring8 val) := EMBED(javascript)
  44. t = val [1];
  45. val[1] = val[2];
  46. val[2] = t;
  47. val;
  48. ENDEMBED;
  49. set of boolean testSet6(set of boolean val) := EMBED(javascript)
  50. t = val [1];
  51. val[1] = val[2];
  52. val[2] = t;
  53. val;
  54. ENDEMBED;
  55. set of real4 testSet7(set of real4 val) := EMBED(javascript)
  56. t = val [1];
  57. val[1] = val[2];
  58. val[2] = t;
  59. val;
  60. ENDEMBED;
  61. set of real8 testSet8(set of real8 val) := EMBED(javascript)
  62. t = val [1];
  63. val[1] = val[2];
  64. val[2] = t;
  65. val;
  66. ENDEMBED;
  67. set of integer2 testSet9(set of integer2 val) := EMBED(javascript)
  68. t = val [1];
  69. val[1] = val[2];
  70. val[2] = t;
  71. val;
  72. ENDEMBED;
  73. // Now run the tests...
  74. add1(10);
  75. add2('Hello');
  76. add3('World');
  77. add4(U'Oh là là Straße');
  78. add5(U'Стоял');
  79. add2('Oh là là Straße'); // Passing latin chars - should be untranslated
  80. testdata(D'aa');
  81. testSet([1,2,3]);
  82. testSet0([30000,40000,50000]);
  83. testSet2(['one','two','three']);
  84. testSet3(['uno','dos','tre']);
  85. testSet4(['un','deux','trois']);
  86. testSet5(['ein','zwei','drei']);
  87. testSet6([false,true,false,true]);
  88. testSet7([1.1,2.2,3.3]);
  89. testSet8([1.2,2.3,3.4]);
  90. testSet9([-111,0,113]);