Skip to content

Commit 48d6a6a

Browse files
committed
added Token class
1 parent 132ec1b commit 48d6a6a

File tree

4 files changed

+81
-6
lines changed

4 files changed

+81
-6
lines changed

karma.conf.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ module.exports = function (config) {
66
frameworks: ["jasmine"],
77
// list of files / patterns to load in the browser
88
files: [
9-
{pattern: 'angular2-jwt.spec.ts', watched: false}
9+
{pattern: '*.spec.ts', watched: false}
1010
],
1111

1212
// list of files / patterns to exclude
1313
exclude: [],
1414

1515
preprocessors: {
16-
'angular2-jwt.spec.ts': [ 'webpack', 'sourcemap']
16+
'*.spec.ts': [ 'webpack', 'sourcemap']
1717
},
1818

1919

@@ -35,18 +35,18 @@ module.exports = function (config) {
3535
logLevel: config.LOG_INFO,
3636

3737
// enable / disable watching file and executing tests whenever any file changes
38-
autoWatch: false,
38+
autoWatch: true,
3939

4040
browsers: [
4141
//"Firefox",
42-
//"Chrome",
42+
"Chrome",
4343
//"IE",
44-
"PhantomJS"
44+
//"PhantomJS"
4545
],
4646

4747
// Continuous Integration mode
4848
// if true, it capture browsers, run tests and exit
49-
singleRun: true,
49+
singleRun: false,
5050

5151
reporters: ['progress'],
5252

token.spec.ts

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import { Token } from "./token";
2+
3+
describe("Token", () => {
4+
5+
'use strict';
6+
7+
it("constructor should set value", () => {
8+
const value = 'dGVzdA==';
9+
let token = new Token(value);
10+
expect(token.value).toBe(value);
11+
});
12+
13+
it("constructor with null should default to empty string", () => {
14+
let token = new Token(null);
15+
expect(token.value).toBe('');
16+
});
17+
18+
it("token with same value are equal", () => {
19+
let token1 = new Token('AA==');
20+
let token2 = new Token('AA==');
21+
expect(token1.equals(token2)).toBe(true);
22+
});
23+
24+
it("token with different value are not equal", () => {
25+
let token1 = new Token('AA==');
26+
let token2 = new Token('ZZ==');
27+
expect(token1.equals(token2)).toBe(false);
28+
});
29+
30+
it("token with null value equals to empty token", () => {
31+
let token1 = new Token(null);
32+
expect(token1.equals(Token.Empty)).toBe(true);
33+
});
34+
35+
it("token with blank value equals to empty token", () => {
36+
let token1 = new Token('');
37+
expect(token1.equals(Token.Empty)).toBe(true);
38+
});
39+
40+
41+
42+
});
43+
44+
describe("Empty Token", () => {
45+
46+
'use strict';
47+
48+
it("should have empty value", () => {
49+
expect(Token.Empty.value).toBe('');
50+
});
51+
52+
});

token.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export class Token {
2+
3+
private _value: string = null;
4+
5+
public get value(): string {
6+
return this._value;
7+
}
8+
constructor(value: string) {
9+
this._value = value;
10+
if (this._value == null) this._value = '';
11+
}
12+
13+
public static get Empty(): Token {
14+
return new Token('');
15+
}
16+
17+
public equals(token: Token): boolean {
18+
if(token.value === this.value) return true;
19+
return false;
20+
}
21+
}

tsconfig.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
"files": [
1919
"angular2-jwt.ts",
2020
"angular2-jwt.spec.ts",
21+
"token.ts",
22+
"token.spec.ts",
2123
"custom.d.ts"
2224
],
2325
"exclude": [

0 commit comments

Comments
 (0)