--- /dev/null
+"use strict";
+
+define(['test/test-helpers'], function(testHelpers) {
+ var describeIf = testHelpers.describeIf;
+ var it = testHelpers.itWithFreshLog;
+
+ var originalConsole = window.console;
+
+ describe("Setting default log level tests:", function() {
+
+ beforeEach(function() {
+ window.console = {"log" : jasmine.createSpy("console.log")};
+ });
+
+ afterEach(function() {
+ window.console = originalConsole;
+ });
+
+ describe("If no level is saved", function() {
+ it("current level is the default level", function(log) {
+ log.setDefaultLevel("trace");
+ expect(log.getLevel()).toBe(log.levels.TRACE);
+ });
+ });
+
+ describe("If a level is saved", function () {
+ beforeEach(function () {
+ testHelpers.setStoredLevel("trace");
+ });
+
+ it("current level is the level which has been saved", function (log) {
+ log.setDefaultLevel("debug");
+ expect(log.getLevel()).toBe(log.levels.TRACE);
+ });
+ });
+
+ describe("If the level is stored incorrectly", function() {
+ beforeEach(function() {
+ testHelpers.setLocalStorageStoredLevel("gibberish");
+ });
+
+ it("current level is the default level", function(log) {
+ log.setDefaultLevel("debug");
+ expect(log.getLevel()).toBe(log.levels.DEBUG);
+ });
+ });
+ });
+});