// Copyright (c) 2019, 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. @Tags(['daily']) @TestOn('vm') @Timeout(Duration(minutes: 2)) library; import 'package:dwds/src/utilities/objects.dart'; import 'package:test/test.dart'; import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart'; void main() { group('Property', () { final exampleMap = {'objectId': '1234', 'value': 'abcd'}; test('from a map', () { // Verify that we behave the same whether created from a Map // or from a RemoteObject. final property = Property({'name': 'prop', 'value': exampleMap}); expect(property.rawValue, exampleMap); final value = property.value!; expect(value.objectId, '1234'); expect(value.value, 'abcd'); expect(property.name, 'prop'); }); test('from a RemoteObject', () { final remoteObject = RemoteObject({'objectId': '1234', 'value': 'abcd'}); final property = Property({'name': 'prop', 'value': remoteObject}); expect(property.rawValue, remoteObject); final value = property.value!; expect(value.objectId, '1234'); expect(value.value, 'abcd'); expect(property.name, 'prop'); }); test('stripping the "Symbol(" from a private field', () { final property = Property({ 'name': 'Symbol(_privateThing)', 'value': exampleMap, }); expect(property.name, '_privateThing'); }); }); }