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

Unified Diff: third_party/pkg/angular/test/directive/ng_model_select_spec.dart

Issue 257423008: Update all Angular libs (run update_all.sh). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: third_party/pkg/angular/test/directive/ng_model_select_spec.dart
diff --git a/third_party/pkg/angular/test/directive/input_select_spec.dart b/third_party/pkg/angular/test/directive/ng_model_select_spec.dart
similarity index 92%
rename from third_party/pkg/angular/test/directive/input_select_spec.dart
rename to third_party/pkg/angular/test/directive/ng_model_select_spec.dart
index 7fe66c8c7059ff96358635a2ddfb4d0a55589cfb..9ef64fbe14c214dddc9c1d119099801a84d6e909 100644
--- a/third_party/pkg/angular/test/directive/input_select_spec.dart
+++ b/third_party/pkg/angular/test/directive/ng_model_select_spec.dart
@@ -9,7 +9,7 @@ main() {
describe('ng-value', () {
TestBed _;
- beforeEach(inject((TestBed tb) => _ = tb));
+ beforeEach((TestBed tb) => _ = tb);
it('should retrieve using ng-value', () {
_.compile(
@@ -47,10 +47,10 @@ main() {
expect(_.rootElement).toEqualSelect([['r2d2'], 'c3p0']);
});
});
-
+
TestBed _;
- beforeEach(inject((TestBed tb) => _ = tb));
+ beforeEach((TestBed tb) => _ = tb);
describe('select-one', () {
it('should compile children of a select without a ngModel, but not create a model for it',
@@ -92,7 +92,7 @@ main() {
_.rootScope.context['robot'] = 'r2d2';
_.rootScope.apply();
- var select = _.rootScope.context['p'].directive(InputSelectDirective);
+ var select = _.rootScope.context['p'].directive(InputSelect);
expect(_.rootElement).toEqualSelect(['c3p0', ['r2d2']]);
_.rootElement.querySelectorAll('option')[0].selected = true;
@@ -152,7 +152,7 @@ main() {
'</select>');
_.rootScope.apply();
- var select = _.rootScope.context['p'].directive(InputSelectDirective);
+ var select = _.rootScope.context['p'].directive(InputSelect);
expect(_.rootElement).toEqualSelect(['', ['x'], 'y']);
@@ -182,7 +182,7 @@ main() {
'<option ng-repeat="r in robots">{{r}}</option>' +
'</select>');
_.rootScope.apply();
- var select = _.rootScope.context['p'].directive(InputSelectDirective);
+ var select = _.rootScope.context['p'].directive(InputSelect);
_.selectOption(_.rootElement, 'c3p0');
expect(_.rootElement).toEqualSelect(['', ['c3p0'], 'r2d2']);
@@ -426,7 +426,7 @@ main() {
describe('select from angular.js', () {
TestBed _;
- beforeEach(inject((TestBed tb) => _ = tb));
+ beforeEach((TestBed tb) => _ = tb);
var scope, formElement, element;
@@ -436,10 +436,10 @@ main() {
scope.apply();
}
- beforeEach(inject((Scope rootScope) {
+ beforeEach((Scope rootScope) {
scope = rootScope;
formElement = element = null;
- }));
+ });
afterEach(() {
@@ -497,15 +497,18 @@ main() {
});
- xit('should require', () {
+ it('should require', () {
compile(
- '<select name="select" ng-model="selection" required ng-change="change()">' +
+ '<select name="select" ng-model="selection" probe="i" required ng-change="change()">' +
'<option value=""></option>' +
'<option value="c">C</option>' +
'</select>');
+ var element = scope.context['i'].element;
+
+ scope.context['log'] = '';
scope.context['change'] = () {
- scope.log += 'change;';
+ scope.context['log'] += 'change;';
};
scope.apply(() {
@@ -513,36 +516,38 @@ main() {
scope.context['selection'] = 'c';
});
- expect(scope.context['form'].select.$error.required).toEqual(false);;
- expect(element).toEqualValid();
- expect(element).toEqualPristine();
+ expect(scope.context['form']['select'].hasErrorState('ng-required')).toEqual(false);
+ expect(scope.context['form']['select'].valid).toEqual(true);
+ expect(scope.context['form']['select'].pristine).toEqual(true);
scope.apply(() {
scope.context['selection'] = '';
});
- expect(scope.context['form'].select.$error.required).toEqual(true);;
- expect(element).toEqualInvalid();
- expect(element).toEqualPristine();
+ expect(scope.context['form']['select'].hasErrorState('ng-required')).toEqual(true);
+ expect(scope.context['form']['select'].invalid).toEqual(true);
+ expect(scope.context['form']['select'].pristine).toEqual(true);
expect(scope.context['log']).toEqual('');
- element[0].value = 'c';
+ element.value = 'c';
_.triggerEvent(element, 'change');
- expect(element).toEqualValid();
- expect(element).toEqualDirty();
+ scope.apply();
+
+ expect(scope.context['form']['select'].valid).toEqual(true);
+ expect(scope.context['form']['select'].dirty).toEqual(true);
expect(scope.context['log']).toEqual('change;');
});
- xit('should not be invalid if no require', () {
+ it('should not be invalid if no require', () {
compile(
'<select name="select" ng-model="selection">' +
'<option value=""></option>' +
'<option value="c">C</option>' +
'</select>');
- expect(element).toEqualValid();
- expect(element).toEqualPristine();
+ expect(scope.context['form']['select'].valid).toEqual(true);
+ expect(scope.context['form']['select'].pristine).toEqual(true);
});
@@ -616,32 +621,34 @@ main() {
expect(element).toEqualSelect([['A'], ['B']]);
});
- xit('should require', () {
+ it('should require', () {
compile(
- '<select name="select" ng-model="selection" multiple required>' +
+ '<select name="select" probe="i" ng-model="selection" multiple required>' +
'<option>A</option>' +
'<option>B</option>' +
'</select>');
+ var element = scope.context['i'].element;
scope.apply(() {
scope.context['selection'] = [];
});
- expect(scope.context['form'].select.$error.required).toEqual(true);;
- expect(element).toEqualInvalid();
- expect(element).toEqualPristine();
+ expect(scope.context['form']['select'].hasErrorState('ng-required')).toEqual(true);
+ expect(scope.context['form']['select'].invalid).toEqual(true);
+ expect(scope.context['form']['select'].pristine).toEqual(true);
scope.apply(() {
scope.context['selection'] = ['A'];
});
- expect(element).toEqualValid();
- expect(element).toEqualPristine();
+ expect(scope.context['form']['select'].valid).toEqual(true);
+ expect(scope.context['form']['select'].pristine).toEqual(true);
- element[0].value = 'B';
+ element.value = 'B';
_.triggerEvent(element, 'change');
- expect(element).toEqualValid();
- expect(element).toEqualDirty();
+
+ expect(scope.context['form']['select'].valid).toEqual(true);
+ expect(scope.context['form']['select'].dirty).toEqual(true);
});
});
@@ -858,43 +865,46 @@ main() {
});
- // TODO(misko): re-enable once we support group by
- xit('should bind to scope value and group', () {
- createSelect({
- 'ng-model': 'selected',
- 'ng-options': 'item.name group by item.group for item in values'
- });
+ it('should bind to scope value and group', () {
+ var element = _.compile(
+ '<select ng-model="selected" probe="p">'
+ '<optgroup label=\'{{ group["title"] }}\' ng-repeat="group in values">'
+ '<option value=\'{{ item["val"] }}\' '
+ 'ng-repeat=\'item in group["items"]\'>{{ item["name"] }}</option>'
+ '</optgroup>'
+ '</select>');
scope.apply(() {
- scope.context['values'] = [{'name': 'A'},
- {'name': 'B', group: 'first'},
- {'name': 'C', group: 'second'},
- {'name': 'D', group: 'first'},
- {'name': 'E', group: 'second'}];
- scope.context['selected'] = scope.context['values'][3];
+ scope.context['values'] = [
+ { 'title': 'first', 'items':
+ [{ 'val':'a', 'name' : 'A' }, { 'val':'c', 'name' : 'C' } ]},
+ { 'title': 'second', 'items':
+ [{ 'val':'b', 'name' : 'B' }, { 'val':'d', 'name' : 'D' } ]}
+ ];
+ scope.context['selected'] = scope.context['values'][1]['items'][0]['val'];
});
- expect(element).toEqualSelect(['A', 'B', ['D'], 'C', 'E']);
+ expect(element).toEqualSelect(['a', 'c', ['b'], 'd']);
var first = element.querySelectorAll('optgroup')[0];
var b = first.querySelectorAll('option')[0];
var d = first.querySelectorAll('option')[1];
- expect(first.attr('label')).toEqual('first');
- expect(b.text).toEqual('B');
- expect(d.text).toEqual('D');
+ expect(first.getAttribute('label')).toEqual('first');
+ expect(b.text).toEqual('A');
+ expect(d.text).toEqual('C');
var second = element.querySelectorAll('optgroup')[1];
var c = second.querySelectorAll('option')[0];
var e = second.querySelectorAll('option')[1];
- expect(second.attr('label')).toEqual('second');
- expect(c.text).toEqual('C');
- expect(e.text).toEqual('E');
+ expect(second.getAttribute('label')).toEqual('second');
+ expect(c.text).toEqual('B');
+ expect(e.text).toEqual('D');
scope.apply(() {
- scope.context['selected'] = scope.context['values'][0];
+ scope.context['selected'] = scope.context['values'][0]['items'][1]['val'];
});
- expect(element.value).toEqual('0');
+ expect(element.value).toEqual('c');
});
@@ -1227,26 +1237,26 @@ main() {
element.value = '';
_.triggerEvent(element, 'change');
- expect(element).toEqualValid();
+ expect(element).toBeValid();
scope.apply(() {
scope.context['required'] = true;
});
- expect(element).toEqualInvalid();
+ expect(element).not.toBeValid();
scope.apply(() {
scope.context['value'] = scope.context['values'][0];
});
- expect(element).toEqualValid();
+ expect(element).toBeValid();
element.value = '';
_.triggerEvent(element, 'change');
- expect(element).toEqualInvalid();
+ expect(element).not.toBeValid();
scope.apply(() {
scope.context['required'] = false;
});
- expect(element).toEqualValid();
+ expect(element).toBeValid();
});
});
});
@@ -1272,9 +1282,9 @@ main() {
it('should not blow up when option directive is found inside of a datalist',
() {
- _.compile('<div>' +
- '<datalist><option>some val</option></datalist>' +
- '<span>{{foo}}</span>' +
+ _.compile('<div>'
+ '<datalist><option>some val</option></datalist>'
+ '<span>{{foo}}</span>'
'</div>');
_.rootScope.context['foo'] = 'success';

Powered by Google App Engine
This is Rietveld 408576698