Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Side by Side Diff: tests/fletch_tests/sentence_tests.dart

Issue 1659163007: Rename fletch -> dartino (Closed) Base URL: https://github.com/dartino/sdk.git@master
Patch Set: address comments Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests/fletch_tests/self_tests.dart ('k') | tests/fletch_tests/snapshot_stacktrace_tests.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE.md file.
4
5 import 'dart:async' show
6 Future;
7
8 import 'package:fletchc/src/hub/sentence_parser.dart';
9
10 import 'package:expect/expect.dart';
11
12 Future main() {
13 Sentence sentence;
14
15 void checkAction(String name) {
16 Expect.isNotNull(sentence.verb);
17 Expect.stringEquals(name, sentence.verb.name);
18 print("Action '$name' as expected.");
19 }
20
21 void checkTarget(TargetKind kind) {
22 Expect.isNotNull(sentence.targets.single);
23 Expect.equals(kind, sentence.targets.single.kind);
24 print("Target '$kind' as expected.");
25 }
26
27 void checkNamedTarget(TargetKind kind, String name) {
28 Expect.isNotNull(sentence.targets.single);
29 NamedTarget namedTarget = sentence.targets.single;
30 Expect.equals(kind, namedTarget.kind);
31 Expect.stringEquals(name, namedTarget.name);
32 print("NamedTarget '$kind $name' as expected.");
33 }
34
35 void checkNoTarget() {
36 Expect.isTrue(sentence.targets.isEmpty);
37 print("No target as expected.");
38 }
39
40 sentence = parseSentence([]);
41 print(sentence);
42 checkAction('help');
43 Expect.isTrue(sentence.prepositions.isEmpty);
44 checkNoTarget();
45 Expect.isNull(sentence.trailing);
46
47 sentence = parseSentence(['not_a_verb']);
48 print(sentence);
49 checkAction('not_a_verb');
50 Expect.isTrue(sentence.prepositions.isEmpty);
51 checkNoTarget();
52 Expect.isNotNull(sentence.trailing);
53 Expect.listEquals(['not_a_verb'], sentence.trailing);
54
55 sentence = parseSentence(['create', 'session', 'fisk']);
56 print(sentence);
57 checkAction('create');
58 Expect.isTrue(sentence.prepositions.isEmpty);
59 checkNamedTarget(TargetKind.SESSION, 'fisk');
60 Expect.isNull(sentence.trailing);
61
62 void checkCreateFooInFisk() {
63 Expect.isNotNull(sentence.verb);
64 Expect.stringEquals('create', sentence.verb.name);
65 Preposition preposition = sentence.prepositions.single;
66 Expect.isNotNull(preposition);
67 Expect.equals(PrepositionKind.IN, preposition.kind);
68 NamedTarget namedTarget = preposition.target;
69 Expect.isNotNull(namedTarget);
70 Expect.equals(TargetKind.SESSION, namedTarget.kind);
71 Expect.stringEquals('fisk', namedTarget.name);
72 checkNamedTarget(TargetKind.CLASS, 'Foo');
73 Expect.isNull(sentence.trailing);
74 }
75 sentence = parseSentence(['create', 'in', 'session', 'fisk', 'class', 'Foo']);
76 print(sentence);
77 checkCreateFooInFisk();
78
79 sentence = parseSentence(['create', 'class', 'Foo', 'in', 'session', 'fisk']);
80 print(sentence);
81 checkCreateFooInFisk();
82
83 sentence = parseSentence(['create', 'in', 'fisk']);
84 print(sentence);
85 checkAction('create');
86 Expect.isNotNull(sentence.prepositions.single);
87 Expect.equals(PrepositionKind.IN, sentence.prepositions.single.kind);
88 Expect.isTrue(sentence.prepositions.single.target is ErrorTarget);
89 checkNoTarget();
90 Expect.isNull(sentence.trailing);
91
92 sentence = parseSentence(['create', 'in', 'fisk', 'fisk']);
93 print(sentence);
94 checkAction('create');
95 Expect.isNotNull(sentence.prepositions.single);
96 Expect.equals(PrepositionKind.IN, sentence.prepositions.single.kind);
97 Expect.isTrue(sentence.prepositions.single.target is ErrorTarget);
98 checkNoTarget();
99 Expect.isNotNull(sentence.trailing);
100 Expect.listEquals(['fisk'], sentence.trailing);
101
102 sentence = parseSentence(['help', 'all']);
103 print(sentence);
104 checkAction('help');
105 Expect.isTrue(sentence.prepositions.isEmpty);
106 checkTarget(TargetKind.ALL);
107 Expect.isNull(sentence.trailing);
108
109 return new Future.value();
110 }
OLDNEW
« no previous file with comments | « tests/fletch_tests/self_tests.dart ('k') | tests/fletch_tests/snapshot_stacktrace_tests.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698