public void Engine_AddLibrary_AudioSwitcher() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); Assert.Equal(true, engine.InternalEngine.HasGlobalValue("AudioSwitcher")); } }
public void AudioSwitcher_getAudioDevices_All() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); engine.Execute("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.ALL)"); Assert.Equal(4, engine.Evaluate <int>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.ALL).length").Value); } }
public void AudioSwitcher_getAudioDevices_Capture() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); Assert.DoesNotThrow(() => engine.Execute("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)")); Assert.Equal(2, engine.Evaluate <int>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE).length").Value); } }
public void AudioSwitcher_getAudioDevices_Capture_IsCapture_Enum() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); var device = engine.Evaluate <JavaScriptAudioDevice>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)[0]").Value; var devices = engine.Evaluate <IEnumerable <JavaScriptAudioDevice> >("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)").Value; Assert.True(devices.All(x => x.IsCapture)); Assert.True(device.IsCapture); } }
public void AudioSwitcher_getAudioDevices_Playback_IsPlayback() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); var device = engine.Evaluate <JavaScriptAudioDevice>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)[0]").Value; var devices = engine.Evaluate <JavaScriptAudioDevice[]>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)").Value; Assert.True(devices.All(x => x.IsPlayback)); Assert.True(device.IsPlayback); } }
public void AudioSwitcher_AudioDevice_setMute_true() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].mute(true)"; //Sets to muted Assert.Equal(true, engine.Evaluate <bool>(js).Value); } }
public void AudioSwitcher_AudioDevice_toggleMute() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].toggleMute()"; //Toggles the mute and tests non equality of state var isMuted = engine.Evaluate <bool>(js).Value; Assert.NotEqual(isMuted, engine.Evaluate <bool>(js).Value); } }
public void AudioSwitcher_AudioDevice_getFlags() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].flags"; var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); } }
public void AudioSwitcher_AudioDevice_getName() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].name"; var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); } }
public void AudioSwitcher_AudioDevice_getID() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].id"; ExecutionResult result = null; Assert.DoesNotThrow(() => result = engine.Execute(js)); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); } }
public void AudioSwitcher_AudioDevice_setDefault_Capture_Comm() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string setDefault = @"AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)[0].setAsDefaultComm()"; const string checkDefault = @"AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)[0].isDefaultComm"; engine.Execute(setDefault); Assert.Equal(true, engine.Evaluate <bool>(checkDefault).Value); } }
public void AudioSwitcher_AudioDevice_getVolume() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].volume()"; //don't care what it returns, just that it exists var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); } }
public void AudioSwitcher_AudioDevice_setVolume() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string setTo10 = @"AudioSwitcher.getAudioDevices()[0].volume(10)"; const string getVolume = @"AudioSwitcher.getAudioDevices()[0].volume()"; var orignalVol = engine.Evaluate <int>(getVolume).Value; string setToOriginal = @"AudioSwitcher.getAudioDevices()[0].volume(" + orignalVol + ")"; Assert.Equal(10, engine.Evaluate <int>(setTo10).Value); Assert.Equal(10, engine.Evaluate <int>(getVolume).Value); Assert.Equal(orignalVol, engine.Evaluate <int>(setToOriginal).Value); } }
public void AudioSwitcher_AudioDevice_Exists() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0];"; var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); Assert.NotEqual(null, engine.Evaluate<JavaScriptAudioDevice>(js)); Assert.IsType<JavaScriptAudioDevice>(engine.Evaluate<JavaScriptAudioDevice>(js).Value); } }
public void AudioSwitcher_AudioDevice_Exists() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0];"; var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); Assert.NotEqual(null, engine.Evaluate <JavaScriptAudioDevice>(js)); Assert.IsType <JavaScriptAudioDevice>(engine.Evaluate <JavaScriptAudioDevice>(js).Value); } }
public void AudioSwitcher_getAudioDeviceByName_Capture_Flags() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevice(AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)[0].name, AudioSwitcher.DeviceType.CAPTURE);"; var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); var audioDevice = engine.Evaluate <JavaScriptAudioDevice>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)[0]").Value; var resolvedAudioDevice = engine.Evaluate <JavaScriptAudioDevice>(js).Value; Assert.NotEqual(null, resolvedAudioDevice); Assert.Equal(audioDevice.Id, resolvedAudioDevice.Id); Assert.IsType <JavaScriptAudioDevice>(resolvedAudioDevice); Assert.True(resolvedAudioDevice.IsCapture); } }
public void AudioSwitcher_getAudioDeviceByName() { const string js = @"AudioSwitcher.getAudioDevice(AudioSwitcher.getAudioDevices()[0].name);"; using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); ExecutionResult result = null; Assert.DoesNotThrow(() => result = engine.Execute(js)); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); var audioDevice = engine.Evaluate <JavaScriptAudioDevice>("AudioSwitcher.getAudioDevices()[0]").Value; var resolvedAudioDevice = engine.Evaluate <JavaScriptAudioDevice>(js).Value; Assert.NotEqual(null, resolvedAudioDevice); Assert.Equal(audioDevice.Id, resolvedAudioDevice.Id); Assert.IsType <JavaScriptAudioDevice>(resolvedAudioDevice); } }
public void Engine_AddLibrary_AudioSwitcher() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); Assert.Equal(true, engine.InternalEngine.HasGlobalValue("AudioSwitcher")); } }
public void AudioSwitcher_getAudioDevices_Playback_IsPlayback_Enum() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); var device = engine.Evaluate<JavaScriptAudioDevice>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)[0]").Value; var devices = engine.Evaluate<IEnumerable<JavaScriptAudioDevice>>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)").Value; Assert.True(devices.All(x => x.IsPlayback)); Assert.True(device.IsPlayback); } }
public void AudioSwitcher_getAudioDevices_Playback() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); engine.Execute("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)"); Assert.Equal(2, engine.Evaluate<int>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK).length").Value); } }
public void AudioSwitcher_getAudioDevices_Capture_IsCapture_List() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); var device = engine.Evaluate<JavaScriptAudioDevice>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)[0]").Value; var devices = engine.Evaluate<List<JavaScriptAudioDevice>>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.CAPTURE)").Value; Assert.IsAssignableFrom<IEnumerable<JavaScriptAudioDevice>>(devices); Assert.IsAssignableFrom<IList<JavaScriptAudioDevice>>(devices); Assert.IsType<List<JavaScriptAudioDevice>>(devices); Assert.True(devices.All(x => x.IsCapture)); Assert.True(device.IsCapture); } }
public void AudioSwitcher_getAudioDeviceByName_Playback_Flags() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevice(AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)[0].name, AudioSwitcher.DeviceType.PLAYBACK);"; var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); var audioDevice = engine.Evaluate<JavaScriptAudioDevice>("AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)[0]").Value; var resolvedAudioDevice = engine.Evaluate<JavaScriptAudioDevice>(js).Value; Assert.NotEqual(null, resolvedAudioDevice); Assert.Equal(audioDevice.Id, resolvedAudioDevice.Id); Assert.IsType<JavaScriptAudioDevice>(resolvedAudioDevice); Assert.True(resolvedAudioDevice.IsPlayback); } }
public void AudioSwitcher_AudioDevice_toggleMute() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].toggleMute()"; //Toggles the mute and tests non equality of state var isMuted = engine.Evaluate<bool>(js).Value; Assert.NotEqual(isMuted, engine.Evaluate<bool>(js).Value); } }
public void AudioSwitcher_AudioDevice_setMute_true() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].mute(true)"; //Sets to muted Assert.Equal(true, engine.Evaluate<bool>(js).Value); } }
public void AudioSwitcher_AudioDevice_setDefault_Playback_Comm() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string setDefault = @"AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)[0].setAsDefaultComm()"; const string checkDefault = @"AudioSwitcher.getAudioDevices(AudioSwitcher.DeviceType.PLAYBACK)[0].isDefaultComm"; engine.Execute(setDefault); Assert.Equal(true, engine.Evaluate<bool>(checkDefault).Value); } }
private static int Main(string[] args) { if (args.Length > 2 || args.Length < 1) { return(PrintUsage()); } //Process CLI Arguments for (var i = 0; i < args.Length - 1; i++) { switch (args[i]) { case "--debug": _isDebug = true; break; } } //Process file name string fName = args[args.Length - 1]; if (!fName.EndsWith(".js")) { Console.WriteLine("Invalid input file"); Console.WriteLine(); return(PrintUsage()); } IAudioController controller; if (_isDebug) { controller = new SandboxAudioController(new CoreAudioController()); } else { controller = new CoreAudioController(); } using (var engine = new JsEngine()) { engine.AddCoreLibrary(); engine.AddAudioSwitcherLibrary(controller); //Enable to log to CLI //engine.SetGlobalValue("console", new ConsoleOutput(engine)); //engine.InternalEngine.SetGlobalValue("console", new FirebugConsole(engine.InternalEngine)); engine.SetOutput(new ConsoleScriptOutput()); try { Console.WriteLine("Executing {0}...", fName); var result = engine.Execute(new Scripting.FileScriptSource(fName)); if (!result.Success) { throw result.ExecutionException; } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } #if DEBUG Console.ReadKey(); #endif return(0); }
private static int Main(string[] args) { if (args.Length > 2 || args.Length < 1) return PrintUsage(); //Process CLI Arguments for (var i = 0; i < args.Length - 1; i++) { switch (args[i]) { case "--debug": _isDebug = true; break; } } //Process file name string fName = args[args.Length - 1]; if (!fName.EndsWith(".js")) { Console.WriteLine("Invalid input file"); Console.WriteLine(); return PrintUsage(); } IAudioController controller; if (_isDebug) controller = new SandboxAudioController(new CoreAudioController()); else controller = new CoreAudioController(); using (var engine = new JsEngine()) { engine.AddCoreLibrary(); engine.AddAudioSwitcherLibrary(controller); //Enable to log to CLI //engine.SetGlobalValue("console", new ConsoleOutput(engine)); //engine.InternalEngine.SetGlobalValue("console", new FirebugConsole(engine.InternalEngine)); engine.SetOutput(new ConsoleScriptOutput()); try { Console.WriteLine("Executing {0}...", fName); var result = engine.Execute(new Scripting.FileScriptSource(fName)); if (!result.Success) throw result.ExecutionException; } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } #if DEBUG Console.ReadKey(); #endif return 0; }
public void AudioSwitcher_AudioDevice_getVolume() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string js = @"AudioSwitcher.getAudioDevices()[0].volume()"; //don't care what it returns, just that it exists var result = engine.Execute(js); Assert.NotNull(result); Assert.Null(result.ExecutionException); Assert.True(result.Success); } }
public void AudioSwitcher_AudioDevice_setVolume() { using (var engine = new JsEngine()) { engine.AddAudioSwitcherLibrary(GetAudioController()); engine.Execute("AudioSwitcher = lib('AudioSwitcher');"); const string setTo10 = @"AudioSwitcher.getAudioDevices()[0].volume(10)"; const string getVolume = @"AudioSwitcher.getAudioDevices()[0].volume()"; var orignalVol = engine.Evaluate<int>(getVolume).Value; string setToOriginal = @"AudioSwitcher.getAudioDevices()[0].volume(" + orignalVol + ")"; Assert.Equal(10, engine.Evaluate<int>(setTo10).Value); Assert.Equal(10, engine.Evaluate<int>(getVolume).Value); Assert.Equal(orignalVol, engine.Evaluate<int>(setToOriginal).Value); } }