| // 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. |
| |
| import 'dart:html'; |
| import 'dart:typed_data'; |
| |
| import 'package:expect/minitest.dart'; |
| |
| main() { |
| test('basic', () { |
| var b = new Blob([]); |
| expect(b.size, 0); |
| }); |
| |
| test('type1', () { |
| // OPTIONALS var b = new Blob(['Harry'], type: 'text'); |
| var b = new Blob(['Harry'], 'text'); |
| expect(b.size, 5); |
| expect(b.type, 'text'); |
| }); |
| |
| test('endings1', () { |
| // OPTIONALS var b = new Blob(['A\nB\n'], endings: 'transparent'); |
| var b = new Blob(['A\nB\n'], null, 'transparent'); |
| expect(b.size, 4); |
| }); |
| |
| test('endings2', () { |
| // OPTIONALS var b = new Blob(['A\nB\n'], endings: 'native'); |
| var b = new Blob(['A\nB\n'], null, 'native'); |
| expect(b.size, predicate((x) => x == 4 || x == 6), |
| reason: "b.size should be 4 or 6"); |
| }); |
| |
| test('twoStrings', () { |
| // OPTIONALS var b = new Blob(['123', 'xyz'], type: 'text/plain;charset=UTF-8'); |
| var b = new Blob(['123', 'xyz'], 'text/plain;charset=UTF-8'); |
| expect(b.size, 6); |
| }); |
| |
| test('fromBlob1', () { |
| var b1 = new Blob([]); |
| var b2 = new Blob([b1]); |
| expect(b2.size, 0); |
| }); |
| |
| test('fromBlob2', () { |
| var b1 = new Blob(['x']); |
| var b2 = new Blob([b1, b1]); |
| expect(b1.size, 1); |
| expect(b2.size, 2); |
| }); |
| |
| test('fromArrayBuffer', () { |
| var a = new Uint8List(100).buffer; // i.e. new ArrayBuffer(100); |
| var b = new Blob([a, a]); |
| expect(b.size, 200); |
| }); |
| } |