| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 dart_library.library('lib/html/url_test', null, /* Imports */[ | 
|  | 2   'dart_sdk', | 
|  | 3   'unittest' | 
|  | 4 ], function load__url_test(exports, dart_sdk, unittest) { | 
|  | 5   'use strict'; | 
|  | 6   const core = dart_sdk.core; | 
|  | 7   const html = dart_sdk.html; | 
|  | 8   const typed_data = dart_sdk.typed_data; | 
|  | 9   const _interceptors = dart_sdk._interceptors; | 
|  | 10   const dart = dart_sdk.dart; | 
|  | 11   const dartx = dart_sdk.dartx; | 
|  | 12   const html_config = unittest.html_config; | 
|  | 13   const unittest$ = unittest.unittest; | 
|  | 14   const src__matcher__expect = unittest.src__matcher__expect; | 
|  | 15   const src__matcher__numeric_matchers = unittest.src__matcher__numeric_matchers
    ; | 
|  | 16   const src__matcher__string_matchers = unittest.src__matcher__string_matchers; | 
|  | 17   const url_test = Object.create(null); | 
|  | 18   let JSArrayOfUint8List = () => (JSArrayOfUint8List = dart.constFn(_interceptor
    s.JSArray$(typed_data.Uint8List)))(); | 
|  | 19   let EventTovoid = () => (EventTovoid = dart.constFn(dart.functionType(dart.voi
    d, [html.Event])))(); | 
|  | 20   let VoidToBlob = () => (VoidToBlob = dart.constFn(dart.definiteFunctionType(ht
    ml.Blob, [])))(); | 
|  | 21   let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFun
    ctionType(dart.dynamic, [dart.dynamic])))(); | 
|  | 22   let EventTovoid$ = () => (EventTovoid$ = dart.constFn(dart.definiteFunctionTyp
    e(dart.void, [html.Event])))(); | 
|  | 23   let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionT
    ype(dart.dynamic, [])))(); | 
|  | 24   let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(da
    rt.void, [])))(); | 
|  | 25   url_test.main = function() { | 
|  | 26     html_config.useHtmlConfiguration(); | 
|  | 27     function createImageBlob() { | 
|  | 28       let canvas = html.CanvasElement.new(); | 
|  | 29       canvas[dartx.width] = 100; | 
|  | 30       canvas[dartx.height] = 100; | 
|  | 31       let context = canvas[dartx.context2D]; | 
|  | 32       context[dartx.fillStyle] = 'red'; | 
|  | 33       context[dartx.fillRect](0, 0, canvas[dartx.width], canvas[dartx.height]); | 
|  | 34       let dataUri = canvas[dartx.toDataUrl]('image/png'); | 
|  | 35       let byteString = html.window[dartx.atob](dataUri[dartx.split](',')[dartx.g
    et](1)); | 
|  | 36       let mimeString = dataUri[dartx.split](',')[dartx.get](0)[dartx.split](':')
    [dartx.get](1)[dartx.split](';')[dartx.get](0); | 
|  | 37       let arrayBuffer = typed_data.Uint8List.new(byteString[dartx.length]); | 
|  | 38       let dataArray = typed_data.Uint8List.view(arrayBuffer[dartx.buffer]); | 
|  | 39       for (let i = 0; i < dart.notNull(byteString[dartx.length]); i++) { | 
|  | 40         dataArray[dartx.set](i, byteString[dartx.codeUnitAt](i)); | 
|  | 41       } | 
|  | 42       let blob = html.Blob.new(JSArrayOfUint8List().of([arrayBuffer]), 'image/pn
    g'); | 
|  | 43       return blob; | 
|  | 44     } | 
|  | 45     dart.fn(createImageBlob, VoidToBlob()); | 
|  | 46     unittest$.group('blob', dart.fn(() => { | 
|  | 47       unittest$.test('createObjectUrlFromBlob', dart.fn(() => { | 
|  | 48         let blob = createImageBlob(); | 
|  | 49         let url = html.Url.createObjectUrlFromBlob(blob); | 
|  | 50         src__matcher__expect.expect(url[dartx.length], src__matcher__numeric_mat
    chers.greaterThan(0)); | 
|  | 51         src__matcher__expect.expect(url, src__matcher__string_matchers.startsWit
    h('blob:')); | 
|  | 52         let img = html.ImageElement.new(); | 
|  | 53         img[dartx.onLoad].listen(EventTovoid()._check(unittest$.expectAsync(dart
    .fn(_ => { | 
|  | 54           src__matcher__expect.expect(img[dartx.complete], true); | 
|  | 55         }, dynamicTodynamic())))); | 
|  | 56         img[dartx.onError].listen(dart.fn(_ => { | 
|  | 57           src__matcher__expect.fail('URL failed to load.'); | 
|  | 58         }, EventTovoid$())); | 
|  | 59         img[dartx.src] = url; | 
|  | 60       }, VoidTodynamic())); | 
|  | 61       unittest$.test('revokeObjectUrl', dart.fn(() => { | 
|  | 62         let blob = createImageBlob(); | 
|  | 63         let url = html.Url.createObjectUrlFromBlob(blob); | 
|  | 64         src__matcher__expect.expect(url, src__matcher__string_matchers.startsWit
    h('blob:')); | 
|  | 65         html.Url.revokeObjectUrl(url); | 
|  | 66         let img = html.ImageElement.new(); | 
|  | 67         img[dartx.onError].listen(EventTovoid()._check(unittest$.expectAsync(dar
    t.fn(_ => { | 
|  | 68         }, dynamicTodynamic())))); | 
|  | 69         img[dartx.onLoad].listen(dart.fn(_ => { | 
|  | 70           src__matcher__expect.fail('URL should not have loaded.'); | 
|  | 71         }, EventTovoid$())); | 
|  | 72         img[dartx.src] = url; | 
|  | 73       }, VoidTodynamic())); | 
|  | 74     }, VoidTovoid())); | 
|  | 75   }; | 
|  | 76   dart.fn(url_test.main, VoidTodynamic()); | 
|  | 77   // Exports: | 
|  | 78   exports.url_test = url_test; | 
|  | 79 }); | 
| OLD | NEW | 
|---|