angular-cn/modules/test_lib/test/test_lib_spec.js
Misko Hevery 044625a098 chore: Make field declarations explicit
This used to be valid code:

```
class Foo {
  constructor() {
    this.bar = ‘string’;
  }
}
```

This will now fail since ‘bar’ is not explicitly
defined as a field. We now have to write:

```
class Foo {
  bar:string; // << REQUIRED
  constructor() {
    this.bar = ‘string’;
  }
}
```
2014-11-24 16:35:39 -08:00

51 lines
1.6 KiB
JavaScript

import {describe, it, iit, ddescribe, expect} from 'test_lib/test_lib';
import {MapWrapper} from 'facade/collection';
class TestObj {
prop;
constructor(prop) {
this.prop = prop;
}
}
export function main() {
describe('test_lib', () => {
describe('equality', () => {
it('should structurally compare objects', () => {
var expected = new TestObj(new TestObj({'one' : [1,2]}));
var actual = new TestObj(new TestObj({'one' : [1,2]}));
var falseActual = new TestObj(new TestObj({'one' : [1,3]}));
expect(actual).toEqual(expected);
expect(falseActual).not.toEqual(expected);
});
it('should work for arrays of maps', () => {
expect([{'a':'b'}]).toEqual([{'a':'b'}]);
});
});
describe('toEqual for Maps', () => {
it('should detect equality for same reference', () => {
var m1 = MapWrapper.createFromStringMap({'a': 1});
expect(m1).toEqual(m1);
});
it('should detect equality for same content', () => {
expect(MapWrapper.createFromStringMap({'a': 1})).toEqual(MapWrapper.createFromStringMap({'a': 1}));
});
it('should detect missing entries', () => {
expect(MapWrapper.createFromStringMap({'a': 1})).not.toEqual(MapWrapper.createFromStringMap({}));
});
it('should detect different values', () => {
expect(MapWrapper.createFromStringMap({'a': 1})).not.toEqual(MapWrapper.createFromStringMap({'a': 2}));
});
it('should detect additional entries', () => {
expect(MapWrapper.createFromStringMap({'a': 1})).not.toEqual(MapWrapper.createFromStringMap({'a': 1, 'b': 1}));
});
});
});
}