Commit 3d5115c
Another attribute test
Changed files (5)
modifiedtests/alltests.rsaddedtests/componentattribute.rsdeletedtests/componentref.rsaddedtests/simple.rsaddedtests/smallcomponent.rs
Diff
@@ -5,6 +5,6 @@ pub use common::setup_test; wasm_bindgen_test_configure!(run_in_browser); -mod componentref;+mod componentattribute; mod simple; mod smallcomponent;new file mode 100644@@ -0,0 +1,83 @@+#[path = "common.rs"]+mod common;++use kaja_web::prelude::*;+use kaja_web_component::component;+use wasm_bindgen_test::*;++#[wasm_bindgen_test]+fn test_attributes_in_component() {+ common::setup_test();++ let id = "test-id-for-component";+ let content = html! {{+ <test-get-set-id id="$id" number="1" test_attribute="initial-value-for-attribute"></test-get-set-id>+ }};++ inner_html("#test-div", &content).unwrap();++ let component = Test2Component::get_component(id).expect("Component not found in global store");++ let attr = component.get_attribute_string("number").unwrap();+ assert_eq!(attr, "1");++ let typed_attr: i32 = component.get_attribute("number").unwrap();+ assert_eq!(typed_attr, 1);++ let _ = component.set_attribute("number", "100");+ let attr = component.get_attribute_string("number").unwrap();+ assert_eq!(attr, "100");++ let typed_attr = component.get_attribute::<i32>("number").unwrap();+ assert_eq!(typed_attr, 100);++ let _ = component.set_attribute("number", "SOMETHING_NOT_i32"); // NAN++ let attr = component.get_attribute_string("number").unwrap();+ assert_eq!(attr, "100");++ let typed_attr: i32 = component.get_attribute("number").unwrap();+ assert_eq!(typed_attr, 100);++ {+ let test2_inner = component.get_attributes();+ let test2 = test2_inner.borrow();+ log!("test2 number:", test2.number);+ }++ {+ let element = get_element_by_id(id);+ assert!(element.is_some());++ let element = element.unwrap();+ let err = element.set_attribute("number", "SOMETHING_NOT_i32_in_JS");+ assert!(err.is_err());+ }+}++#[component("test-get-set-id")]+struct Test2 {+ test: bool,+ number: i32,+}++impl Component for Test2Component {+ fn connected(&self) {+ log!("Connected:", self.get_id());+ }++ fn disconnected(&self) {+ log!("Disconnected:", self.get_id());+ }++ fn attribute_changed(&self, name: &str, old_value: &str, new_value: &str) {+ log!(+ "Attribute changed:",+ name,+ "old:",+ old_value,+ "new:",+ new_value+ );+ }+}deleted file mode 100644@@ -1,75 +0,0 @@-#[path = "common.rs"]-mod common;--use kaja_web::prelude::*;-use kaja_web_component::component;-use wasm_bindgen_test::*;--#[wasm_bindgen_test]-fn test_new_component() {- common::setup_test();-- let id = "test-id-for-component";- let content = html! {{- <test-get-set-id id="$id" number="1" test_attribute="initial-value-for-attribute"></test-get-set-id>- }};-- inner_html("#test-div", &content).unwrap();-- let component = Test2Component::get_component(id).expect("Component not found in global store");-- let attr = component.get_attribute_string("number").unwrap();- assert_eq!(attr, "1");-- let typed_attr: i32 = component.get_attribute("number").unwrap();- assert_eq!(typed_attr, 1);-- let _ = component.set_attribute("number", "100");- let attr = component.get_attribute_string("number").unwrap();- assert_eq!(attr, "100");-- let typed_attr = component.get_attribute::<i32>("number").unwrap();- assert_eq!(typed_attr, 100);-- let _ = component.set_attribute("number", "SOMETHING_NOT_i32"); // NAN-- let attr = component.get_attribute_string("number").unwrap();- assert_eq!(attr, "100");-- let typed_attr: i32 = component.get_attribute("number").unwrap();- assert_eq!(typed_attr, 100);-- {- let test2_inner = component.get_attributes();- let test2 = test2_inner.borrow();- log!("test2 number:", test2.number);- }-}--#[component("test-get-set-id")]-struct Test2 {- test: bool,- number: i32,-}--impl Component for Test2Component {- fn connected(&self) {- log!("Connected:", self.get_id());- log!("Set number");- }-- fn disconnected(&self) {- log!("Disconnected:", self.get_id());- }-- fn attribute_changed(&self, name: &str, old_value: &str, new_value: &str) {- log!(- "Attribute changed:",- name,- "old:",- old_value,- "new:",- new_value- );- }-}new file mode 100644@@ -0,0 +1,22 @@+use kaja_web::{get_cookie_value, set_cookie_value};+use wasm_bindgen_test::*;++wasm_bindgen_test_configure!(run_in_browser);++#[wasm_bindgen_test]+fn test_dom() {+ let window = web_sys::window().unwrap();+ let document = window.document().unwrap();+ assert!(document.body().is_some());+}++#[wasm_bindgen_test]+fn test_cookie() {+ set_cookie_value("test-cookie-value", "some-value").unwrap();++ let val = get_cookie_value("test-cookie-value").unwrap();+ assert_eq!(val, "some-value");++ let not_in_cookie = get_cookie_value("not-in-cookie");+ assert!(not_in_cookie.is_none());+}new file mode 100644@@ -0,0 +1,33 @@+#![allow(unreachable_code, dead_code)]++#[path = "common.rs"]+mod common;++use kaja_web::prelude::*;+use kaja_web_component::component;+use wasm_bindgen_test::*;++#[wasm_bindgen_test]+fn test_small_component() {+ common::setup_test();++ let content = html! {{+ <test-component></test-component>+ }};++ inner_html("#test-div", &content).unwrap();++ let element = get_element("test-component").unwrap();+ let id = element.id();+ assert_ne!(id, "");++ let component =+ Test1Component::get_component(id.as_str()).expect("Component not found in global store");++ assert_ne!(component.get_id(), "");+}++#[component("test-component")]+struct Test1 {}++impl Component for Test1Component {}