Ejemplo n.º 1
0
 public CallableTest(TestFunc func, MachineInitFunc initFunc, IDictionary <string, string> planArguments, IJSTestProvider provider)
 {
     this.provider      = provider;
     this.planArguments = planArguments;
     this.func          = func;
     this.initFunc      = initFunc;
 }
Ejemplo n.º 2
0
 public CallableTest(TestFunc func, MachineInitFunc initFunc, IDictionary<string, string> planArguments, IJSTestProvider provider)
 {
     this.provider = provider;
     this.planArguments = planArguments;
     this.func = func;
     this.initFunc = initFunc;
 }
Ejemplo n.º 3
0
        public JSTestRunner(string initSnapshotName, IDictionary <string, string> planArguments, IJSTestProvider provider)
        {
            this.ctx              = Context.enter();
            this.provider         = provider;
            this.initSnapshotName = initSnapshotName;
            var tests = provider.GetTestDrivers().SelectMany(d =>
                                                             d.Tests.Select(t => new { Driver = d, Name = t }));

            this.planArguments = planArguments;

            MachineInitFunc initFunc = PossiblyInitializeMachine;

            this.scope = ctx.initStandardObjects();
            foreach (var thisTest in tests)
            {
                var      test = thisTest;
                TestFunc func = delegate(IMachine machine, IDictionary <string, string> arguments, ITestResultBin bin)
                {
                    return(test.Driver.RunTest(test.Name, machine, bin, arguments));
                };

                scope.defineProperty(test.Name, new CallableTest(func, initFunc, planArguments, provider), ScriptableObject.READONLY + ScriptableObject.PERMANENT);
            }

            var jsArgsObject = ctx.newObject(scope);

            foreach (var arg in planArguments)
            {
                jsArgsObject.put(arg.Key, jsArgsObject, arg.Value);
            }

            foreach (var name in new[] { "args", "Args", "ARGS" })
            {
                scope.defineProperty(name, jsArgsObject, ScriptableObject.READONLY + ScriptableObject.PERMANENT);
            }

            scope.defineProperty("Debug", new DebugFunction(), ScriptableObject.READONLY + ScriptableObject.PERMANENT);

            ssFunc = new SnapshotFunction(initFunc, provider);

            scope.defineProperty("Snapshot", ssFunc, ScriptableObject.READONLY + ScriptableObject.PERMANENT);
        }
Ejemplo n.º 4
0
        public JSTestRunner(string initSnapshotName, IDictionary<string, string> planArguments, IJSTestProvider provider)
        {
            this.ctx = Context.enter ();
            this.provider = provider;
            this.initSnapshotName = initSnapshotName;
            var tests = provider.GetTestDrivers().SelectMany(d =>
                                               d.Tests.Select (t => new { Driver = d, Name = t}));

            this.planArguments = planArguments;

            MachineInitFunc initFunc = PossiblyInitializeMachine;

            this.scope = ctx.initStandardObjects();
            foreach(var thisTest in tests)
            {
                var test = thisTest;
                TestFunc func = delegate(IMachine machine, IDictionary<string, string> arguments, ITestResultBin bin)
                {
                    return test.Driver.RunTest(test.Name, machine, bin, arguments);
                };

                scope.defineProperty(test.Name, new CallableTest(func, initFunc, planArguments, provider), ScriptableObject.READONLY + ScriptableObject.PERMANENT);
            }

            var jsArgsObject = ctx.newObject(scope);
            foreach(var arg in planArguments)
            {
                jsArgsObject.put (arg.Key, jsArgsObject, arg.Value);
            }

            foreach(var name in new[] { "args", "Args", "ARGS"})
            {
                scope.defineProperty(name, jsArgsObject, ScriptableObject.READONLY + ScriptableObject.PERMANENT);
            }

            scope.defineProperty("Debug", new DebugFunction(), ScriptableObject.READONLY + ScriptableObject.PERMANENT);

            ssFunc = new SnapshotFunction(initFunc, provider);

            scope.defineProperty("Snapshot", ssFunc, ScriptableObject.READONLY + ScriptableObject.PERMANENT);
        }
Ejemplo n.º 5
0
 public MachineResolver(IJSTestProvider provider)
 {
     this.provider = provider;
 }
Ejemplo n.º 6
0
 public SnapshotFunction(MachineInitFunc initFunc, IJSTestProvider provider)
 {
     this.initFunc = initFunc;
     this.provider = provider;
 }
Ejemplo n.º 7
0
 public SnapshotFunction(MachineInitFunc initFunc, IJSTestProvider provider)
 {
     this.initFunc = initFunc;
     this.provider = provider;
 }
Ejemplo n.º 8
0
 public MachineResolver(IJSTestProvider provider)
 {
     this.provider = provider;
 }