Пример #1
0
 public void can_generate_assembly() {
     Assert.False(File.Exists("tmp\\ByExeTest.dll"));
     var p = new Process();
     p.StartInfo = new ProcessStartInfo("extensionscompiler.exe", "--root \"\" --web false --dllname tmp\\ByExeTest")
                   {
                       UseShellExecute =
                           false,
                       RedirectStandardOutput
                           = false,
                       RedirectStandardError = false,
                   };
     p.Start();
     bool result = p.WaitForExit(360000);
     
    // var results = p.StandardOutput.ReadToEnd();
   //  Console.WriteLine(results);
     Console.ForegroundColor = ConsoleColor.Red;
    // Console.WriteLine(p.StandardError.ReadToEnd());
     Console.ResetColor();
     Assert.True(result);
     
     var assembly = Assembly.LoadFrom("tmp\\ByExeTest.dll");
     Assert.True(File.Exists("tmp\\ByExeTest.dll"));
     var r = new ExtensionsLoader().GetRegistry(assembly);
     Assert.True(r.ContainsKey("x"));
 }
Пример #2
0
 public void can_generate_assembly() {
     Assert.False(File.Exists("tmp\\ByTaskTest.dll"));
     var task = new ApplicationExtensionsLoadTask(dllname:"tmp\\ByTaskTest",web:false);
     task.Start();
     var assembly = task.Finish();
     Assert.True(File.Exists("tmp\\ByTaskTest.dll"));
     var r = new ExtensionsLoader().GetRegistry(assembly);
     Assert.True(r.ContainsKey("x"));
 }
        public void need_well_formed_registry() {
            myapp.files.Write("~/sys/extensions/zzz.boo", @"
class A :
    pass
registry['a'] = A
");
            myapp.files.Write("~/usr/extensions/aaa.boo", @"
class Z :
    pass
registry['a'] = Z
");
            var efs = new ExtensionsFileSystemProvider();
            var ex = new ExtensionsCompilerExecutor{Pipeline = new CompileToMemory()};
            var a = ex.Compile(efs);
            var result = new ExtensionsLoader().GetRegistry(a);
            Assert.AreEqual("Z",((Type)result["a"]).Name);

        }
Пример #4
0
 private static void endLoadExtensions() {
     if(UseExtensions) {
         var result = extensionsloader.Finish();
         if(null==result) {
             throw new Exception("extensions loader not return assembly");
         }
         var dict = new ExtensionsLoader().GetRegistry(result);
         foreach (var e in dict) {
             myapp.ioc.set(e.Key, e.Value);
         }
         extensionsloader = null;
     }
 }
 public void loads_registry() {
     var registry = new ExtensionsLoader().GetRegistry(cu.GeneratedAssembly);
     Assert.AreEqual(1,registry.Count);
     Assert.IsInstanceOf<Type>(registry["x"]);
     Assert.AreEqual("X",((Type)registry["x"]).Name);
 }