tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

unprintableNames.https.any.js (1509B)


      1 // META: title=test graph inputs/outputs with unprintable names
      2 // META: global=window,worker
      3 // META: variant=?cpu
      4 // META: variant=?gpu
      5 // META: variant=?npu
      6 // META: script=../resources/utils.js
      7 // META: timeout=long
      8 
      9 'use strict';
     10 
     11 let mlContext;
     12 
     13 // Skip tests if WebNN is unimplemented.
     14 promise_setup(async () => {
     15  assert_implements(navigator.ml, 'missing navigator.ml');
     16  mlContext = await navigator.ml.createContext(contextOptions);
     17 });
     18 
     19 promise_test(async () => {
     20  const operandDescriptor = {
     21    dataType: 'float32',
     22    shape: [1],
     23  };
     24 
     25  // Construct a simple graph: A = B * 2.
     26  const builder = new MLGraphBuilder(mlContext);
     27  const inputOperand = builder.input('input\x00tensor', operandDescriptor);
     28  const constantOperand =
     29      builder.constant(operandDescriptor, Float32Array.from([2]));
     30  const outputOperand = builder.mul(inputOperand, constantOperand);
     31  const mlGraph = await builder.build({'output\x00tensor': outputOperand});
     32 
     33  const [inputTensor, outputTensor] = await Promise.all([
     34    mlContext.createTensor({dataType: 'float32', shape: [1], writable: true}),
     35    mlContext.createTensor({dataType: 'float32', shape: [1], readable: true})
     36  ]);
     37 
     38  mlContext.writeTensor(inputTensor, Float32Array.from([1]));
     39 
     40  mlContext.dispatch(
     41      mlGraph, {'input\x00tensor': inputTensor},
     42      {'output\x00tensor': outputTensor});
     43 
     44  const output = await mlContext.readTensor(outputTensor);
     45  assert_equals(new Float32Array(output)[0], 2);
     46 }, 'tensor names can include null bytes');