Files
sdk/tests/html/htmloptionscollection_test.dart
T
blois@google.com 2b0a34730c Fixing htmlcollectionoptions test to behave the same on all platforms.
Basically the options collection had different behavior between dartium and dart2js because of some polyfill limitations. I've unified the behavior.

BUG=3813

Review URL: https://codereview.chromium.org//11606021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16301 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-19 01:30:27 +00:00

40 lines
1.4 KiB
Dart

// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library HTMLOptionsCollectionTest;
import '../../pkg/unittest/lib/unittest.dart';
import '../../pkg/unittest/lib/html_config.dart';
import 'dart:html';
main() {
useHtmlConfiguration();
test('indexedAccessTest', () {
// FIXME: we need some massaging to dart:html to enable HTMLOptionsCollection.add
// and hence programatic building of collection.
final selectElement = new Element.html('''
<select>
<option value="0">Option0</option>
<option value="1">Option1</option>
<option value="2">Option2</option>
''');
final optionsCollection = selectElement.options;
expect(optionsCollection[0].value, equals('0'));
expect(optionsCollection[1].value, equals('1'));
expect(optionsCollection[2].value, equals('2'));
expect(optionsCollection[0].text, equals('Option0'));
expect(optionsCollection[1].text, equals('Option1'));
expect(optionsCollection[2].text, equals('Option2'));
expect(() { optionsCollection[0] = 1; }, throws);
// OPTIONALS optionsCollection[0] = new OptionElement(value: '42', data: 'Option42');
expect(() {
optionsCollection[0] = new OptionElement('Option42', '42');
}, throws);
});
}