1 | "use strict";
|
2 |
|
3 | define(['test/test-helpers'], function(testHelpers) {
|
4 | var describeIf = testHelpers.describeIf;
|
5 | var it = testHelpers.itWithFreshLog;
|
6 |
|
7 | var originalConsole = window.console;
|
8 |
|
9 | describe("Setting default log level tests:", function() {
|
10 |
|
11 | beforeEach(function() {
|
12 | window.console = {"log" : jasmine.createSpy("console.log")};
|
13 | jasmine.addMatchers({
|
14 | "toBeAtLevel" : testHelpers.toBeAtLevel,
|
15 | "toBeTheStoredLevel" : testHelpers.toBeTheLevelStoredByLocalStorage
|
16 | });
|
17 |
|
18 | testHelpers.clearStoredLevels();
|
19 | });
|
20 |
|
21 | afterEach(function() {
|
22 | window.console = originalConsole;
|
23 | });
|
24 |
|
25 | describe("If no level is saved", function() {
|
26 | beforeEach(function () {
|
27 | testHelpers.clearStoredLevels();
|
28 | });
|
29 |
|
30 | it("new level is always set", function(log) {
|
31 | log.setDefaultLevel("trace");
|
32 | expect(log).toBeAtLevel("trace");
|
33 | });
|
34 |
|
35 | it("level is not persisted", function(log) {
|
36 | log.setDefaultLevel("debug");
|
37 | expect("debug").not.toBeTheStoredLevel();
|
38 | });
|
39 | });
|
40 |
|
41 | describe("If a level is saved", function () {
|
42 | beforeEach(function () {
|
43 | testHelpers.setStoredLevel("trace");
|
44 | });
|
45 |
|
46 | it("saved level is not modified", function (log) {
|
47 | log.setDefaultLevel("debug");
|
48 | expect(log).toBeAtLevel("trace");
|
49 | });
|
50 | });
|
51 |
|
52 | describe("If the level is stored incorrectly", function() {
|
53 | beforeEach(function() {
|
54 | testHelpers.setLocalStorageStoredLevel("gibberish");
|
55 | });
|
56 |
|
57 | it("new level is set", function(log) {
|
58 | log.setDefaultLevel("debug");
|
59 | expect(log).toBeAtLevel("debug");
|
60 | expect("debug").not.toBeTheStoredLevel();
|
61 | });
|
62 | });
|
63 |
|
64 | describe("log.resetLevel() resets the log", function() {
|
65 | it("to warn if no explicit default is set", function(log) {
|
66 | log.setLevel("debug");
|
67 | log.resetLevel();
|
68 |
|
69 | expect(log).toBeAtLevel("warn");
|
70 | });
|
71 |
|
72 | it("to info if default is set to info", function(log) {
|
73 | log.setDefaultLevel("info");
|
74 | log.setLevel("debug");
|
75 | log.resetLevel();
|
76 |
|
77 | expect(log).toBeAtLevel("info");
|
78 | });
|
79 | });
|
80 | });
|
81 | });
|