1 | "use strict";
|
2 |
|
3 | var _transformSource = require("./transformSource");
|
4 |
|
5 | var _transformSource2 = _interopRequireDefault(_transformSource);
|
6 |
|
7 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
8 |
|
9 | test("parse correctly burn.glsl", function () {
|
10 | var glsl = "\n// author: gre\n// license: MIT\nuniform vec3 color; // = vec3(0.9, 0.4, 0.2)\nvec4 transition (vec2 uv) {\n return mix(\n getFromColor(uv) + vec4(progress*color, 1.0),\n getToColor(uv) + vec4((1.0-progress)*color, 1.0),\n progress\n );\n}\n ";
|
11 | expect((0, _transformSource2.default)("burn.glsl", glsl)).toMatchSnapshot();
|
12 | });
|
13 |
|
14 | test("not providing a default creates a warning", function () {
|
15 | var glsl = "\n// Author: gre\n// License: MIT\nuniform vec3 color;\nvec4 transition (vec2 uv) {\n return mix(\n getFromColor(uv) + vec4(progress*color, 1.0),\n getToColor(uv) + vec4((1.0-progress)*color, 1.0),\n progress\n );\n}\n ";
|
16 | var res = (0, _transformSource2.default)("burn-2.glsl", glsl);
|
17 | expect(res.data).toMatchSnapshot();
|
18 | expect(res.errors.filter(function (e) {
|
19 | return e.type === "error";
|
20 | })).toEqual([]);
|
21 | expect(res.errors.filter(function (e) {
|
22 | return e.type === "warn";
|
23 | }).length).toBe(1);
|
24 | });
|
25 |
|
26 | test("other example", function () {
|
27 | var res = (0, _transformSource2.default)("test.glsl", "\n // author: gre\n // License: MIT\n uniform vec3 color /* = vec3(0.9, 0.4, 0.2) */;\n uniform float foo; /* = 42. */\n uniform sampler2D yo;\n vec4 transition (/* weird comment in the middle */vec2 uv) {\n return mix(\n getFromColor(uv) + vec4(progress*color, 1.0),\n getToColor(uv) + vec4((1.0-progress)*color, 1.0),\n progress);\n }\n ");
|
28 | expect(res).toMatchSnapshot();
|
29 | expect(res.errors).toEqual([]);
|
30 | });
|
31 |
|
32 | test("must not override existing things", function () {
|
33 | var res = (0, _transformSource2.default)("test.glsl", "\nuniform float from; /* = 42. */\nuniform float to; /* = 42. */\nvec4 transition (vec2 uv) {}\n");
|
34 | expect(res).toMatchSnapshot();
|
35 | expect(res.errors.length).toBeGreaterThan(0);
|
36 | });
|
37 |
|
38 | test("must define the transition function", function () {
|
39 | var res = (0, _transformSource2.default)("test.glsl", "\n\n");
|
40 | expect(res).toMatchSnapshot();
|
41 | expect(res.errors.length).toBeGreaterThan(0);
|
42 | });
|
43 |
|
44 | test("must define metas", function () {
|
45 | var res = (0, _transformSource2.default)("test.glsl", "\n vec4 transition (vec2 uv) {\n return vec4(0.0);\n }\n");
|
46 | expect(res).toMatchSnapshot();
|
47 | expect(res.errors.length).toBeGreaterThan(0);
|
48 | });
|
49 |
|
50 | test("simple transition function is fine", function () {
|
51 | var res = (0, _transformSource2.default)("test.glsl", "\n // Author: gre\n // License: MIT\n vec4 transition (vec2 uv) {\n return vec4(0.0);\n }\n ");
|
52 | expect(res).toMatchSnapshot();
|
53 | expect(res.errors).toEqual([]);
|
54 | });
|
55 |
|
56 | test("must define uv params", function () {
|
57 | var res = (0, _transformSource2.default)("test.glsl", "\n // Author: gre\n // License: MIT\n vec4 transition () {\n return vec4(0.0);\n }\n ");
|
58 | expect(res).toMatchSnapshot();
|
59 | expect(res.errors.length).toBeGreaterThan(0);
|
60 | });
|
61 |
|
62 | test("renaming param is fine", function () {
|
63 | var res = (0, _transformSource2.default)("test.glsl", "\n // Author: gre\n // License: MIT\n vec4 transition (vec2 p) {\n return vec4(p, 1.0, 1.0);\n }\n ");
|
64 | expect(res).toMatchSnapshot();
|
65 | expect(res.errors).toEqual([]);
|
66 | });
|
67 |
|
68 | test("must define the correct signature", function () {
|
69 | var res = (0, _transformSource2.default)("test.glsl", "\n // Author: gre\n // License: MIT\n void transition (vec2 uv) {}");
|
70 | expect(res).toMatchSnapshot();
|
71 | expect(res.errors.length).toBeGreaterThan(0);
|
72 | });
|
73 |
|
74 | test("crazy defaults", function () {
|
75 | var res = (0, _transformSource2.default)("crazyyyy.glsl", "\n // Author: Gaetan\n // License: LGPL\n uniform int yo; // = 1\n uniform vec4 yo2; // = vec4(4.4)\n uniform vec2 yo3 /* = vec2(1.1, 2.2) */;\n uniform float a,b; // = 42.2\n uniform float c /* = 3.3*/, d /* = 5.5 */;\n vec4 transition (vec2 uv) { return vec4(0.); }");
|
76 | expect(res.errors).toEqual([]);
|
77 | expect(res.data.defaultParams).toEqual({
|
78 | yo: 1,
|
79 | yo2: [4.4, 4.4, 4.4, 4.4],
|
80 | yo3: [1.1, 2.2],
|
81 | a: 42.2,
|
82 | b: 42.2,
|
83 | c: 3.3,
|
84 | d: 5.5
|
85 | });
|
86 | expect(res.data.author).toEqual("Gaetan");
|
87 | expect(res.data.license).toEqual("LGPL");
|
88 | }); |
\ | No newline at end of file |