/// <summary> /// Compiles the assembly. /// </summary> /// <param name="assemblyCreator">The assembly creator to compile.</param> /// <returns> /// The <see cref="AssemblyClassInvoker"/> for the compiled assembly. /// </returns> protected override AssemblyClassInvoker CompileAssembly(JScriptAssemblyCreator assemblyCreator) { if (_rawMessagesOnly) { return(null); } return(base.CompileAssembly(assemblyCreator)); }
public void InvalidMethodTest() { var c = new JScriptAssemblyCreator { ClassName = "TestClass" }; var i = c.Compile(); Assert.Throws <MissingMethodException>(() => i.Invoke("asdf")); }
public void InvokeEmptyMethodTest() { var c = new JScriptAssemblyCreator { ClassName = "TestClass" }; c.AddMethod("TestM", "public", null, null, ""); var i = c.Compile(); i.Invoke("TestM"); }
public void InvokeAsStringWithParamsTest() { var c = new JScriptAssemblyCreator { ClassName = "TestClass" }; c.AddMethod("TestM", "public", "String", "a", "return \"hi \" + a;"); var i = c.Compile(); Assert.AreEqual("hi loser", i.InvokeAsString("TestM", "loser")); }
public void InvokeAsStringTest() { var c = new JScriptAssemblyCreator { ClassName = "TestClass" }; c.AddMethod("TestM", "public", "String", null, "return \"hi\";"); var i = c.Compile(); Assert.AreEqual("hi", i.InvokeAsString("TestM")); }
public void AddMethodOneParameterTest() { var c = new JScriptAssemblyCreator { ClassName = "TestClass" }; c.AddMethod("TestM", "public", "String", "a", "return \"hi \" + a;"); Assembly asm; c.Compile(out asm); Assert.IsNotNull(asm); }
public void AddEmptyMethodTest() { var c = new JScriptAssemblyCreator { ClassName = "TestClass" }; c.AddMethod("TestM", "public", null, null, ""); Assembly asm; c.Compile(out asm); Assert.IsNotNull(asm); }
/// <summary> /// When overridden in the derived class, allows for additional code to be added to the generated JScript. /// </summary> /// <param name="file">The file that is being loaded.</param> /// <param name="assemblyCreator">The assembly creator.</param> protected override void LoadAdditionalJScriptMembers(string file, JScriptAssemblyCreator assemblyCreator) { // global.js var globalFile = GlobalJScriptFilePath; if (File.Exists(globalFile)) { assemblyCreator.AddRawMember(File.ReadAllText(globalFile)); } // language.js var languageFile = GetLanguageJScriptFile(file); if (File.Exists(languageFile)) { assemblyCreator.AddRawMember(File.ReadAllText(languageFile)); } base.LoadAdditionalJScriptMembers(file, assemblyCreator); }
/// <summary> /// When overridden in the derived class, allows for additional code to be added to the generated JScript. /// </summary> /// <param name="file">The file that is being loaded.</param> /// <param name="assemblyCreator">The assembly creator.</param> protected virtual void LoadAdditionalJScriptMembers(string file, JScriptAssemblyCreator assemblyCreator) { }
/// <summary> /// Compiles the assembly. /// </summary> /// <param name="assemblyCreator">The assembly creator to compile.</param> /// <returns>The <see cref="AssemblyClassInvoker"/> for the compiled assembly.</returns> protected virtual AssemblyClassInvoker CompileAssembly(JScriptAssemblyCreator assemblyCreator) { return(assemblyCreator.Compile()); }