blob: ea3ec66c39fa7c8a8dea8d303842a8dfdbf639e3 [file] [log] [blame]
// 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 blob_test;
import '../../pkg/unittest/lib/unittest.dart';
import '../../pkg/unittest/lib/html_config.dart';
import 'dart:html';
import 'dart:typed_data';
main() {
useHtmlConfiguration();
test('basic', () {
var b = new Blob([]);
expect(b.size, isZero);
});
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, (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, isZero);
});
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);
});
}