Path: blob/trunk/dotnet/test/firefox/FirefoxProfileTests.cs
2868 views
// <copyright file="FirefoxProfileTests.cs" company="Selenium Committers"> // Licensed to the Software Freedom Conservancy (SFC) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The SFC licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. // </copyright> using NUnit.Framework; using System.Collections.Generic; namespace OpenQA.Selenium.Firefox; [TestFixture] public class FirefoxProfileTests { private FirefoxProfile profile; [SetUp] public void SetUp() { profile = new FirefoxProfile(); } [TearDown] public void TearDown() { profile.Clean(); } //[Test] public void ShouldQuoteStringsWhenSettingStringProperties() { profile.SetPreference("cheese", "brie"); List<string> props = ReadGeneratedProperties(); bool seenCheese = false; foreach (string line in props) { if (line.Contains("cheese") && line.Contains("\"brie\"")) { seenCheese = true; break; } } Assert.That(seenCheese, Is.True); } //[Test] public void ShouldSetIntegerPreferences() { profile.SetPreference("cheese", 1234); List<string> props = ReadGeneratedProperties(); bool seenCheese = false; foreach (string line in props) { if (line.Contains("cheese") && line.Contains(", 1234)")) { seenCheese = true; break; } } Assert.That(seenCheese, Is.True, "Did not see integer value being set correctly"); } //[Test] public void testShouldSetBooleanPreferences() { profile.SetPreference("cheese", false); List<string> props = ReadGeneratedProperties(); bool seenCheese = false; foreach (string line in props) { if (line.Contains("cheese") && line.Contains(", false)")) { seenCheese = true; } } Assert.That(seenCheese, Is.True, "Did not see boolean value being set correctly"); } private List<string> ReadGeneratedProperties() { profile.WriteToDisk(); List<string> generatedProperties = new List<string>(); string userPrefs = System.IO.Path.Combine(profile.ProfileDirectory, "user.js"); if (System.IO.File.Exists(userPrefs)) { string[] fileLines = System.IO.File.ReadAllLines(userPrefs); generatedProperties = new List<string>(fileLines); } return generatedProperties; } }