82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import { expect } from "chai";
 | 
						|
import { init, Hash } from "crate";
 | 
						|
init();
 | 
						|
 | 
						|
// TODO: wasm_bindgen doesn't currently support exporting constants
 | 
						|
const HASH_BYTES = 32;
 | 
						|
 | 
						|
describe("Hash", function () {
 | 
						|
  it("invalid", () => {
 | 
						|
    expect(() => {
 | 
						|
      new Hash([
 | 
						|
        3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
        0, 0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
      ]);
 | 
						|
    }).to.throw();
 | 
						|
 | 
						|
    expect(() => {
 | 
						|
      new Hash([
 | 
						|
        'invalid', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
        0, 0, 0, 0, 0, 0, 0,
 | 
						|
      ]);
 | 
						|
    }).to.throw();
 | 
						|
 | 
						|
    expect(() => {
 | 
						|
      new Hash(
 | 
						|
        "0x300000000000000000000000000000000000000000000000000000000000000000000"
 | 
						|
      );
 | 
						|
    }).to.throw();
 | 
						|
 | 
						|
    expect(() => {
 | 
						|
      new Hash(
 | 
						|
        "0x300000000000000000000000000000000000000000000000000000000000000"
 | 
						|
      );
 | 
						|
    }).to.throw();
 | 
						|
 | 
						|
    expect(() => {
 | 
						|
      new Hash(
 | 
						|
        "135693854574979916511997248057056142015550763280047535983739356259273198796800000"
 | 
						|
      );
 | 
						|
    }).to.throw();
 | 
						|
 | 
						|
    expect(() => {
 | 
						|
      new Hash("12345");
 | 
						|
    }).to.throw();
 | 
						|
  });
 | 
						|
 | 
						|
  it("toString", () => {
 | 
						|
    const key = new Hash("CiDwVBFgWV9E5MvXWoLgnEgn2hK7rJikbvfWavzAQz3");
 | 
						|
    expect(key.toString()).to.eq("CiDwVBFgWV9E5MvXWoLgnEgn2hK7rJikbvfWavzAQz3");
 | 
						|
 | 
						|
    const key2 = new Hash("1111111111111111111111111111BukQL");
 | 
						|
    expect(key2.toString()).to.eq("1111111111111111111111111111BukQL");
 | 
						|
 | 
						|
    const key3 = new Hash("11111111111111111111111111111111");
 | 
						|
    expect(key3.toString()).to.eq("11111111111111111111111111111111");
 | 
						|
 | 
						|
    const key4 = new Hash([
 | 
						|
      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
      0, 0, 0, 0, 0, 0, 0,
 | 
						|
    ]);
 | 
						|
    expect(key4.toString()).to.eq("11111111111111111111111111111111");
 | 
						|
  });
 | 
						|
 | 
						|
  it("toBytes", () => {
 | 
						|
    const key = new Hash("CiDwVBFgWV9E5MvXWoLgnEgn2hK7rJikbvfWavzAQz3");
 | 
						|
    expect(key.toBytes()).to.deep.equal(
 | 
						|
      new Uint8Array([
 | 
						|
        3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
        0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
      ])
 | 
						|
    );
 | 
						|
 | 
						|
    const key2 = new Hash();
 | 
						|
    expect(key2.toBytes()).to.deep.equal(
 | 
						|
      new Uint8Array([
 | 
						|
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
        0, 0, 0, 0, 0, 0, 0, 0,
 | 
						|
      ])
 | 
						|
    );
 | 
						|
  });
 | 
						|
});
 |