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

Side by Side Diff: third_party/pkg/angular/test/core/interpolate_spec.dart

Issue 124053002: Adding Angular and dependent packages for testing (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 library interpolate_spec;
2
3 import '../_specs.dart';
4
5 class ToStringableObject {
6 toString() => 'World';
7 }
8
9 main() {
10 describe('\$interpolate', () {
11
12 it('should return undefined when there are no bindings and textOnly is set t o true',
13 inject((Interpolate $interpolate) {
14 expect($interpolate('some text', true)).toBe(null);
15 }));
16
17 it('should suppress falsy objects', inject((Interpolate $interpolate) {
18 expect($interpolate('{{undefined}}')([null])).toEqual('');
19 expect($interpolate('{{undefined+undefined}}')([null])).toEqual('');
20 expect($interpolate('{{null}}')([null])).toEqual('');
21 expect($interpolate('{{a.b}}')([null])).toEqual('');
22 }));
23
24 it('should jsonify objects', inject((Interpolate $interpolate) {
25 expect($interpolate('{{ {} }}')([{}])).toEqual('{}');
26 expect($interpolate('{{ true }}')([true])).toEqual('true');
27 expect($interpolate('{{ false }}')([false])).toEqual('false');
28 }));
29
30
31 it('should return interpolation function', inject((Interpolate $interpolate, Scope $rootScope) {
32 $rootScope.name = 'Misko';
33 var fn = $interpolate('Hello {{name}}!');
34 expect(fn(['Misko'])).toEqual('Hello Misko!');
35 }));
36
37
38 it('should ignore undefined model', inject((Interpolate $interpolate) {
39 expect($interpolate("Hello {{'World' + foo}}")(['World'])).toEqual('Hello World');
40 }));
41
42
43 it('should use toString to conver objects to string', inject((Interpolate $i nterpolate, Scope $rootScope) {
44 expect($interpolate("Hello, {{obj}}!")([new ToStringableObject()])).toEqua l('Hello, World!');
45 }));
46
47
48 describe('parseBindings', () {
49 it('should Parse Text With No Bindings', inject((Interpolate $interpolate) {
50 var parts = $interpolate("a").seperators;
51 expect(parts.length).toEqual(1);
52 expect(parts[0]).toEqual("a");
53 }));
54
55 it('should Parse Empty Text', inject((Interpolate $interpolate) {
56 var parts = $interpolate("").seperators;
57 expect(parts.length).toEqual(1);
58 expect(parts[0]).toEqual("");
59 }));
60
61 it('should Parse Inner Binding', inject((Interpolate $interpolate) {
62 var parts = $interpolate("a{{b}}C").seperators;
63 expect(parts.length).toEqual(2);
64 expect(parts[0]).toEqual("a");
65 expect(parts[1]).toEqual("C");
66 }));
67
68 it('should Parse Ending Binding', inject((Interpolate $interpolate) {
69 var parts = $interpolate("a{{b}}").seperators;
70 expect(parts.length).toEqual(2);
71 expect(parts[0]).toEqual("a");
72 expect(parts[1]).toEqual("");
73 }));
74
75 it('should Parse Begging Binding', inject((Interpolate $interpolate) {
76 var parts = $interpolate("{{b}}c").seperators;
77 expect(parts.length).toEqual(2);
78 expect(parts[0]).toEqual("");
79 expect(parts[1]).toEqual("c");
80 }));
81
82 it('should Parse Loan Binding', inject((Interpolate $interpolate) {
83 var parts = $interpolate("{{b}}").seperators;
84 expect(parts.length).toEqual(2);
85 expect(parts[0]).toEqual("");
86 expect(parts[1]).toEqual("");
87 }));
88
89 it('should Parse Two Bindings', inject((Interpolate $interpolate) {
90 var parts = $interpolate("{{b}}{{c}}").seperators;
91 expect(parts.length).toEqual(3);
92 expect(parts[0]).toEqual("");
93 expect(parts[1]).toEqual("");
94 expect(parts[2]).toEqual("");
95 }));
96
97 it('should Parse Two Bindings With Text In Middle', inject((Interpolate $i nterpolate) {
98 var parts = $interpolate("{{b}}x{{c}}").seperators;
99 expect(parts.length).toEqual(3);
100 expect(parts[0]).toEqual("");
101 expect(parts[1]).toEqual("x");
102 expect(parts[2]).toEqual("");
103 }));
104
105 it('should Parse Multiline', inject((Interpolate $interpolate) {
106 var parts = $interpolate('"X\nY{{A\n+B}}C\nD"').seperators;
107 expect(parts.length).toEqual(2);
108 expect(parts[0]).toEqual('"X\nY');
109 expect(parts[1]).toEqual('C\nD"');
110 }));
111 });
112 });
113 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698