Skip to content

Commit 150af9e

Browse files
committed
Merge pull request #35 from Matthew-Edwards/patch-1
Fix bug where log level is reset to default if it's stored as TRACE
2 parents 4ed8bd9 + 9c8e1ad commit 150af9e

File tree

2 files changed

+47
-2
lines changed

2 files changed

+47
-2
lines changed

lib/loglevel.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,16 @@
127127
storedLevel = window.localStorage['loglevel'];
128128
}
129129

130-
if (!storedLevel && cookiesAvailable()) {
130+
if (storedLevel === undefined && cookiesAvailable()) {
131131
var cookieMatch = cookieRegex.exec(window.document.cookie) || [];
132132
storedLevel = cookieMatch[1];
133133
}
134+
135+
if (self.levels[storedLevel] === undefined) {
136+
storedLevel = "WARN";
137+
}
134138

135-
self.setLevel(self.levels[storedLevel] || self.levels.WARN);
139+
self.setLevel(self.levels[storedLevel]);
136140
}
137141

138142
/*

test/local-storage-test.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,27 @@ define(['test/test-helpers'], function(testHelpers) {
4444
expect("debug").toBeTheStoredLevel();
4545
});
4646
});
47+
48+
describe("If trace level is saved", function () {
49+
beforeEach(function () {
50+
testHelpers.setStoredLevel("trace");
51+
});
52+
53+
it("trace is the default log level", function (log) {
54+
expect(log).toBeAtLevel("trace");
55+
});
56+
});
57+
58+
describe("If debug level is saved", function () {
59+
beforeEach(function () {
60+
testHelpers.setStoredLevel("debug");
61+
});
4762

63+
it("debug is the default log level", function (log) {
64+
expect(log).toBeAtLevel("debug");
65+
});
66+
});
67+
4868
describe("If info level is saved", function() {
4969
beforeEach(function() {
5070
testHelpers.setStoredLevel("info");
@@ -67,6 +87,27 @@ define(['test/test-helpers'], function(testHelpers) {
6787
});
6888
});
6989

90+
describe("If warn level is saved", function () {
91+
beforeEach(function () {
92+
testHelpers.setStoredLevel("warn");
93+
});
94+
95+
it("warn is the default log level", function (log) {
96+
expect(log).toBeAtLevel("warn");
97+
});
98+
});
99+
100+
describe("If error level is saved", function () {
101+
beforeEach(function () {
102+
testHelpers.setStoredLevel("error");
103+
});
104+
105+
it("error is the default log level", function (log) {
106+
expect(log).toBeAtLevel("error");
107+
});
108+
});
109+
110+
70111
describe("If the level is saved with other data", function() {
71112
beforeEach(function() {
72113
window.localStorage['qwe'] = "asd";

0 commit comments

Comments
 (0)