meter_element.rs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. use wasm_bindgen::prelude::*;
  2. use wasm_bindgen_test::*;
  3. use web_sys::HtmlMeterElement;
  4. #[wasm_bindgen(module = "/tests/wasm/element.js")]
  5. extern "C" {
  6. fn new_meter() -> HtmlMeterElement;
  7. }
  8. #[wasm_bindgen_test]
  9. fn test_meter_element() {
  10. let meter = new_meter();
  11. meter.set_min(-5.);
  12. assert_eq!(
  13. meter.min(),
  14. -5.,
  15. "Meter should have the min value we gave it."
  16. );
  17. meter.set_max(5.);
  18. assert_eq!(
  19. meter.max(),
  20. 5.,
  21. "Meter should have the max value we gave it."
  22. );
  23. meter.set_value(2.);
  24. assert_eq!(meter.value(), 2., "Meter should have the value we gave it.");
  25. meter.set_low(-1.);
  26. assert_eq!(
  27. meter.low(),
  28. -1.,
  29. "Meter should have the low value we gave it."
  30. );
  31. meter.set_high(1.);
  32. assert_eq!(
  33. meter.high(),
  34. 1.,
  35. "Meter should have the high value we gave it."
  36. );
  37. meter.set_optimum(3.);
  38. assert_eq!(
  39. meter.optimum(),
  40. 3.,
  41. "Meter should have the optimum value we gave it."
  42. );
  43. assert!(
  44. meter.labels().length() == 0,
  45. "Our meter shouldn't have any labels associated with it."
  46. );
  47. }