Skip to content

Commit 81f3869

Browse files
Change test file names from 'tests' to 'test'
1 parent db8b0af commit 81f3869

File tree

10 files changed

+683
-683
lines changed

10 files changed

+683
-683
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"vscode:prepublish": "tsc -p ./",
2323
"compile": "tsc -p ./ && gulp tslint",
2424
"watch": "tsc -watch -p ./",
25-
"test": "mocha --timeout 15000 -u tdd ./out/test/*.tests.js ./out/test/**/*.tests.js",
25+
"test": "mocha --timeout 15000 -u tdd ./out/test/*.test.js ./out/test/**/*.test.js",
2626
"postinstall": "node ./node_modules/vscode/bin/install"
2727
},
2828
"dependencies": {
File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 169 additions & 169 deletions
Original file line numberDiff line numberDiff line change
@@ -1,169 +1,169 @@
1-
import { should } from 'chai';
2-
import { Tokens, Token } from './utils/tokenizer';
3-
import { TokenizerUtil } from'./utils/tokenizerUtil';
4-
5-
describe("Grammar", function() {
6-
before(function() {
7-
should();
8-
});
9-
10-
describe("Class", function() {
11-
it("class keyword and storage modifiers", function() {
12-
13-
const input = `
14-
namespace TestNamespace
15-
{
16-
public class PublicClass { }
17-
18-
class DefaultClass { }
19-
20-
internal class InternalClass { }
21-
22-
static class DefaultStaticClass { }
23-
24-
public static class PublicStaticClass { }
25-
26-
sealed class DefaultSealedClass { }
27-
28-
public sealed class PublicSealedClass { }
29-
30-
public abstract class PublicAbstractClass { }
31-
32-
abstract class DefaultAbstractClass { }
33-
}`;
34-
let tokens: Token[] = TokenizerUtil.tokenize(input);
35-
36-
tokens.should.contain(Tokens.StorageModifierKeyword("public", 4, 5));
37-
tokens.should.contain(Tokens.ClassKeyword("class", 4, 24));
38-
tokens.should.contain(Tokens.ClassIdentifier("PublicClass", 4, 30));
39-
40-
tokens.should.contain(Tokens.ClassKeyword("class", 6, 24));
41-
tokens.should.contain(Tokens.ClassIdentifier("DefaultClass", 6, 30));
42-
43-
tokens.should.contain(Tokens.StorageModifierKeyword("internal", 8, 5));
44-
tokens.should.contain(Tokens.ClassKeyword("class", 8, 24));
45-
tokens.should.contain(Tokens.ClassIdentifier("InternalClass", 8, 30));
46-
47-
tokens.should.contain(Tokens.StorageModifierKeyword("static", 10, 15));
48-
tokens.should.contain(Tokens.ClassKeyword("class", 10, 24));
49-
tokens.should.contain(Tokens.ClassIdentifier("DefaultStaticClass", 10, 30));
50-
51-
tokens.should.contain(Tokens.StorageModifierKeyword("public", 12, 5));
52-
tokens.should.contain(Tokens.StorageModifierKeyword("static", 12, 15));
53-
tokens.should.contain(Tokens.ClassKeyword("class", 12, 24));
54-
tokens.should.contain(Tokens.ClassIdentifier("PublicStaticClass", 12, 30));
55-
56-
tokens.should.contain(Tokens.StorageModifierKeyword("sealed", 14, 15));
57-
tokens.should.contain(Tokens.ClassKeyword("class", 14, 24));
58-
tokens.should.contain(Tokens.ClassIdentifier("DefaultSealedClass", 14, 30));
59-
60-
tokens.should.contain(Tokens.StorageModifierKeyword("public", 16, 5));
61-
tokens.should.contain(Tokens.StorageModifierKeyword("sealed", 16, 15));
62-
tokens.should.contain(Tokens.ClassKeyword("class", 16, 24));
63-
tokens.should.contain(Tokens.ClassIdentifier("PublicSealedClass", 16, 30));
64-
65-
tokens.should.contain(Tokens.StorageModifierKeyword("public", 18, 5));
66-
tokens.should.contain(Tokens.StorageModifierKeyword("abstract", 18, 15));
67-
tokens.should.contain(Tokens.ClassKeyword("class", 18, 24));
68-
tokens.should.contain(Tokens.ClassIdentifier("PublicAbstractClass", 18, 30));
69-
70-
tokens.should.contain(Tokens.StorageModifierKeyword("abstract", 20, 15));
71-
tokens.should.contain(Tokens.ClassKeyword("class", 20, 24));
72-
tokens.should.contain(Tokens.ClassIdentifier("DefaultAbstractClass", 20, 30));
73-
74-
});
75-
76-
it("generics in identifier", function () {
77-
78-
const input = `
79-
namespace TestNamespace
80-
{
81-
class Dictionary<T, Dictionary<string, string>> { }
82-
}`;
83-
let tokens: Token[] = TokenizerUtil.tokenize(input);
84-
85-
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
86-
tokens.should.contain(Tokens.ClassIdentifier("Dictionary<T, Dictionary<string, string>>", 4, 11));
87-
});
88-
89-
it("inheritance", function() {
90-
91-
const input = `
92-
namespace TestNamespace
93-
{
94-
class PublicClass : IInterface, IInterfaceTwo { }
95-
class PublicClass<T> : Root.IInterface<Something.Nested>, Something.IInterfaceTwo { }
96-
class PublicClass<T> : Dictionary<T, Dictionary<string, string>>, IMap<T, Dictionary<string, string>> { }
97-
}`;
98-
let tokens: Token[] = TokenizerUtil.tokenize(input);
99-
100-
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
101-
tokens.should.contain(Tokens.ClassIdentifier("PublicClass", 4, 11));
102-
tokens.should.contain(Tokens.Type("IInterface", 4, 28));
103-
tokens.should.contain(Tokens.Type("IInterfaceTwo", 4, 43));
104-
105-
tokens.should.contain(Tokens.ClassKeyword("class", 5, 5));
106-
tokens.should.contain(Tokens.ClassIdentifier("PublicClass<T>", 5, 11));
107-
tokens.should.contain(Tokens.Type("Root.IInterface<Something.Nested>", 5, 28));
108-
tokens.should.contain(Tokens.Type("Something.IInterfaceTwo", 5, 63));
109-
110-
tokens.should.contain(Tokens.Type("Dictionary<T, Dictionary<string, string>>", 6, 28));
111-
tokens.should.contain(Tokens.Type("IMap<T, Dictionary<string, string>>", 6, 71));
112-
});
113-
114-
it("generic constraints", function() {
115-
116-
const input = `
117-
namespace TestNamespace
118-
{
119-
class PublicClass<T> where T : ISomething { }
120-
class PublicClass<T, X> : Dictionary<T, List<string>[]>, ISomething where T : ICar, new() where X : struct { }
121-
}`;
122-
let tokens: Token[] = TokenizerUtil.tokenize(input);
123-
124-
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
125-
tokens.should.contain(Tokens.ClassIdentifier("PublicClass<T>", 4, 11));
126-
tokens.should.contain(Tokens.Keyword("where", 4, 26));
127-
tokens.should.contain(Tokens.Type("T", 4, 32));
128-
tokens.should.contain(Tokens.Type("ISomething", 4, 36));
129-
130-
tokens.should.contain(Tokens.ClassKeyword("class", 5, 5));
131-
tokens.should.contain(Tokens.ClassIdentifier("PublicClass<T, X>", 5, 11));
132-
tokens.should.contain(Tokens.Type("Dictionary<T, List<string>[]>", 5, 31));
133-
tokens.should.contain(Tokens.Type("ISomething", 5, 62));
134-
tokens.should.contain(Tokens.Keyword("where", 5, 73));
135-
tokens.should.contain(Tokens.Type("T", 5, 79));
136-
tokens.should.contain(Tokens.Type("ICar", 5, 83));
137-
tokens.should.contain(Tokens.Keyword("new", 5, 89));
138-
tokens.should.contain(Tokens.Keyword("where", 5, 95));
139-
tokens.should.contain(Tokens.Type("X", 5, 101));
140-
tokens.should.contain(Tokens.Keyword("struct", 5, 105));
141-
142-
});
143-
144-
it("nested class", function() {
145-
146-
const input = `
147-
namespace TestNamespace
148-
{
149-
class Klass
150-
{
151-
public class Nested
152-
{
153-
154-
}
155-
}
156-
}`;
157-
let tokens: Token[] = TokenizerUtil.tokenize(input);
158-
159-
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
160-
tokens.should.contain(Tokens.ClassIdentifier("Klass", 4, 11));
161-
162-
tokens.should.contain(Tokens.StorageModifierKeyword("public", 6, 9));
163-
tokens.should.contain(Tokens.ClassKeyword("class", 6, 16));
164-
tokens.should.contain(Tokens.ClassIdentifier("Nested", 6, 22));
165-
});
166-
});
167-
});
168-
169-
1+
import { should } from 'chai';
2+
import { Tokens, Token } from './utils/tokenizer';
3+
import { TokenizerUtil } from'./utils/tokenizerUtil';
4+
5+
describe("Grammar", function() {
6+
before(function() {
7+
should();
8+
});
9+
10+
describe("Class", function() {
11+
it("class keyword and storage modifiers", function() {
12+
13+
const input = `
14+
namespace TestNamespace
15+
{
16+
public class PublicClass { }
17+
18+
class DefaultClass { }
19+
20+
internal class InternalClass { }
21+
22+
static class DefaultStaticClass { }
23+
24+
public static class PublicStaticClass { }
25+
26+
sealed class DefaultSealedClass { }
27+
28+
public sealed class PublicSealedClass { }
29+
30+
public abstract class PublicAbstractClass { }
31+
32+
abstract class DefaultAbstractClass { }
33+
}`;
34+
let tokens: Token[] = TokenizerUtil.tokenize(input);
35+
36+
tokens.should.contain(Tokens.StorageModifierKeyword("public", 4, 5));
37+
tokens.should.contain(Tokens.ClassKeyword("class", 4, 24));
38+
tokens.should.contain(Tokens.ClassIdentifier("PublicClass", 4, 30));
39+
40+
tokens.should.contain(Tokens.ClassKeyword("class", 6, 24));
41+
tokens.should.contain(Tokens.ClassIdentifier("DefaultClass", 6, 30));
42+
43+
tokens.should.contain(Tokens.StorageModifierKeyword("internal", 8, 5));
44+
tokens.should.contain(Tokens.ClassKeyword("class", 8, 24));
45+
tokens.should.contain(Tokens.ClassIdentifier("InternalClass", 8, 30));
46+
47+
tokens.should.contain(Tokens.StorageModifierKeyword("static", 10, 15));
48+
tokens.should.contain(Tokens.ClassKeyword("class", 10, 24));
49+
tokens.should.contain(Tokens.ClassIdentifier("DefaultStaticClass", 10, 30));
50+
51+
tokens.should.contain(Tokens.StorageModifierKeyword("public", 12, 5));
52+
tokens.should.contain(Tokens.StorageModifierKeyword("static", 12, 15));
53+
tokens.should.contain(Tokens.ClassKeyword("class", 12, 24));
54+
tokens.should.contain(Tokens.ClassIdentifier("PublicStaticClass", 12, 30));
55+
56+
tokens.should.contain(Tokens.StorageModifierKeyword("sealed", 14, 15));
57+
tokens.should.contain(Tokens.ClassKeyword("class", 14, 24));
58+
tokens.should.contain(Tokens.ClassIdentifier("DefaultSealedClass", 14, 30));
59+
60+
tokens.should.contain(Tokens.StorageModifierKeyword("public", 16, 5));
61+
tokens.should.contain(Tokens.StorageModifierKeyword("sealed", 16, 15));
62+
tokens.should.contain(Tokens.ClassKeyword("class", 16, 24));
63+
tokens.should.contain(Tokens.ClassIdentifier("PublicSealedClass", 16, 30));
64+
65+
tokens.should.contain(Tokens.StorageModifierKeyword("public", 18, 5));
66+
tokens.should.contain(Tokens.StorageModifierKeyword("abstract", 18, 15));
67+
tokens.should.contain(Tokens.ClassKeyword("class", 18, 24));
68+
tokens.should.contain(Tokens.ClassIdentifier("PublicAbstractClass", 18, 30));
69+
70+
tokens.should.contain(Tokens.StorageModifierKeyword("abstract", 20, 15));
71+
tokens.should.contain(Tokens.ClassKeyword("class", 20, 24));
72+
tokens.should.contain(Tokens.ClassIdentifier("DefaultAbstractClass", 20, 30));
73+
74+
});
75+
76+
it("generics in identifier", function () {
77+
78+
const input = `
79+
namespace TestNamespace
80+
{
81+
class Dictionary<T, Dictionary<string, string>> { }
82+
}`;
83+
let tokens: Token[] = TokenizerUtil.tokenize(input);
84+
85+
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
86+
tokens.should.contain(Tokens.ClassIdentifier("Dictionary<T, Dictionary<string, string>>", 4, 11));
87+
});
88+
89+
it("inheritance", function() {
90+
91+
const input = `
92+
namespace TestNamespace
93+
{
94+
class PublicClass : IInterface, IInterfaceTwo { }
95+
class PublicClass<T> : Root.IInterface<Something.Nested>, Something.IInterfaceTwo { }
96+
class PublicClass<T> : Dictionary<T, Dictionary<string, string>>, IMap<T, Dictionary<string, string>> { }
97+
}`;
98+
let tokens: Token[] = TokenizerUtil.tokenize(input);
99+
100+
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
101+
tokens.should.contain(Tokens.ClassIdentifier("PublicClass", 4, 11));
102+
tokens.should.contain(Tokens.Type("IInterface", 4, 28));
103+
tokens.should.contain(Tokens.Type("IInterfaceTwo", 4, 43));
104+
105+
tokens.should.contain(Tokens.ClassKeyword("class", 5, 5));
106+
tokens.should.contain(Tokens.ClassIdentifier("PublicClass<T>", 5, 11));
107+
tokens.should.contain(Tokens.Type("Root.IInterface<Something.Nested>", 5, 28));
108+
tokens.should.contain(Tokens.Type("Something.IInterfaceTwo", 5, 63));
109+
110+
tokens.should.contain(Tokens.Type("Dictionary<T, Dictionary<string, string>>", 6, 28));
111+
tokens.should.contain(Tokens.Type("IMap<T, Dictionary<string, string>>", 6, 71));
112+
});
113+
114+
it("generic constraints", function() {
115+
116+
const input = `
117+
namespace TestNamespace
118+
{
119+
class PublicClass<T> where T : ISomething { }
120+
class PublicClass<T, X> : Dictionary<T, List<string>[]>, ISomething where T : ICar, new() where X : struct { }
121+
}`;
122+
let tokens: Token[] = TokenizerUtil.tokenize(input);
123+
124+
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
125+
tokens.should.contain(Tokens.ClassIdentifier("PublicClass<T>", 4, 11));
126+
tokens.should.contain(Tokens.Keyword("where", 4, 26));
127+
tokens.should.contain(Tokens.Type("T", 4, 32));
128+
tokens.should.contain(Tokens.Type("ISomething", 4, 36));
129+
130+
tokens.should.contain(Tokens.ClassKeyword("class", 5, 5));
131+
tokens.should.contain(Tokens.ClassIdentifier("PublicClass<T, X>", 5, 11));
132+
tokens.should.contain(Tokens.Type("Dictionary<T, List<string>[]>", 5, 31));
133+
tokens.should.contain(Tokens.Type("ISomething", 5, 62));
134+
tokens.should.contain(Tokens.Keyword("where", 5, 73));
135+
tokens.should.contain(Tokens.Type("T", 5, 79));
136+
tokens.should.contain(Tokens.Type("ICar", 5, 83));
137+
tokens.should.contain(Tokens.Keyword("new", 5, 89));
138+
tokens.should.contain(Tokens.Keyword("where", 5, 95));
139+
tokens.should.contain(Tokens.Type("X", 5, 101));
140+
tokens.should.contain(Tokens.Keyword("struct", 5, 105));
141+
142+
});
143+
144+
it("nested class", function() {
145+
146+
const input = `
147+
namespace TestNamespace
148+
{
149+
class Klass
150+
{
151+
public class Nested
152+
{
153+
154+
}
155+
}
156+
}`;
157+
let tokens: Token[] = TokenizerUtil.tokenize(input);
158+
159+
tokens.should.contain(Tokens.ClassKeyword("class", 4, 5));
160+
tokens.should.contain(Tokens.ClassIdentifier("Klass", 4, 11));
161+
162+
tokens.should.contain(Tokens.StorageModifierKeyword("public", 6, 9));
163+
tokens.should.contain(Tokens.ClassKeyword("class", 6, 16));
164+
tokens.should.contain(Tokens.ClassIdentifier("Nested", 6, 22));
165+
});
166+
});
167+
});
168+
169+

0 commit comments

Comments
 (0)