UNPKG

interactive-shader-format-for-modv

Version:

Rendering engine for Interactive Shader Format effects and generators

41 lines (34 loc) 1.19 kB
var test = require('tape') var fs = require('fs') var ISFUpgrader = require('../src/ISFUpgrader') var Parser = require('../src/ISFParser') function assetLoad(name) { return fs.readFileSync('./tests/assets/' + name).toString() } test('Upgrade fragment shader to v2', (t) => { var old = assetLoad('version1.fs') var upgraded = ISFUpgrader.convertFragment(old) t.equal(upgraded, assetLoad('version1.upgraded.fs'), "upgraded correctly") t.end() }) test('Upgrade vertex shader to v2', (t) => { var old = assetLoad('version1.vs') var upgraded = ISFUpgrader.convertVertex(old) t.equal(upgraded, assetLoad('version1.upgraded.vs'), "upgraded correctly") t.end() }) test('Infer ISF Versioning', function(t) { var v1 = assetLoad('version1.fs') var parser = new Parser() parser.parse(v1) t.equal(parser.isfVersion, 1, "Properly detect v1 with PERSISTENT_BUFFERS") var v1 = assetLoad('version1_basic.fs') var parser = new Parser() parser.parse(v1) t.equal(parser.isfVersion, 1, "Properly detect v1 without PERSISTENT_BUFFERS") var v2 = assetLoad('version1.upgraded.fs') parser = new Parser() parser.parse(v2) t.equal(parser.isfVersion, 2, "Properly detect v2") t.end() })