import WebSocket = require('ws'); import MetaGrammarManifest from '../src/org/subalternproductions/seepResource/dsl/serialize/MetaGrammarManifest'; import GrammarTestSuite from '../src/org/subalternproductions/seepResource/dsl/testsuite/GrammarTestSuite'; import GrammarTest from '../src/org/subalternproductions/seepResource/dsl/testsuite/GrammarTest'; import GrammarTestSrc from '../src/org/subalternproductions/seepResource/dsl/testsuite/GrammarTestSrc'; import GrammarTestSuiteMgr from '../src/org/subalternproductions/seepResource/dsl/testrunner/GrammarTestsuiteMgr'; import TESTS from '../test/minimal-testsuites' import { ITypeManifest, ArchiveDeserializer } from '@cafetextual/util'; import SimpleTypeManifest from '@cafetextual/util/dist/src/manifest/SimpleTypeManifest'; import GrammarTestsuiteRunner from '../test/testrunner/GrammarTestsuiteRunner'; console.log('starting tests'); var connection:any = new WebSocket('ws://localhost:8007'); var testURI = "app/anyonic/test/test-contexts/gtest/gtest.seas" function serialize(type:string, data:any) { return JSON.stringify({type:type, data:data}); } connection.onopen = function () { console.log('con nected') }; // Log errors connection.onerror = function (error:any) { console.error('WebSocket Error ' + error); }; // Log messages from the server connection.onmessage = function (e:any) { var payload = JSON.parse(e.data) var type = payload.type var msg = payload.msg var data = payload.data console.log('message from server type: ' + type ); if (type == 'handshake') { // retieve connection.send(serialize("test-sub", {testURI:testURI}) ) } else if (type =="test-sub") { console.log(' recieved data from server ') runTest(data) } else if (type == "error") { console.log(" recieved error from server " + payload.msg.message) } else { console.log(" ignoring ") } }; var rendered:Boolean = false var TS_MANIFEST:ITypeManifest = new SimpleTypeManifest( { "SimpleTypeManifest":SimpleTypeManifest, "Object": Object, "SContextDef": Object, // --- stylesheets not yet implemented ---- "SElementStyleSheet":Object, "SElementStyle":Object, "SStyleProperty":Object, "SVarDef":Object, // ---- typedef questionable "TypeDef":Object, "PropertyDef":Object, "ResourceDescriptor":Object, "SComponentDef":Object, } ,new MetaGrammarManifest() ) function runTest(data:any) { var deserializer:ArchiveDeserializer = new ArchiveDeserializer( TS_MANIFEST ) var assets:Array = deserializer.deserializeWithClassIds(data) //var mgr:GrammarTestMgr = new GrammarTestMgr(assets, TS_MANIFEST) } // runTest function doTest(data:any):void { var deserializer:ArchiveDeserializer = new ArchiveDeserializer( TS_MANIFEST ) var allData:any = deserializer.deserialize(data) console.log(ts) var count:number = 0; var ts:GrammarTestSuite var mgr:GrammarTestSuiteMgr = new GrammarTestSuiteMgr(allData.resources, data.resources, TS_MANIFEST, false); GrammarTestsuiteRunner.runAllTestSuites(mgr.context, false) } doTest(TESTS)