X Tutup
Skip to content

Commit e1f8e54

Browse files
vsavkinjelbourn
authored andcommitted
feat(i18n): implement xmb serializer
1 parent 2b16594 commit e1f8e54

File tree

3 files changed

+49
-0
lines changed

3 files changed

+49
-0
lines changed

modules/angular2/pubspec.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ dependencies:
2020
protobuf: '^0.5.0'
2121
source_span: '^1.0.0'
2222
stack_trace: '^1.1.1'
23+
build:
24+
git: git@github.com:dart-lang/build.git
2325
dev_dependencies:
2426
transformer_test: '^0.2.0'
2527
guinness: '^0.1.18'
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import {isPresent} from 'angular2/src/facade/lang';
2+
import {Message, id} from './message';
3+
4+
export function serialize(messages: Message[]): string {
5+
let ms = messages.map((m) => _serializeMessage(m)).join("");
6+
return `<message-bundle>${ms}</message-bundle>`;
7+
}
8+
9+
function _serializeMessage(m: Message): string {
10+
let desc = isPresent(m.description) ? ` desc='${m.description}'` : "";
11+
return `<msg id='${id(m)}'${desc}>${m.content}</msg>`;
12+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import {
2+
AsyncTestCompleter,
3+
beforeEach,
4+
ddescribe,
5+
describe,
6+
expect,
7+
iit,
8+
inject,
9+
it,
10+
xdescribe,
11+
xit
12+
} from 'angular2/testing_internal';
13+
14+
import {Message, id} from 'angular2/src/i18n/message';
15+
import {serialize} from 'angular2/src/i18n/xmb_serializer';
16+
17+
export function main() {
18+
describe('Xmb Serialization', () => {
19+
it("should return an empty message bundle for an empty list of messages",
20+
() => { expect(serialize([])).toEqual("<message-bundle></message-bundle>"); });
21+
22+
it("should serialize messages without desc", () => {
23+
let m = new Message("content", "meaning", null);
24+
let expected = `<message-bundle><msg id='${id(m)}'>content</msg></message-bundle>`;
25+
expect(serialize([m])).toEqual(expected);
26+
});
27+
28+
it("should serialize messages with desc", () => {
29+
let m = new Message("content", "meaning", "description");
30+
let expected =
31+
`<message-bundle><msg id='${id(m)}' desc='description'>content</msg></message-bundle>`;
32+
expect(serialize([m])).toEqual(expected);
33+
});
34+
});
35+
}

0 commit comments

Comments
 (0)
X Tutup